From c3f65c2ab5b0a7db380ad5e309d01cb9bc9d03b8 Mon Sep 17 00:00:00 2001 From: Caleb Schoepp Date: Thu, 19 Sep 2024 16:27:44 -0600 Subject: [PATCH] Update reference docs Signed-off-by: Caleb Schoepp --- .../en/docs/reference/spin-app-executor.md | 13 +- content/en/docs/reference/spin-app.md | 817 +++++++++++------- 2 files changed, 497 insertions(+), 333 deletions(-) diff --git a/content/en/docs/reference/spin-app-executor.md b/content/en/docs/reference/spin-app-executor.md index e8d55d6..2cb3b14 100644 --- a/content/en/docs/reference/spin-app-executor.md +++ b/content/en/docs/reference/spin-app-executor.md @@ -1,11 +1,9 @@ --- title: SpinAppExecutor weight: 2 -description: Custom Resource Definition (CRD) reference for `SpinAppExecutor`. +description: Custom Resource Definition (CRD) reference for `SpinAppExecutor` categories: [Spin Operator] tags: [reference] -aliases: -- /docs/spin-operator/reference/spin-app-executor --- Resource Types: @@ -59,7 +57,7 @@ SpinAppExecutor is the Schema for the spinappexecutors API -### `SpinAppExecutor.spec` +### `SpinAppExecutor.spec` [back to parent](#spinappexecutor) @@ -94,7 +92,7 @@ createDeployment is true.
-### `SpinAppExecutor.spec.deploymentConfig` +### `SpinAppExecutor.spec.deploymentConfig` [back to parent](#spinappexecutorspec) @@ -146,10 +144,11 @@ defined in `CACertSecret` the secret name will be `spin-ca`.
-### `SpinAppExecutor.spec.deploymentConfig.otel` +### `SpinAppExecutor.spec.deploymentConfig.otel` [back to parent](#spinappexecutorspecdeploymentconfig) + Otel provides Kubernetes Bindings to Otel Variables. @@ -191,3 +190,5 @@ Otel provides Kubernetes Bindings to Otel Variables.
false
+ + diff --git a/content/en/docs/reference/spin-app.md b/content/en/docs/reference/spin-app.md index f6c939b..4b8f4b5 100644 --- a/content/en/docs/reference/spin-app.md +++ b/content/en/docs/reference/spin-app.md @@ -1,11 +1,9 @@ --- title: SpinApp weight: 1 -description: Custom Resource Definition (CRD) reference for `SpinApp`. +description: Custom Resource Definition (CRD) reference for `SpinApp` categories: [Spin Operator] tags: [reference] -aliases: -- /docs/spin-operator/reference/spin-app --- Resource Types: @@ -59,7 +57,7 @@ SpinApp is the Schema for the spinapps API -### `SpinApp.spec` +### `SpinApp.spec` [back to parent](#spinapp) @@ -81,9 +79,9 @@ SpinAppSpec defines the desired state of SpinApp Executor controls how this app is executed in the cluster. -Defaults to whatever executor is available on the cluster. If multiple executors are available then -the first executor in alphabetical order will be chosen. If no executors are available then no -default will be set.
+Defaults to whatever executor is available on the cluster. If multiple +executors are available then the first executor in alphabetical order +will be chosen. If no executors are available then no default will be set.
true @@ -112,9 +110,9 @@ default will be set.
boolean EnableAutoscaling indicates whether the app is allowed to autoscale. If -true then the operator leaves the replica count of the underlying deployment to be managed by an -external autoscaler (HPA/KEDA). Replicas cannot be defined if this is enabled. By default -EnableAutoscaling is false.
+true then the operator leaves the replica count of the underlying +deployment to be managed by an external autoscaler (HPA/KEDA). Replicas +cannot be defined if this is enabled. By default EnableAutoscaling is false.

Default: false
@@ -133,6 +131,13 @@ EnableAutoscaling is false.
PodAnnotations defines annotations to be applied to the underlying pods.
false + + podLabels + map[string]string + + PodLabels defines labels to be applied to the underlying pods.
+ + false replicas integer @@ -188,7 +193,7 @@ EnableAutoscaling is false.
-### `SpinApp.spec.checks` +### `SpinApp.spec.checks` [back to parent](#spinappspec) @@ -221,7 +226,7 @@ Checks defines health checks that should be used by Kubernetes to monitor the ap -### `SpinApp.spec.checks.liveness` +### `SpinApp.spec.checks.liveness` [back to parent](#spinappspecchecks) @@ -302,7 +307,7 @@ Defaults to 1 second. Minimum value is 1.
-### `SpinApp.spec.checks.liveness.httpGet` +### `SpinApp.spec.checks.liveness.httpGet` [back to parent](#spinappspecchecksliveness) @@ -336,7 +341,7 @@ health check, e.g /healthz.
-### `SpinApp.spec.checks.liveness.httpGet.httpHeaders[index]` +### `SpinApp.spec.checks.liveness.httpGet.httpHeaders[index]` [back to parent](#spinappspeccheckslivenesshttpget) @@ -369,7 +374,7 @@ HTTPHealthProbeHeader is an abstraction around a http header key/value pair. -### `SpinApp.spec.checks.readiness` +### `SpinApp.spec.checks.readiness` [back to parent](#spinappspecchecks) @@ -450,7 +455,7 @@ Defaults to 1 second. Minimum value is 1.
-### `SpinApp.spec.checks.readiness.httpGet` +### `SpinApp.spec.checks.readiness.httpGet` [back to parent](#spinappspecchecksreadiness) @@ -484,7 +489,7 @@ health check, e.g /healthz.
-### `SpinApp.spec.checks.readiness.httpGet.httpHeaders[index]` +### `SpinApp.spec.checks.readiness.httpGet.httpHeaders[index]` [back to parent](#spinappspecchecksreadinesshttpget) @@ -517,12 +522,12 @@ HTTPHealthProbeHeader is an abstraction around a http header key/value pair. -### `SpinApp.spec.imagePullSecrets[index]` +### `SpinApp.spec.imagePullSecrets[index]` [back to parent](#spinappspec) -LocalObjectReference contains enough information to let you locate the referenced object inside the -same namespace. +LocalObjectReference contains enough information to let you locate the +referenced object inside the same namespace. @@ -538,15 +543,21 @@ same namespace.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.resources` +### `SpinApp.spec.resources` [back to parent](#spinappspec) @@ -581,7 +592,7 @@ otherwise to an implementation-defined value. Requests cannot exceed Limits.
-### `SpinApp.spec.runtimeConfig` +### `SpinApp.spec.runtimeConfig` [back to parent](#spinappspec) @@ -632,7 +643,7 @@ e.g on-disk or turso.
-### `SpinApp.spec.runtimeConfig.keyValueStores[index]` +### `SpinApp.spec.runtimeConfig.keyValueStores[index]` [back to parent](#spinappspecruntimeconfig) @@ -672,7 +683,7 @@ e.g on-disk or turso.
-### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index]` +### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index]` [back to parent](#spinappspecruntimeconfigkeyvaluestoresindex) @@ -712,7 +723,7 @@ e.g on-disk or turso.
-### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom` +### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom` [back to parent](#spinappspecruntimeconfigkeyvaluestoresindexoptionsindex) @@ -745,7 +756,7 @@ ValueFrom is a reference to dynamically bind the variable to. -### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom.configMapKeyRef` +### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom.configMapKeyRef` [back to parent](#spinappspecruntimeconfigkeyvaluestoresindexoptionsindexvaluefrom) @@ -772,8 +783,14 @@ Selects a key of a ConfigMap. string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -787,7 +804,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom.secretKeyRef` +### `SpinApp.spec.runtimeConfig.keyValueStores[index].options[index].valueFrom.secretKeyRef` [back to parent](#spinappspecruntimeconfigkeyvaluestoresindexoptionsindexvaluefrom) @@ -814,8 +831,14 @@ Selects a key of a secret in the apps namespace string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -829,7 +852,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.llmCompute` +### `SpinApp.spec.runtimeConfig.llmCompute` [back to parent](#spinappspecruntimeconfig) @@ -862,7 +885,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.llmCompute.options[index]` +### `SpinApp.spec.runtimeConfig.llmCompute.options[index]` [back to parent](#spinappspecruntimeconfigllmcompute) @@ -902,7 +925,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom` +### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom` [back to parent](#spinappspecruntimeconfigllmcomputeoptionsindex) @@ -935,7 +958,7 @@ ValueFrom is a reference to dynamically bind the variable to. -### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom.configMapKeyRef` +### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom.configMapKeyRef` [back to parent](#spinappspecruntimeconfigllmcomputeoptionsindexvaluefrom) @@ -962,8 +985,14 @@ Selects a key of a ConfigMap. string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -977,7 +1006,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom.secretKeyRef` +### `SpinApp.spec.runtimeConfig.llmCompute.options[index].valueFrom.secretKeyRef` [back to parent](#spinappspecruntimeconfigllmcomputeoptionsindexvaluefrom) @@ -1004,8 +1033,14 @@ Selects a key of a secret in the apps namespace string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -1019,7 +1054,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.sqliteDatabases[index]` +### `SpinApp.spec.runtimeConfig.sqliteDatabases[index]` [back to parent](#spinappspecruntimeconfig) @@ -1059,7 +1094,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index]` +### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index]` [back to parent](#spinappspecruntimeconfigsqlitedatabasesindex) @@ -1099,7 +1134,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom` +### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom` [back to parent](#spinappspecruntimeconfigsqlitedatabasesindexoptionsindex) @@ -1132,7 +1167,7 @@ ValueFrom is a reference to dynamically bind the variable to. -### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom.configMapKeyRef` +### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom.configMapKeyRef` [back to parent](#spinappspecruntimeconfigsqlitedatabasesindexoptionsindexvaluefrom) @@ -1159,8 +1194,14 @@ Selects a key of a ConfigMap. string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -1174,7 +1215,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom.secretKeyRef` +### `SpinApp.spec.runtimeConfig.sqliteDatabases[index].options[index].valueFrom.secretKeyRef` [back to parent](#spinappspecruntimeconfigsqlitedatabasesindexoptionsindexvaluefrom) @@ -1201,8 +1242,14 @@ Selects a key of a secret in the apps namespace string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -1216,7 +1263,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.variables[index]` +### `SpinApp.spec.variables[index]` [back to parent](#spinappspec) @@ -1256,7 +1303,7 @@ SpinVar defines a binding between a spin variable and a static or dynamic value. -### `SpinApp.spec.variables[index].valueFrom` +### `SpinApp.spec.variables[index].valueFrom` [back to parent](#spinappspecvariablesindex) @@ -1305,7 +1352,7 @@ spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podI -### `SpinApp.spec.variables[index].valueFrom.configMapKeyRef` +### `SpinApp.spec.variables[index].valueFrom.configMapKeyRef` [back to parent](#spinappspecvariablesindexvaluefrom) @@ -1332,8 +1379,14 @@ Selects a key of a ConfigMap. string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -1347,13 +1400,12 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.variables[index].valueFrom.fieldRef` +### `SpinApp.spec.variables[index].valueFrom.fieldRef` [back to parent](#spinappspecvariablesindexvaluefrom) -Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, -`metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, -status.podIP, status.podIPs. +Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, +spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. @@ -1382,13 +1434,12 @@ status.podIP, status.podIPs.
-### `SpinApp.spec.variables[index].valueFrom.resourceFieldRef` +### `SpinApp.spec.variables[index].valueFrom.resourceFieldRef` [back to parent](#spinappspecvariablesindexvaluefrom) -Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, -limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are -currently supported. +Selects a resource of the container: only resources limits and requests +(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. @@ -1424,7 +1475,7 @@ currently supported.
-### `SpinApp.spec.variables[index].valueFrom.secretKeyRef` +### `SpinApp.spec.variables[index].valueFrom.secretKeyRef` [back to parent](#spinappspecvariablesindexvaluefrom) @@ -1451,8 +1502,14 @@ Selects a key of a secret in the pod's namespace string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -1466,7 +1523,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.volumeMounts[index]` +### `SpinApp.spec.volumeMounts[index]` [back to parent](#spinappspec) @@ -1527,15 +1584,16 @@ recursively. If ReadOnly is false, this field has no meaning and must be unspecified. -If ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. -If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by -the container runtime. If this field is set to Enabled, the mount is made recursively read-only if -it is supported by the container runtime, otherwise the pod will not be started and an error will be -generated to indicate the reason. +If ReadOnly is true, and this field is set to Disabled, the mount is not made +recursively read-only. If this field is set to IfPossible, the mount is made +recursively read-only, if it is supported by the container runtime. If this +field is set to Enabled, the mount is made recursively read-only if it is +supported by the container runtime, otherwise the pod will not be started and +an error will be generated to indicate the reason. -If this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be -unspecified, which defaults to None). +If this field is set to IfPossible or Enabled, MountPropagation must be set to +None (or be unspecified, which defaults to None). If this field is not specified, it is treated as an equivalent of Disabled.
@@ -1554,16 +1612,16 @@ Defaults to "" (volume's root).
string Expanded path within the volume from which the container's volume should be mounted. -Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the -container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually -exclusive.
+Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. +Defaults to "" (volume's root). +SubPathExpr and SubPath are mutually exclusive.
false -### `SpinApp.spec.volumes[index]` +### `SpinApp.spec.volumes[index]` [back to parent](#spinappspec) @@ -1663,22 +1721,29 @@ The volume's lifecycle is tied to the pod that defines it - it will be created b and deleted when the pod is removed. -Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like -restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through -a storage class, and d) the storage driver supports dynamic volume provisioning through a - PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between -this volume type and PersistentVolumeClaim). +Use this if: +a) the volume is only needed while the pod runs, +b) features of normal volumes like restoring from snapshot or capacity + tracking are needed, +c) the storage driver is specified through a storage class, and +d) the storage driver supports dynamic volume provisioning through + a PersistentVolumeClaim (see EphemeralVolumeSource for more + information on the connection between this volume type + and PersistentVolumeClaim). -Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer -than the lifecycle of an individual pod. +Use PersistentVolumeClaim or one of the vendor-specific +APIs for volumes that persist for longer than the lifecycle +of an individual pod. -Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - -see the documentation of the driver for more information. +Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to +be used that way - see the documentation of the driver for +more information. -A pod can use both types of ephemeral volumes and persistent volumes at the same time.
+A pod can use both types of ephemeral volumes and +persistent volumes at the same time.
false @@ -1708,8 +1773,8 @@ provisioned/attached using an exec based plugin.
object gcePersistentDisk represents a GCE Disk resource that is attached to a -kubelet's host machine and then exposed to the pod. More info: -https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+kubelet's host machine and then exposed to the pod. +More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
false @@ -1717,9 +1782,9 @@ https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
object gitRepo represents a git repository at a particular revision. -DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into -an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's -container.
+DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an +EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir +into the Pod's container.
false @@ -1735,12 +1800,13 @@ More info: https://examples.k8s.io/volumes/glusterfs/README.md
object hostPath represents a pre-existing file or directory on the host -machine that is directly exposed to the container. This is generally used for system agents or other -privileged things that are allowed to see the host machine. Most containers will NOT need this. More -info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath +machine that is directly exposed to the container. This is generally +used for system agents or other privileged things that are allowed +to see the host machine. Most containers will NOT need this. +More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- -TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host -directories as read/write.
+TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not +mount host directories as read/write.
false @@ -1748,8 +1814,8 @@ directories as read/write.
object iscsi represents an ISCSI Disk resource that is attached to a -kubelet's host machine and then exposed to the pod. More info: -https://examples.k8s.io/volumes/iscsi/README.md
+kubelet's host machine and then exposed to the pod. +More info: https://examples.k8s.io/volumes/iscsi/README.md
false @@ -1765,8 +1831,8 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
object persistentVolumeClaimVolumeSource represents a reference to a -PersistentVolumeClaim in the same namespace. More info: -https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
+PersistentVolumeClaim in the same namespace. +More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
false @@ -1838,13 +1904,13 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
-### `SpinApp.spec.volumes[index].awsElasticBlockStore` +### `SpinApp.spec.volumes[index].awsElasticBlockStore` [back to parent](#spinappspecvolumesindex) -awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine -and then exposed to the pod. More info: -https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore +awsElasticBlockStore represents an AWS Disk resource that is attached to a +kubelet's host machine and then exposed to the pod. +More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore @@ -1898,7 +1964,7 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockst
-### `SpinApp.spec.volumes[index].azureDisk` +### `SpinApp.spec.volumes[index].azureDisk` [back to parent](#spinappspecvolumesindex) @@ -1962,7 +2028,7 @@ the ReadOnly setting in VolumeMounts.
-### `SpinApp.spec.volumes[index].azureFile` +### `SpinApp.spec.volumes[index].azureFile` [back to parent](#spinappspecvolumesindex) @@ -2003,7 +2069,7 @@ the ReadOnly setting in VolumeMounts.
-### `SpinApp.spec.volumes[index].cephfs` +### `SpinApp.spec.volumes[index].cephfs` [back to parent](#spinappspecvolumesindex) @@ -2070,12 +2136,12 @@ More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
-### `SpinApp.spec.volumes[index].cephfs.secretRef` +### `SpinApp.spec.volumes[index].cephfs.secretRef` [back to parent](#spinappspecvolumesindexcephfs) -secretRef is Optional: SecretRef is reference to the authentication secret for User, default is -empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it +secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. +More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it @@ -2091,20 +2157,26 @@ empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].cinder` +### `SpinApp.spec.volumes[index].cinder` [back to parent](#spinappspecvolumesindex) -cinder represents a cinder volume attached and mounted on kubelets host machine. More info: -https://examples.k8s.io/mysql-cinder-pd/README.md +cinder represents a cinder volume attached and mounted on kubelets host machine. +More info: https://examples.k8s.io/mysql-cinder-pd/README.md @@ -2154,11 +2226,12 @@ to OpenStack.
-### `SpinApp.spec.volumes[index].cinder.secretRef` +### `SpinApp.spec.volumes[index].cinder.secretRef` [back to parent](#spinappspecvolumesindexcinder) -secretRef is optional: points to a secret object containing parameters used to connect to OpenStack. +secretRef is optional: points to a secret object containing parameters used to connect +to OpenStack. @@ -2174,15 +2247,21 @@ secretRef is optional: points to a secret object containing parameters used to c
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].configMap` +### `SpinApp.spec.volumes[index].configMap` [back to parent](#spinappspecvolumesindex) @@ -2230,8 +2309,14 @@ relative and may not contain the '..' path or start with '..'.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -2245,7 +2330,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.volumes[index].configMap.items[index]` +### `SpinApp.spec.volumes[index].configMap.items[index]` [back to parent](#spinappspecvolumesindexconfigmap) @@ -2295,12 +2380,11 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].csi` +### `SpinApp.spec.volumes[index].csi` [back to parent](#spinappspecvolumesindex) -csi (Container Storage Interface) represents ephemeral storage that is handled by certain external -CSI drivers (Beta feature). +csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). @@ -2359,14 +2443,15 @@ driver. Consult your driver's documentation for supported values.
-### `SpinApp.spec.volumes[index].csi.nodePublishSecretRef` +### `SpinApp.spec.volumes[index].csi.nodePublishSecretRef` [back to parent](#spinappspecvolumesindexcsi) -nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to -the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is -optional, and may be empty if no secret is required. If the secret object contains more than one -secret, all secret references are passed. +nodePublishSecretRef is a reference to the secret object containing +sensitive information to pass to the CSI driver to complete the CSI +NodePublishVolume and NodeUnpublishVolume calls. +This field is optional, and may be empty if no secret is required. If the +secret object contains more than one secret, all secret references are passed. @@ -2382,15 +2467,21 @@ secret, all secret references are passed.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].downwardAPI` +### `SpinApp.spec.volumes[index].downwardAPI` [back to parent](#spinappspecvolumesindex) @@ -2432,7 +2523,7 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].downwardAPI.items[index]` +### `SpinApp.spec.volumes[index].downwardAPI.items[index]` [back to parent](#spinappspecvolumesindexdownwardapi) @@ -2487,12 +2578,11 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].downwardAPI.items[index].fieldRef` +### `SpinApp.spec.volumes[index].downwardAPI.items[index].fieldRef` [back to parent](#spinappspecvolumesindexdownwardapiitemsindex) -Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are -supported. +Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported. @@ -2521,12 +2611,12 @@ supported.
-### `SpinApp.spec.volumes[index].downwardAPI.items[index].resourceFieldRef` +### `SpinApp.spec.volumes[index].downwardAPI.items[index].resourceFieldRef` [back to parent](#spinappspecvolumesindexdownwardapiitemsindex) -Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, -requests.cpu and requests.memory) are currently supported. +Selects a resource of the container: only resources limits and requests +(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. @@ -2562,12 +2652,12 @@ requests.cpu and requests.memory) are currently supported.
-### `SpinApp.spec.volumes[index].emptyDir` +### `SpinApp.spec.volumes[index].emptyDir` [back to parent](#spinappspecvolumesindex) -emptyDir represents a temporary directory that shares a pod's lifetime. More info: -https://kubernetes.io/docs/concepts/storage/volumes#emptydir +emptyDir represents a temporary directory that shares a pod's lifetime. +More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir @@ -2604,31 +2694,38 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
-### `SpinApp.spec.volumes[index].ephemeral` +### `SpinApp.spec.volumes[index].ephemeral` [back to parent](#spinappspecvolumesindex) -ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is -tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod -is removed. +ephemeral represents a volume that is handled by a cluster storage driver. +The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, +and deleted when the pod is removed. -Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like -restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through -a storage class, and d) the storage driver supports dynamic volume provisioning through a - PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between -this volume type and PersistentVolumeClaim). +Use this if: +a) the volume is only needed while the pod runs, +b) features of normal volumes like restoring from snapshot or capacity + tracking are needed, +c) the storage driver is specified through a storage class, and +d) the storage driver supports dynamic volume provisioning through + a PersistentVolumeClaim (see EphemeralVolumeSource for more + information on the connection between this volume type + and PersistentVolumeClaim). -Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer -than the lifecycle of an individual pod. +Use PersistentVolumeClaim or one of the vendor-specific +APIs for volumes that persist for longer than the lifecycle +of an individual pod. -Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - -see the documentation of the driver for more information. +Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to +be used that way - see the documentation of the driver for +more information. -A pod can use both types of ephemeral volumes and persistent volumes at the same time. +A pod can use both types of ephemeral volumes and +persistent volumes at the same time. @@ -2652,15 +2749,18 @@ entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). -An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid -using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is -removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an -owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be -useful when manually reconstructing a broken cluster. +An existing PVC with that name that is not owned by the pod +will *not* be used for the pod to avoid using an unrelated +volume by mistake. Starting the pod is then blocked until +the unrelated PVC is removed. If such a pre-created PVC is +meant to be used by the pod, the PVC has to updated with an +owner reference to the pod once the pod exists. Normally +this should not be necessary, but it may be useful when +manually reconstructing a broken cluster. -This field is read-only and no changes will be made by Kubernetes to the PVC after it has been -created. +This field is read-only and no changes will be made by Kubernetes +to the PVC after it has been created. Required, must not be nil.
@@ -2670,26 +2770,31 @@ Required, must not be nil.
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate` [back to parent](#spinappspecvolumesindexephemeral) -Will be used to create a stand-alone PVC to provision the volume. The pod in which this -EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted -together with the pod. The name of the PVC will be `-` where `` -is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the -concatenated name is not valid for a PVC (for example, too long). +Will be used to create a stand-alone PVC to provision the volume. +The pod in which this EphemeralVolumeSource is embedded will be the +owner of the PVC, i.e. the PVC will be deleted together with the +pod. The name of the PVC will be `-` where +`` is the name from the `PodSpec.Volumes` array +entry. Pod validation will reject the pod if the concatenated name +is not valid for a PVC (for example, too long). -An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid -using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is -removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an -owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be -useful when manually reconstructing a broken cluster. +An existing PVC with that name that is not owned by the pod +will *not* be used for the pod to avoid using an unrelated +volume by mistake. Starting the pod is then blocked until +the unrelated PVC is removed. If such a pre-created PVC is +meant to be used by the pod, the PVC has to updated with an +owner reference to the pod once the pod exists. Normally +this should not be necessary, but it may be useful when +manually reconstructing a broken cluster. -This field is read-only and no changes will be made by Kubernetes to the PVC after it has been -created. +This field is read-only and no changes will be made by Kubernetes +to the PVC after it has been created. Required, must not be nil. @@ -2726,13 +2831,14 @@ validation.
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplate) -The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC -that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid -here. +The specification for the PersistentVolumeClaim. The entire content is +copied unchanged into the PVC that gets created from this +template. The same fields as in a PersistentVolumeClaim +are also valid here. @@ -2857,18 +2963,18 @@ Value of Filesystem is implied when not included in claim spec.
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.dataSource` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.dataSource` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplatespec) dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) -* An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support -the specified data source, it will create a new volume based on the contents of the specified data -source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to -dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace -is not specified. If the namespace is specified, then dataSourceRef will not be copied to -dataSource. +* An existing PVC (PersistentVolumeClaim) +If the provisioner or an external controller can support the specified data source, +it will create a new volume based on the contents of the specified data source. +When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, +and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. +If the namespace is specified, then dataSourceRef will not be copied to dataSource. @@ -2906,28 +3012,33 @@ For any other third-party types, APIGroup is required.
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.dataSourceRef` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.dataSourceRef` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplatespec) dataSourceRef specifies the object from which to populate the volume with data, if a non-empty -volume is desired. This may be any object from a non-empty API group (non core object) or a -PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the -type of the specified object matches some installed volume populator or dynamic provisioner. This -field will replace the functionality of the dataSource field and as such if both fields are -non-empty, they must have the same value. For backwards compatibility, when namespace isn't -specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value -automatically if one of them is empty and the other is non-empty. When namespace is specified in -dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important -differences between dataSource and dataSourceRef: -* While dataSource only allows two specific types of objects, dataSourceRef allows any non-core - object, as well as PersistentVolumeClaim objects. -* While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, - and generates an error if a disallowed value is specified. -* While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) - Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the -namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be -enabled. +volume is desired. This may be any object from a non-empty API group (non +core object) or a PersistentVolumeClaim object. +When this field is specified, volume binding will only succeed if the type of +the specified object matches some installed volume populator or dynamic +provisioner. +This field will replace the functionality of the dataSource field and as such +if both fields are non-empty, they must have the same value. For backwards +compatibility, when namespace isn't specified in dataSourceRef, +both fields (dataSource and dataSourceRef) will be set to the same +value automatically if one of them is empty and the other is non-empty. +When namespace is specified in dataSourceRef, +dataSource isn't set to the same value and must be empty. +There are three important differences between dataSource and dataSourceRef: +* While dataSource only allows two specific types of objects, dataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. +* While dataSource ignores disallowed values (dropping them), dataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. +* While dataSource only allows local objects, dataSourceRef allows objects + in any namespaces. +(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. +(Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. @@ -2974,14 +3085,15 @@ Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGr
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.resources` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.resources` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplatespec) -resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure -feature is enabled users are allowed to specify resource requirements that are lower than previous -value but must still be higher than capacity recorded in the status field of the claim. More info: -https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources +resources represents the minimum resources the volume should have. +If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements +that are lower than previous value but must still be higher than capacity recorded in the +status field of the claim. +More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources @@ -3014,7 +3126,7 @@ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-co
-### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.selector` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.selector` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplatespec) @@ -3049,12 +3161,12 @@ operator is "In", and the values array contains only "value". The requirements a -### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[index]` +### `SpinApp.spec.volumes[index].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[index]` [back to parent](#spinappspecvolumesindexephemeralvolumeclaimtemplatespecselector) -A label selector requirement is a selector that contains values, a key, and an operator that relates -the key and values. +A label selector requirement is a selector that contains values, a key, and an operator that +relates the key and values. @@ -3094,12 +3206,11 @@ merge patch.
-### `SpinApp.spec.volumes[index].fc` +### `SpinApp.spec.volumes[index].fc` [back to parent](#spinappspecvolumesindex) -fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed -to the pod. +fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. @@ -3156,12 +3267,12 @@ Either wwids or combination of targetWWNs and lun must be set, but not both simu
-### `SpinApp.spec.volumes[index].flexVolume` +### `SpinApp.spec.volumes[index].flexVolume` [back to parent](#spinappspecvolumesindex) -flexVolume represents a generic volume resource that is provisioned/attached using an exec based -plugin. +flexVolume represents a generic volume resource that is +provisioned/attached using an exec based plugin. @@ -3218,13 +3329,15 @@ scripts.
-### `SpinApp.spec.volumes[index].flexVolume.secretRef` +### `SpinApp.spec.volumes[index].flexVolume.secretRef` [back to parent](#spinappspecvolumesindexflexvolume) -secretRef is Optional: secretRef is reference to the secret object containing sensitive information -to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret -object contains more than one secret, all secrets are passed to the plugin scripts. +secretRef is Optional: secretRef is reference to the secret object containing +sensitive information to pass to the plugin scripts. This may be +empty if no secret object is specified. If the secret object +contains more than one secret, all secrets are passed to the plugin +scripts. @@ -3240,20 +3353,25 @@ object contains more than one secret, all secrets are passed to the plugin scrip
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].flocker` +### `SpinApp.spec.volumes[index].flocker` [back to parent](#spinappspecvolumesindex) -flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the -Flocker control service being running +flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running @@ -3283,13 +3401,13 @@ should be considered as deprecated
-### `SpinApp.spec.volumes[index].gcePersistentDisk` +### `SpinApp.spec.volumes[index].gcePersistentDisk` [back to parent](#spinappspecvolumesindex) -gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and -then exposed to the pod. More info: -https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk +gcePersistentDisk represents a GCE Disk resource that is attached to a +kubelet's host machine and then exposed to the pod. +More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk @@ -3345,13 +3463,14 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
-### `SpinApp.spec.volumes[index].gitRepo` +### `SpinApp.spec.volumes[index].gitRepo` [back to parent](#spinappspecvolumesindex) -gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To -provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo -using git, then mount the EmptyDir into the Pod's container. +gitRepo represents a git repository at a particular revision. +DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an +EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir +into the Pod's container. @@ -3390,12 +3509,12 @@ the subdirectory with the given name.
-### `SpinApp.spec.volumes[index].glusterfs` +### `SpinApp.spec.volumes[index].glusterfs` [back to parent](#spinappspecvolumesindex) -glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: -https://examples.k8s.io/volumes/glusterfs/README.md +glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. +More info: https://examples.k8s.io/volumes/glusterfs/README.md @@ -3435,17 +3554,18 @@ More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
-### `SpinApp.spec.volumes[index].hostPath` +### `SpinApp.spec.volumes[index].hostPath` [back to parent](#spinappspecvolumesindex) -hostPath represents a pre-existing file or directory on the host machine that is directly exposed to -the container. This is generally used for system agents or other privileged things that are allowed -to see the host machine. Most containers will NOT need this. More info: -https://kubernetes.io/docs/concepts/storage/volumes#hostpath +hostPath represents a pre-existing file or directory on the host +machine that is directly exposed to the container. This is generally +used for system agents or other privileged things that are allowed +to see the host machine. Most containers will NOT need this. +More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath --- -TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not mount host -directories as read/write. +TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not +mount host directories as read/write. @@ -3478,12 +3598,13 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
-### `SpinApp.spec.volumes[index].iscsi` +### `SpinApp.spec.volumes[index].iscsi` [back to parent](#spinappspecvolumesindex) -iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then -exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md +iscsi represents an ISCSI Disk resource that is attached to a +kubelet's host machine and then exposed to the pod. +More info: https://examples.k8s.io/volumes/iscsi/README.md @@ -3587,7 +3708,7 @@ Defaults to false.
-### `SpinApp.spec.volumes[index].iscsi.secretRef` +### `SpinApp.spec.volumes[index].iscsi.secretRef` [back to parent](#spinappspecvolumesindexiscsi) @@ -3607,20 +3728,26 @@ secretRef is the CHAP Secret for iSCSI target and initiator authentication string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false -### `SpinApp.spec.volumes[index].nfs` +### `SpinApp.spec.volumes[index].nfs` [back to parent](#spinappspecvolumesindex) -nfs represents an NFS mount on the host that shares a pod's lifetime More info: -https://kubernetes.io/docs/concepts/storage/volumes#nfs +nfs represents an NFS mount on the host that shares a pod's lifetime +More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs @@ -3660,13 +3787,13 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
-### `SpinApp.spec.volumes[index].persistentVolumeClaim` +### `SpinApp.spec.volumes[index].persistentVolumeClaim` [back to parent](#spinappspecvolumesindex) -persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same -namespace. More info: -https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims +persistentVolumeClaimVolumeSource represents a reference to a +PersistentVolumeClaim in the same namespace. +More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims @@ -3697,12 +3824,11 @@ Default false.
-### `SpinApp.spec.volumes[index].photonPersistentDisk` +### `SpinApp.spec.volumes[index].photonPersistentDisk` [back to parent](#spinappspecvolumesindex) -photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets -host machine +photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine @@ -3733,7 +3859,7 @@ Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
-### `SpinApp.spec.volumes[index].portworxVolume` +### `SpinApp.spec.volumes[index].portworxVolume` [back to parent](#spinappspecvolumesindex) @@ -3776,7 +3902,7 @@ the ReadOnly setting in VolumeMounts.
-### `SpinApp.spec.volumes[index].projected` +### `SpinApp.spec.volumes[index].projected` [back to parent](#spinappspecvolumesindex) @@ -3816,7 +3942,7 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].projected.sources[index]` +### `SpinApp.spec.volumes[index].projected.sources[index]` [back to parent](#spinappspecvolumesindexprojected) @@ -3842,14 +3968,15 @@ of ClusterTrustBundle objects in an auto-updating file. Alpha, gated by the ClusterTrustBundleProjection feature gate. -ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and -a label selector. +ClusterTrustBundle objects can either be selected by name, or by the +combination of signer name and a label selector. -Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. -Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are -deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the -order over time.
+Kubelet performs aggressive normalization of the PEM contents written +into the pod filesystem. Esoteric PEM features such as inter-block +comments and block headers are stripped. Certificates are deduplicated. +The ordering of certificates within the file is arbitrary, and Kubelet +may change the order over time.
false @@ -3884,25 +4011,26 @@ order over time.
-### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle` +### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle` [back to parent](#spinappspecvolumesindexprojectedsourcesindex) -ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle -objects in an auto-updating file. +ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field +of ClusterTrustBundle objects in an auto-updating file. Alpha, gated by the ClusterTrustBundleProjection feature gate. -ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and -a label selector. +ClusterTrustBundle objects can either be selected by name, or by the +combination of signer name and a label selector. -Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. -Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are -deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the -order over time. +Kubelet performs aggressive normalization of the PEM contents written +into the pod filesystem. Esoteric PEM features such as inter-block +comments and block headers are stripped. Certificates are deduplicated. +The ordering of certificates within the file is arbitrary, and Kubelet +may change the order over time. @@ -3962,13 +4090,14 @@ ClusterTrustBundles will be unified and deduplicated.
-### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle.labelSelector` +### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle.labelSelector` [back to parent](#spinappspecvolumesindexprojectedsourcesindexclustertrustbundle) -Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is -set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, -interpreted as "match everything". +Select all ClusterTrustBundles that match this label selector. Only has +effect if signerName is set. Mutually-exclusive with name. If unset, +interpreted as "match nothing". If set but empty, interpreted as "match +everything". @@ -3999,13 +4128,12 @@ operator is "In", and the values array contains only "value". The requirements a
-### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle.labelSelector.matchExpressions[index]` -[back to -parent](#spinappspecvolumesindexprojectedsourcesindexclustertrustbundlelabelselector) +### `SpinApp.spec.volumes[index].projected.sources[index].clusterTrustBundle.labelSelector.matchExpressions[index]` +[back to parent](#spinappspecvolumesindexprojectedsourcesindexclustertrustbundlelabelselector) -A label selector requirement is a selector that contains values, a key, and an operator that relates -the key and values. +A label selector requirement is a selector that contains values, a key, and an operator that +relates the key and values. @@ -4045,7 +4173,7 @@ merge patch.
-### `SpinApp.spec.volumes[index].projected.sources[index].configMap` +### `SpinApp.spec.volumes[index].projected.sources[index].configMap` [back to parent](#spinappspecvolumesindexprojectedsourcesindex) @@ -4078,8 +4206,14 @@ relative and may not contain the '..' path or start with '..'.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -4093,7 +4227,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.volumes[index].projected.sources[index].configMap.items[index]` +### `SpinApp.spec.volumes[index].projected.sources[index].configMap.items[index]` [back to parent](#spinappspecvolumesindexprojectedsourcesindexconfigmap) @@ -4143,7 +4277,7 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI` +### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI` [back to parent](#spinappspecvolumesindexprojectedsourcesindex) @@ -4169,7 +4303,7 @@ downwardAPI information about the downwardAPI data to project -### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index]` +### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index]` [back to parent](#spinappspecvolumesindexprojectedsourcesindexdownwardapi) @@ -4224,12 +4358,11 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index].fieldRef` +### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index].fieldRef` [back to parent](#spinappspecvolumesindexprojectedsourcesindexdownwardapiitemsindex) -Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are -supported. +Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported. @@ -4258,12 +4391,12 @@ supported.
-### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index].resourceFieldRef` +### `SpinApp.spec.volumes[index].projected.sources[index].downwardAPI.items[index].resourceFieldRef` [back to parent](#spinappspecvolumesindexprojectedsourcesindexdownwardapiitemsindex) -Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, -requests.cpu and requests.memory) are currently supported. +Selects a resource of the container: only resources limits and requests +(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. @@ -4299,7 +4432,7 @@ requests.cpu and requests.memory) are currently supported.
-### `SpinApp.spec.volumes[index].projected.sources[index].secret` +### `SpinApp.spec.volumes[index].projected.sources[index].secret` [back to parent](#spinappspecvolumesindexprojectedsourcesindex) @@ -4332,8 +4465,14 @@ relative and may not contain the '..' path or start with '..'.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false @@ -4347,7 +4486,7 @@ TODO: Add other useful fields. apiVersion, kind, uid?
-### `SpinApp.spec.volumes[index].projected.sources[index].secret.items[index]` +### `SpinApp.spec.volumes[index].projected.sources[index].secret.items[index]` [back to parent](#spinappspecvolumesindexprojectedsourcesindexsecret) @@ -4397,7 +4536,7 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].projected.sources[index].serviceAccountToken` +### `SpinApp.spec.volumes[index].projected.sources[index].serviceAccountToken` [back to parent](#spinappspecvolumesindexprojectedsourcesindex) @@ -4448,7 +4587,7 @@ and must be at least 10 minutes.
-### `SpinApp.spec.volumes[index].quobyte` +### `SpinApp.spec.volumes[index].quobyte` [back to parent](#spinappspecvolumesindex) @@ -4515,12 +4654,12 @@ Defaults to serivceaccount user
-### `SpinApp.spec.volumes[index].rbd` +### `SpinApp.spec.volumes[index].rbd` [back to parent](#spinappspecvolumesindex) -rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: -https://examples.k8s.io/volumes/rbd/README.md +rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. +More info: https://examples.k8s.io/volumes/rbd/README.md @@ -4608,12 +4747,14 @@ More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
-### `SpinApp.spec.volumes[index].rbd.secretRef` +### `SpinApp.spec.volumes[index].rbd.secretRef` [back to parent](#spinappspecvolumesindexrbd) -secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default -is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it +secretRef is name of the authentication secret for RBDUser. If provided +overrides keyring. +Default is nil. +More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it @@ -4629,15 +4770,21 @@ is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].scaleIO` +### `SpinApp.spec.volumes[index].scaleIO` [back to parent](#spinappspecvolumesindex) @@ -4733,12 +4880,12 @@ that is associated with this volume source.
-### `SpinApp.spec.volumes[index].scaleIO.secretRef` +### `SpinApp.spec.volumes[index].scaleIO.secretRef` [back to parent](#spinappspecvolumesindexscaleio) -secretRef references to the secret for ScaleIO user and other sensitive information. If this is not -provided, Login operation will fail. +secretRef references to the secret for ScaleIO user and other +sensitive information. If this is not provided, Login operation will fail. @@ -4754,20 +4901,26 @@ provided, Login operation will fail.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].secret` +### `SpinApp.spec.volumes[index].secret` [back to parent](#spinappspecvolumesindex) -secret represents a secret that should populate this volume. More info: -https://kubernetes.io/docs/concepts/storage/volumes#secret +secret represents a secret that should populate this volume. +More info: https://kubernetes.io/docs/concepts/storage/volumes#secret @@ -4825,7 +4978,7 @@ More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
-### `SpinApp.spec.volumes[index].secret.items[index]` +### `SpinApp.spec.volumes[index].secret.items[index]` [back to parent](#spinappspecvolumesindexsecret) @@ -4875,7 +5028,7 @@ mode, like fsGroup, and the result can be other mode bits set.
-### `SpinApp.spec.volumes[index].storageos` +### `SpinApp.spec.volumes[index].storageos` [back to parent](#spinappspecvolumesindex) @@ -4939,12 +5092,12 @@ Namespaces that do not pre-exist within StorageOS will be created.
-### `SpinApp.spec.volumes[index].storageos.secretRef` +### `SpinApp.spec.volumes[index].storageos.secretRef` [back to parent](#spinappspecvolumesindexstorageos) -secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not -specified, default values will be attempted. +secretRef specifies the secret to use for obtaining the StorageOS API +credentials. If not specified, default values will be attempted. @@ -4960,15 +5113,21 @@ specified, default values will be attempted.
string Name of the referent. +This field is effectively required, but due to backwards compatibility is +allowed to be empty. Instances of this type with an empty value here are +almost certainly wrong. +TODO: Add other useful fields. apiVersion, kind, uid? More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names -TODO: Add other useful fields. apiVersion, kind, uid?
+TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
+
+ Default:
false
-### `SpinApp.spec.volumes[index].vsphereVolume` +### `SpinApp.spec.volumes[index].vsphereVolume` [back to parent](#spinappspecvolumesindex) @@ -5017,7 +5176,7 @@ Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
-### `SpinApp.status` +### `SpinApp.status` [back to parent](#spinapp) @@ -5066,21 +5225,23 @@ For further information see: https://github.com/kubernetes/community/blob/master -### `SpinApp.status.conditions[index]` +### `SpinApp.status.conditions[index]` [back to parent](#spinappstatus) Condition contains details for one aspect of the current state of this API Resource. --- -This struct is intended for direct use as an array at the field path .status.conditions. For -example, +This struct is intended for direct use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a foo's current state. // Known - .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type - // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" - protobuf:"bytes,1,rep,name=conditions"` + type FooStatus struct{ + // Represents the observations of a foo's current state. + // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" + // +patchMergeKey=type + // +patchStrategy=merge + // +listType=map + // +listMapKey=type + Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // other fields @@ -5158,3 +5319,5 @@ with respect to the current state of the instance.
false + +