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" )
FeatureFlags returns a map that can be merged with os.Environ.
JujuXDGDataHome returns the current juju home.
JujuXDGDataHomeDir returns the directory where juju should store application-specific files
JujuXDGDataHomePath returns the path to a file in the current juju home.
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.
SetJujuXDGDataHome sets the value of juju home and returns the current one.