github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/feature/flags.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package feature
     5  
     6  // TODO (anastasiamac 2015-03-02)
     7  // Features that have commands that can be blocked,
     8  // command list for "juju block" and "juju unblock"
     9  // needs to be maintained until we can dynamically discover
    10  // these commands.
    11  
    12  // LogErrorStack is a developer feature flag to have the LoggedErrorStack
    13  // function in the utils package write out the error stack as defined by the
    14  // errors package to the logger.  The ability to log the error stack is very
    15  // useful in those error cases where you really don't expect there to be a
    16  // failure.  This means that the developers with this flag set will see the
    17  // stack trace in the log output, but normal deployments never will.
    18  const LogErrorStack = "log-error-stack"
    19  
    20  // DeveloperMode allows access to developer specific commands and behaviour.
    21  const DeveloperMode = "developer-mode"
    22  
    23  // StrictMigration will cause migration to error if there are unexported
    24  // values for annotations, status, status history, or settings.
    25  const StrictMigration = "strict-migration"
    26  
    27  // Branches will allow for model branches functionality to be used.
    28  const Branches = "branches"
    29  
    30  // Generations will allow for model generation functionality to be used.
    31  // This is a deprecated flag name and is synonymous with "branches" above.
    32  const Generations = "generations"
    33  
    34  // RawK8sSpec indicates that it's allowed to set k8s spec using raw yaml format.
    35  const RawK8sSpec = "raw-k8s-spec"