- PROJECT_ROOT =
{
key: OptionKeys::PROJECT_ROOT,
desc: "Project root. An abs path, a rel path, "\
"or remote (/foo, foo, @foo/bar)",
aliases: "-p"
}
- REVISION_TAG =
{
key: OptionKeys::REVISION_TAG,
desc: "Use this version of the Kerbi templating "\
"engine (given by [PROJECT_URI]).",
aliases: "-p"
}
- K8S_AUTH_TYPE =
{
key: OptionKeys::K8S_AUTH_TYPE,
desc: "Kubernetes cluster authentication type. Uses " \
"kube-config if unspecified.",
enum: %w[kube-config in-cluster token]
}.freeze
- KUBE_CONFIG_PATH =
{
key: OptionKeys::KUBE_CONFIG_PATH,
desc: "Path to your kube-config file. Uses " \
"~/.kube/config if unspecified."
}.freeze
- KUBE_CONFIG_CONTEXT =
{
key: OptionKeys::KUBE_CONFIG_CONTEXT,
desc: "Context to use in your kube config. "\
"Uses current context if unspecified."
}.freeze
- K8S_USERNAME =
{
key: OptionKeys::K8S_USERNAME,
desc: "Kubernetes auth username for basic password auth"
}.freeze
- K8S_PASSWORD =
{
key: OptionKeys::K8S_PASSWORD,
desc: "Kubernetes auth password for basic password auth"
}.freeze
- LOAD_DEFAULT_VALUES =
{
key: OptionKeys::LOAD_DEFAULT_VALUES,
desc: "Whether or not to automatically load values.yaml.",
type: "boolean",
default: true
}.freeze
- KUBE_ACCESS_TOKEN =
{
key: OptionKeys::KUBE_ACCESS_TOKEN,
desc: "Kubernetes auth bearer token for token auth"
}.freeze
- RELEASE_NAME =
{
key: OptionKeys::RELEASE_NAME,
desc: "Release name for commands where state I/O is optional"
}
- STATE_BACKEND_TYPE =
{
key: OptionKeys::STATE_BACKEND_TYPE,
desc: "Type of persistent store to read/write this release's state.",
enum: %w[configmap secret]
}.freeze
- OUTPUT_FMT =
{
key: OptionKeys::OUTPUT_FMT,
aliases: "-o",
desc: "In what format resulting data should be printed",
enum: %w[yaml json table]
}.freeze
- INLINE_ASSIGNMENT =
{
key: OptionKeys::INLINE_ASSIGNMENT,
aliases: "--set",
desc: "Merge value from this assignment, "\
"e.g --set x.y=foo. Multiple --set are allowed.",
repeatable: true
}.freeze
- READ_STATE =
{
key: OptionKeys::READ_STATE,
desc: "Merge values from state with this tag.",
}.freeze
- STRICT_READ_STATE =
{
key: OptionKeys::STRICT_READ_STATE,
desc: "Makes read-state operations fail if the " \
"state does not exist for the given tag",
}.freeze
- WRITE_STATE =
{
key: OptionKeys::WRITE_STATE,
desc: "Write compiled values into new or existing state record" \
"with this tag."
}.freeze
- NAMESPACE =
{
key: OptionKeys::NAMESPACE,
aliases: "-n",
desc: "Use this Kubernetes namespace instead of [RELEASE_NAME] "\
"for state I/O."
}.freeze
- VALUE_FNAMES =
{
key: OptionKeys::VALUE_FNAMES,
aliases: "-f",
desc: "Merge all values read from this file. Multiple " \
"-f are allowed.",
repeatable: true
}.freeze
- RUBY_VER =
{
key: OptionKeys::RUBY_VER,
desc: "Ruby version semver for autogenerated " \
"Gemfile."
}.freeze
- VERBOSE =
{
key: OptionKeys::VERBOSE,
desc: "Run in verbose mode",
type: "boolean"
}.freeze
- PRE_CONFIRM =
{
key: OptionKeys::PRE_CONFIRM,
desc: "Skip any CLI confirmation prompts",
type: "boolean"
}.freeze
- KUBERNETES_OPTIONS =
[
NAMESPACE,
STATE_BACKEND_TYPE,
READ_STATE,
WRITE_STATE,
K8S_AUTH_TYPE,
KUBE_CONFIG_PATH,
KUBE_CONFIG_CONTEXT,
KUBE_ACCESS_TOKEN
].freeze
- VALUES_OPTIONS =
[
VALUE_FNAMES,
INLINE_ASSIGNMENT,
LOAD_DEFAULT_VALUES,
].freeze