diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
index d9ae6f98..afb42664 100644
--- a/.github/workflows/deploy.yaml
+++ b/.github/workflows/deploy.yaml
@@ -46,8 +46,8 @@ jobs:
go-version: '1.22.x'
cache: true
- - name: Generate CRD reference docs
- run: npm run generate:crd:reference
+ - name: Check CRD reference docs
+ run: npm run check:crd:reference
- name: Build
run: |
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index eacfa211..b2c3291e 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -29,8 +29,8 @@ jobs:
go-version: '1.22.x'
cache: true
- - name: Generate CRD reference docs
- run: npm run generate:crd:reference
+ - name: Check CRD reference docs
+ run: npm run check:crd:reference
- name: Build
run: |
diff --git a/content/en/docs/reference/spin-app-executor.md b/content/en/docs/reference/spin-app-executor.md
index e8d55d68..2cb3b148 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 f6c939bd..4b8f4b5e 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 |
+
+
diff --git a/crd-reference/check.sh b/crd-reference/check.sh
new file mode 100755
index 00000000..1d6884a8
--- /dev/null
+++ b/crd-reference/check.sh
@@ -0,0 +1,36 @@
+#! /bin/bash
+
+# Checks to make sure that the reference docs in the content/en/docs/reference directory
+# are up-to-date with the Spin Operator CRDs
+
+script_dir=$(dirname "$0")
+
+cd $script_dir
+
+echo "Checking for changes..."
+cp ../content/en/docs/reference/spin-app-executor.md spin-app-executor.yaml.bak
+cp ../content/en/docs/reference/spin-app.md spin-app.yaml.bak
+
+./generate.sh > /dev/null 2>&1
+
+has_changes=false
+diff ../content/en/docs/reference/spin-app-executor.md spin-app-executor.yaml.bak > /dev/null
+if [ $? -ne 0 ]; then
+ has_changes=true
+ echo "Changes found in spin-app-executor.md"
+fi
+diff ../content/en/docs/reference/spin-app.md spin-app.yaml.bak > /dev/null
+if [ $? -ne 0 ]; then
+ has_changes=true
+ echo "Changes found in spin-app.md"
+fi
+
+mv spin-app-executor.yaml.bak ../content/en/docs/reference/spin-app-executor.md
+mv spin-app.yaml.bak ../content/en/docs/reference/spin-app.md
+
+if $has_changes; then
+ echo "Changes found. Please run ./generate.sh"
+ exit 1
+fi
+
+echo "No changes found"
\ No newline at end of file
diff --git a/crd-reference/generate.sh b/crd-reference/generate.sh
index eb2a479b..47db11ca 100755
--- a/crd-reference/generate.sh
+++ b/crd-reference/generate.sh
@@ -1,9 +1,11 @@
#! /bin/bash
+# Generates the CRD reference docs for SpinAppExecutor and SpinApp and places them in the
+# content/en/docs/reference directory
+
set -eo pipefail
script_dir=$(dirname "$0")
-root_dir=$(dirname ${script_dir})
cd $script_dir
@@ -19,14 +21,14 @@ wget https://github.com/spinkube/spin-operator/releases/download/$SPIN_OPERATOR_
# Generate SpinAppExecutor Reference Docs
echo "Generating CRD reference docs for SpinAppExecutor"
crdoc -r ${spin_operator_crds_file} \
- -o ${root_dir}/content/en/docs/spin-operator/reference/spin-app-executor.md \
+ -o ../content/en/docs/reference/spin-app-executor.md \
--toc ./spin-app-executor-toc.yaml \
--template ./spin-operator.tmpl
echo "Generating CRD reference docs for SpinApp"
# Generate SpinApp Reference Docs
crdoc -r ${spin_operator_crds_file} \
- -o ${root_dir}/content/en/docs/spin-operator/reference/spin-app.md \
+ -o ../content/en/docs/reference/spin-app.md \
--toc ./spin-app-toc.yaml \
--template ./spin-operator.tmpl
diff --git a/package.json b/package.json
index 830c3540..8c46cdd4 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,8 @@
"test": "npm run check:links",
"update:pkg:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest",
"update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest",
- "generate:crd:reference": "./crd-reference/generate.sh"
+ "generate:crd:reference": "./crd-reference/generate.sh",
+ "check:crd:reference": "./crd-reference/check.sh"
},
"devDependencies": {
"autoprefixer": "^10.4.20",