juju: github.com/wallyworld/juju/juju/osenv Index | Files

package osenv

import "github.com/wallyworld/juju/juju/osenv"


Package Files

home.go old_home.go vars.go


const (
    JujuControllerEnvKey    = "JUJU_CONTROLLER"
    JujuModelEnvKey         = "JUJU_MODEL"
    JujuXDGDataHomeEnvKey   = "JUJU_DATA"
    JujuLoggingConfigEnvKey = "JUJU_LOGGING_CONFIG"

    // JujuFeatureFlagEnvKey is used to enable prototype/developer only
    // features that we don't want to expose by default to the general user.
    // It is propagated to as an environment variable to all agents.
    JujuFeatureFlagEnvKey = "JUJU_DEV_FEATURE_FLAGS"

    // JujuFeatures is used to allow the general user to opt in to new, polished
    // features (primarily CLI enhancements) that may break backwards compatibility
    // so cannot be enabled by default until the next major Juju revision.
    // The features enabled by this flag are expected to have full doc available.
    JujuFeatures = "JUJU_FEATURES"

    // JujuStartupLoggingConfigEnvKey if set is used to configure the initial
    // logging before the command objects are even created to allow debugging
    // of the command creation and initialisation process.
    JujuStartupLoggingConfigEnvKey = "JUJU_STARTUP_LOGGING_CONFIG"

    // Registry key containing juju related information
    JujuRegistryKey = `HKLM:\SOFTWARE\juju-core`

    // Registry value where the jujud password resides
    JujuRegistryPasswordKey = `jujud-password`

    // TODO(thumper): 2013-09-02 bug 1219630
    // As much as I'd like to remove JujuContainerType now, it is still
    // needed as MAAS still needs it at this stage, and we can't fix
    // everything at once.
    JujuContainerTypeEnvKey = "JUJU_CONTAINER_TYPE"

    // JujuStatusIsoTimeEnvKey is the env var which if true, will cause status
    // timestamps to be written in RFC3339 format.
    JujuStatusIsoTimeEnvKey = "JUJU_STATUS_ISO_TIME"

    // XDGDataHome is a path where data for the running user
    // should be stored according to the xdg standard.
    XDGDataHome = "XDG_DATA_HOME"

func FeatureFlags Uses

func FeatureFlags() map[string]string

FeatureFlags returns a map that can be merged with os.Environ.

func Juju1xEnvConfigExists Uses

func Juju1xEnvConfigExists() bool

Juju1xEnvConfigExists returns true if there is an environments.yaml file in the expected juju 1.x directory.

func JujuXDGDataHome Uses

func JujuXDGDataHome() string

JujuXDGDataHome returns the current juju home.

func JujuXDGDataHomeDir Uses

func JujuXDGDataHomeDir() string

JujuXDGDataHomeDir returns the directory where juju should store application-specific files

func JujuXDGDataHomePath Uses

func JujuXDGDataHomePath(names ...string) string

JujuXDGDataHomePath returns the path to a file in the current juju home.

func MergeEnvironment Uses

func MergeEnvironment(current, newValues map[string]string) map[string]string

MergeEnvironment will return the current environment updated with all the values from newValues. If current is nil, a new map is created. If current is not nil, it is mutated.

func OldJujuHomeDir Uses

func OldJujuHomeDir() string

OldJujuHomeDir returns the directory where juju 1.x stored application-specific files.

func SetJujuXDGDataHome Uses

func SetJujuXDGDataHome(newJujuXDGDataHomeHome string) string

SetJujuXDGDataHome sets the value of juju home and returns the current one.

Package osenv imports 7 packages (graph). Updated 2020-05-11. Refresh now. Tools for package owners.