diff --git a/CHANGELOG.md b/CHANGELOG.md index 977d01b6..3ec9f3b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ CHANGELOG - Fix clean up logic on reconcile [#203](https://github.com/pulumi/pulumi-kubernetes-operator/pull/203) - Fix stack refresh for BYO backend [#200](https://github.com/pulumi/pulumi-kubernetes-operator/pull/200) - Bump to pulumi v3.13.2 [#207](https://github.com/pulumi/pulumi-kubernetes-operator/pull/207) +- Add docs for Stack CR [#205](https://github.com/pulumi/pulumi-kubernetes-operator/pull/205) ## 0.0.20 (2021-09-27) - Improve workdir cleanup logic [#195](https://github.com/pulumi/pulumi-kubernetes-operator/pull/195) diff --git a/Makefile b/Makefile index 58dd70ba..1552e929 100644 --- a/Makefile +++ b/Makefile @@ -10,17 +10,23 @@ default: build install-crds: kubectl apply -f deploy/crds/pulumi.com_stacks.yaml -codegen: install-controller-gen generate-k8s generate-crds +codegen: install-controller-gen install-crdoc generate-k8s generate-crds generate-crdocs install-controller-gen: @echo "Installing controller-gen to GOPATH/bin"; pushd /tmp >& /dev/null && go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.5.0 ; popd >& /dev/null +install-crdoc: + @echo "Installing crdoc to go GOPATH/bin"; pushd /tmp >& /dev/null && go install fybrik.io/crdoc@v0.5.2; popd >& /dev/null + generate-crds: ./scripts/generate_crds.sh generate-k8s: ./scripts/generate_k8s.sh +generate-crdocs: + crdoc --resources deploy/crds/pulumi.com_stacks.yaml --output docs/stacks.md + build-image: build-static docker build --rm -t $(IMAGE_NAME):$(VERSION) -f Dockerfile . diff --git a/README.md b/README.md index 32cd3390..f7ef4346 100644 --- a/README.md +++ b/README.md @@ -910,6 +910,10 @@ Check out [Create Pulumi Stacks using Pulumi](./docs/create-stacks-using-pulumi. - [Managing a Kubernetes Blue/Green Deployment](./examples/blue-green) - [AWS S3 Buckets](./examples/aws-s3) +### Stack CR Documentation + +- Detailed documentation on Stack Custom Resource is available [here](./docs/stacks.md) + ## Development Check out [docs/build.md](./docs/build.md) for more details on building and diff --git a/deploy/crds/pulumi.com_stacks.yaml b/deploy/crds/pulumi.com_stacks.yaml index 40d6b931..dc592a4c 100644 --- a/deploy/crds/pulumi.com_stacks.yaml +++ b/deploy/crds/pulumi.com_stacks.yaml @@ -36,7 +36,7 @@ spec: description: '(optional) AccessTokenSecret is the name of a secret containing the PULUMI_ACCESS_TOKEN for Pulumi access. Deprecated: use EnvRefs with a "secret" entry with the key PULUMI_ACCESS_TOKEN instead.' type: string backend: - description: '(optional) Backend is an optional backend URL to use for all Pulumi operations. Examples: - Pulumi Service: "https://app.pulumi.com" (default) - Self-managed Pulumi Service: "https://pulumi.acmecorp.com" - Local: "file://./einstein" - AWS: "s3://" - Azure: "azblob://" - GCP: "gs://" See: https://www.pulumi.com/docs/intro/concepts/state/' + description: '(optional) Backend is an optional backend URL to use for all Pulumi operations.
Examples:
- Pulumi Service: "https://app.pulumi.com" (default)
- Self-managed Pulumi Service: "https://pulumi.acmecorp.com"
- Local: "file://./einstein"
- AWS: "s3://"
- Azure: "azblob://"
- GCP: "gs://"
See: https://www.pulumi.com/docs/intro/concepts/state/' type: string branch: description: (optional) Branch is the branch name to deploy, either the simple or fully qualified ref name, e.g. refs/heads/master. This is mutually exclusive with the Commit setting. Either value needs to be specified. diff --git a/docs/stacks.md b/docs/stacks.md new file mode 100644 index 00000000..29237987 --- /dev/null +++ b/docs/stacks.md @@ -0,0 +1,1664 @@ +# API Reference + +Packages: + +- [pulumi.com/v1alpha1](#pulumicomv1alpha1) + +# pulumi.com/v1alpha1 + +Resource Types: + +- [Stack](#stack) + + + + +## Stack +[↩ Parent](#pulumicomv1alpha1 ) + + + + + + +Stack is the Schema for the stacks API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
apiVersionstringpulumi.com/v1alpha1true
kindstringStacktrue
metadataobjectRefer to the Kubernetes API documentation for the fields of the `metadata` field.true
specobject + StackSpec defines the desired state of Pulumi Stack being managed by this operator.
+
false
statusobject + StackStatus defines the observed state of Stack
+
false
+ + +### Stack.spec +[↩ Parent](#stack) + + + +StackSpec defines the desired state of Pulumi Stack being managed by this operator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
projectRepostring + ProjectRepo is the git source control repository from which we fetch the project code and configuration.
+
true
stackstring + Stack is the fully qualified name of the stack to deploy (/).
+
true
accessTokenSecretstring + (optional) AccessTokenSecret is the name of a secret containing the PULUMI_ACCESS_TOKEN for Pulumi access. Deprecated: use EnvRefs with a "secret" entry with the key PULUMI_ACCESS_KEY instead.
+
false
backendstring + (optional) Backend is an optional backend URL to use for all Pulumi operations.
Examples:
- Pulumi Service: "https://app.pulumi.com" (default)
- Self-managed Pulumi Service: "https://pulumi.acmecorp.com"
- Local: "file://./einstein"
- AWS: "s3://"
- Azure: "azblob://"
- GCP: "gs://"
See: https://www.pulumi.com/docs/intro/concepts/state/
+
false
branchstring + (optional) Branch is the branch name to deploy, either the simple or fully qualified ref name, e.g. refs/heads/master. This is mutually exclusive with the Commit setting. Either value needs to be specified.
+
false
commitstring + (optional) Commit is the hash of the commit to deploy. If used, HEAD will be in detached mode. This is mutually exclusive with the Branch setting. Either value needs to be specified.
+
false
configmap[string]string + (optional) Config is the configuration for this stack, which can be optionally specified inline. If this is omitted, configuration is assumed to be checked in and taken from the source repository.
+
false
destroyOnFinalizeboolean + (optional) DestroyOnFinalize can be set to true to destroy the stack completely upon deletion of the CRD.
+
false
envRefsmap[string]object + (optional) EnvRefs is an optional map containing environment variables as keys and stores descriptors to where the variables' values should be loaded from (one of literal, environment variable, file on the filesystem, or Kubernetes secret) as values.
+
false
envSecrets[]string + (optional) SecretEnvs is an optional array of secret names containing environment variables to set. Deprecated: use EnvRefs instead.
+
false
envs[]string + (optional) Envs is an optional array of config maps containing environment variables to set. Deprecated: use EnvRefs instead.
+
false
expectNoRefreshChangesboolean + (optional) ExpectNoRefreshChanges can be set to true if a stack is not expected to have changes during a refresh before the update is run. This could occur, for example, is a resource's state is changing outside of Pulumi (e.g., metadata, timestamps).
+
false
gitAuthobject + (optional) GitAuth allows configuring git authentication options There are 3 different authentication options: * SSH private key (and its optional password) * Personal access token * Basic auth username and password Only one authentication mode will be considered if more than one option is specified, with ssh private key/password preferred first, then personal access token, and finally basic auth credentials.
+
false
gitAuthSecretstring + (optional) GitAuthSecret is the the name of a secret containing an authentication option for the git repository. There are 3 different authentication options: * Personal access token * SSH private key (and it's optional password) * Basic auth username and password Only one authentication mode will be considered if more than one option is specified, with ssh private key/password preferred first, then personal access token, and finally basic auth credentials. Deprecated. Use GitAuth instead.
+
false
refreshboolean + (optional) Refresh can be set to true to refresh the stack before it is updated.
+
false
repoDirstring + (optional) RepoDir is the directory to work from in the project's source repository where Pulumi.yaml is located. It is used in case Pulumi.yaml is not in the project source root.
+
false
retryOnUpdateConflictboolean + (optional) RetryOnUpdateConflict issues a stack update retry reconciliation loop in the event that the update hits a HTTP 409 conflict due to another update in progress. This is only recommended if you are sure that the stack updates are idempotent, and if you are willing to accept retry loops until all spawned retries succeed. This will also create a more populated, and randomized activity timeline for the stack in the Pulumi Service.
+
false
secretsmap[string]string + (optional) Secrets is the secret configuration for this stack, which can be optionally specified inline. If this is omitted, secrets configuration is assumed to be checked in and taken from the source repository. Deprecated: use SecretRefs instead.
+
false
secretsProviderstring + (optional) SecretsProvider is used to initialize a Stack with alternative encryption. Examples: - AWS: "awskms://arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34bc-56ef-1234567890ab?region=us-east-1" - Azure: "azurekeyvault://acmecorpvault.vault.azure.net/keys/mykeyname" - GCP: "gcpkms://projects/MYPROJECT/locations/MYLOCATION/keyRings/MYKEYRING/cryptoKeys/MYKEY" - See: https://www.pulumi.com/docs/intro/concepts/secrets/#initializing-a-stack-with-alternative-encryption
+
false
secretsRefmap[string]object + (optional) SecretRefs is the secret configuration for this stack which can be specified through ResourceRef. If this is omitted, secrets configuration is assumed to be checked in and taken from the source repository.
+
false
useLocalStackOnlyboolean + (optional) UseLocalStackOnly can be set to true to prevent the operator from creating stacks that do not exist in the tracking git repo. The default behavior is to create a stack if it doesn't exist.
+
false
+ + +### Stack.spec.envRefs[key] +[↩ Parent](#stackspec) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.envRefs[key].env +[↩ Parent](#stackspecenvrefskey) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.envRefs[key].filesystem +[↩ Parent](#stackspecenvrefskey) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.envRefs[key].literal +[↩ Parent](#stackspecenvrefskey) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.envRefs[key].secret +[↩ Parent](#stackspecenvrefskey) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.gitAuth +[↩ Parent](#stackspec) + + + +(optional) GitAuth allows configuring git authentication options There are 3 different authentication options: * SSH private key (and its optional password) * Personal access token * Basic auth username and password Only one authentication mode will be considered if more than one option is specified, with ssh private key/password preferred first, then personal access token, and finally basic auth credentials. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
accessTokenobject + ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported.
+
false
basicAuthobject + BasicAuth configures git authentication through basic auth — i.e. username and password. Both UserName and Password are required.
+
false
sshAuthobject + SSHAuth configures ssh-based auth for git authentication. SSHPrivateKey is required but password is optional.
+
false
+ + +### Stack.spec.gitAuth.accessToken +[↩ Parent](#stackspecgitauth) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.gitAuth.accessToken.env +[↩ Parent](#stackspecgitauthaccesstoken) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.gitAuth.accessToken.filesystem +[↩ Parent](#stackspecgitauthaccesstoken) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.gitAuth.accessToken.literal +[↩ Parent](#stackspecgitauthaccesstoken) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.gitAuth.accessToken.secret +[↩ Parent](#stackspecgitauthaccesstoken) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.gitAuth.basicAuth +[↩ Parent](#stackspecgitauth) + + + +BasicAuth configures git authentication through basic auth — i.e. username and password. Both UserName and Password are required. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
passwordobject + ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported.
+
true
userNameobject + ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported.
+
true
+ + +### Stack.spec.gitAuth.basicAuth.password +[↩ Parent](#stackspecgitauthbasicauth) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.gitAuth.basicAuth.password.env +[↩ Parent](#stackspecgitauthbasicauthpassword) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.gitAuth.basicAuth.password.filesystem +[↩ Parent](#stackspecgitauthbasicauthpassword) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.gitAuth.basicAuth.password.literal +[↩ Parent](#stackspecgitauthbasicauthpassword) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.gitAuth.basicAuth.password.secret +[↩ Parent](#stackspecgitauthbasicauthpassword) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.gitAuth.basicAuth.userName +[↩ Parent](#stackspecgitauthbasicauth) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.gitAuth.basicAuth.userName.env +[↩ Parent](#stackspecgitauthbasicauthusername) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.gitAuth.basicAuth.userName.filesystem +[↩ Parent](#stackspecgitauthbasicauthusername) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.gitAuth.basicAuth.userName.literal +[↩ Parent](#stackspecgitauthbasicauthusername) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.gitAuth.basicAuth.userName.secret +[↩ Parent](#stackspecgitauthbasicauthusername) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.gitAuth.sshAuth +[↩ Parent](#stackspecgitauth) + + + +SSHAuth configures ssh-based auth for git authentication. SSHPrivateKey is required but password is optional. + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
sshPrivateKeyobject + ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported.
+
true
passwordobject + ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported.
+
false
+ + +### Stack.spec.gitAuth.sshAuth.sshPrivateKey +[↩ Parent](#stackspecgitauthsshauth) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.gitAuth.sshAuth.sshPrivateKey.env +[↩ Parent](#stackspecgitauthsshauthsshprivatekey) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.gitAuth.sshAuth.sshPrivateKey.filesystem +[↩ Parent](#stackspecgitauthsshauthsshprivatekey) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.gitAuth.sshAuth.sshPrivateKey.literal +[↩ Parent](#stackspecgitauthsshauthsshprivatekey) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.gitAuth.sshAuth.sshPrivateKey.secret +[↩ Parent](#stackspecgitauthsshauthsshprivatekey) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.gitAuth.sshAuth.password +[↩ Parent](#stackspecgitauthsshauth) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.gitAuth.sshAuth.password.env +[↩ Parent](#stackspecgitauthsshauthpassword) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.gitAuth.sshAuth.password.filesystem +[↩ Parent](#stackspecgitauthsshauthpassword) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.gitAuth.sshAuth.password.literal +[↩ Parent](#stackspecgitauthsshauthpassword) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.gitAuth.sshAuth.password.secret +[↩ Parent](#stackspecgitauthsshauthpassword) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.spec.secretsRef[key] +[↩ Parent](#stackspec) + + + +ResourceRef identifies a resource from which information can be loaded. Environment variables, files on the filesystem, Kubernetes secrets and literal strings are currently supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
typestring + SelectorType is required and signifies the type of selector. Must be one of: Env, FS, Secret, Literal
+
true
envobject + Env selects an environment variable set on the operator process
+
false
filesystemobject + FileSystem selects a file on the operator's file system
+
false
literalobject + LiteralRef refers to a literal value
+
false
secretobject + SecretRef refers to a Kubernetes secret
+
false
+ + +### Stack.spec.secretsRef[key].env +[↩ Parent](#stackspecsecretsrefkey) + + + +Env selects an environment variable set on the operator process + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
namestring + Name of the environment variable
+
true
+ + +### Stack.spec.secretsRef[key].filesystem +[↩ Parent](#stackspecsecretsrefkey) + + + +FileSystem selects a file on the operator's file system + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
pathstring + Path on the filesystem to use to load information from.
+
true
+ + +### Stack.spec.secretsRef[key].literal +[↩ Parent](#stackspecsecretsrefkey) + + + +LiteralRef refers to a literal value + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
valuestring + Value to load
+
true
+ + +### Stack.spec.secretsRef[key].secret +[↩ Parent](#stackspecsecretsrefkey) + + + +SecretRef refers to a Kubernetes secret + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
keystring + Key within the secret to use.
+
true
namestring + Name of the secret
+
true
namespacestring + Namespace where the secret is stored. Defaults to 'default' if omitted.
+
false
+ + +### Stack.status +[↩ Parent](#stack) + + + +StackStatus defines the observed state of Stack + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
lastUpdateobject + LastUpdate contains details of the status of the last update.
+
false
outputsmap[string]JSON + Outputs contains the exported stack output variables resulting from a deployment.
+
false
+ + +### Stack.status.lastUpdate +[↩ Parent](#stackstatus) + + + +LastUpdate contains details of the status of the last update. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionRequired
lastAttemptedCommitstring + Last commit attempted
+
false
lastSuccessfulCommitstring + Last commit successfully applied
+
false
permalinkstring + Permalink is the Pulumi Console URL of the stack operation.
+
false
statestring + State is the state of the stack update - one of `succeeded` or `failed`
+
false
\ No newline at end of file diff --git a/pkg/apis/pulumi/v1alpha1/stack_types.go b/pkg/apis/pulumi/v1alpha1/stack_types.go index ee9171ec..918f774e 100644 --- a/pkg/apis/pulumi/v1alpha1/stack_types.go +++ b/pkg/apis/pulumi/v1alpha1/stack_types.go @@ -29,14 +29,14 @@ type StackSpec struct { // Deprecated: use EnvRefs instead. SecretEnvs []string `json:"envSecrets,omitempty"` - // (optional) Backend is an optional backend URL to use for all Pulumi operations. - // Examples: - // - Pulumi Service: "https://app.pulumi.com" (default) - // - Self-managed Pulumi Service: "https://pulumi.acmecorp.com" - // - Local: "file://./einstein" - // - AWS: "s3://" - // - Azure: "azblob://" - // - GCP: "gs://" + // (optional) Backend is an optional backend URL to use for all Pulumi operations.
+ // Examples:
+ // - Pulumi Service: "https://app.pulumi.com" (default)
+ // - Self-managed Pulumi Service: "https://pulumi.acmecorp.com"
+ // - Local: "file://./einstein"
+ // - AWS: "s3://"
+ // - Azure: "azblob://"
+ // - GCP: "gs://"
// See: https://www.pulumi.com/docs/intro/concepts/state/ Backend string `json:"backend,omitempty"`