Skip to content

Commit

Permalink
Merge branch 'master' into update-cve-report
Browse files Browse the repository at this point in the history
  • Loading branch information
kodiak-appscode[bot] authored Jan 17, 2025
2 parents f7817f0 + 862ddc7 commit f12f3cc
Show file tree
Hide file tree
Showing 7 changed files with 390 additions and 0 deletions.
17 changes: 17 additions & 0 deletions apis/installer/v1alpha1/kubestash_operator_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,23 @@ type KubestashOperatorSpec struct {
NetVolAccessor NetVolAccessor `json:"netVolAccessor"`
// +optional
License string `json:"license"`
// List of sources to populate environment variables in the container.
// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
// will be reported as an event when the container is starting. When a key exists in multiple
// sources, the value associated with the last source will take precedence.
// Values defined by an Env with a duplicate key will take precedence.
// Cannot be updated.
// +optional
// +listType=atomic
EnvFrom []core.EnvFromSource `json:"envFrom"`
// List of environment variables to set in the container.
// Cannot be updated.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Env []core.EnvVar `json:"env"`
}

type ImageRef struct {
Expand Down
14 changes: 14 additions & 0 deletions apis/installer/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions charts/kubestash-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ The following table lists the configurable parameters of the `kubestash-operator
| netVolAccessor.memory | Memory for each network volume accessor deployment | <code>"128Mi"</code> |
| netVolAccessor.runAsUser | Run the network volume accessor with this UID. | <code>2000</code> |
| netVolAccessor.privileged | Run the network volume accessor deployments in privileged mode | <code>false</code> |
| envFrom | List of sources to populate environment variables in the container | <code>[]</code> |
| env | List of environment variables to set in the container | <code>[]</code> |


Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
Expand Down
7 changes: 7 additions & 0 deletions charts/kubestash-operator/templates/operator/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,14 @@ spec:
{{- if include "appscode.licenseSecretName" . }}
- --license-file=/var/run/secrets/appscode/license/key.txt
{{- end }}
{{- with .Values.envFrom }}
envFrom:
{{- toYaml . | nindent 8 }}
{{- end }}
env:
{{- with .Values.env }}
{{- toYaml . | nindent 8 }}
{{- end }}
- name: POD_NAME
valueFrom:
fieldRef:
Expand Down
169 changes: 169 additions & 0 deletions charts/kubestash-operator/values.openapiv3_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2143,6 +2143,175 @@ properties:
type: object
criticalAddon:
type: boolean
env:
description: List of environment variables to set in the container. Cannot be
updated.
items:
description: EnvVar represents an environment variable present in a Container.
properties:
name:
description: Name of the environment variable. Must be a C_IDENTIFIER.
type: string
value:
description: 'Variable references $(VAR_NAME) are expanded using the previously
defined environment variables in the container and any service environment
variables. If a variable cannot be resolved, the reference in the input
string will be unchanged. Double $$ are reduced to a single $, which allows
for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce
the string literal "$(VAR_NAME)". Escaped references will never be expanded,
regardless of whether the variable exists or not. Defaults to "".'
type: string
valueFrom:
description: Source for the environment variable's value. Cannot be used
if value is not empty.
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
default: ''
description: '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: Drop `kubebuilder:default` when controller-gen doesn''t
need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
fieldRef:
description: 'Selects a field of the pod: supports metadata.name, metadata.namespace,
`metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, spec.nodeName,
spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.'
properties:
apiVersion:
description: Version of the schema the FieldPath is written in terms
of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
description: '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.'
properties:
containerName:
description: 'Container name: required for volumes, optional for
env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed resources,
defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
secretKeyRef:
description: Selects a key of a secret in the pod's namespace
properties:
key:
description: The key of the secret to select from. Must be a valid
secret key.
type: string
name:
default: ''
description: '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: Drop `kubebuilder:default` when controller-gen doesn''t
need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
envFrom:
description: List of sources to populate environment variables in the container.
The keys defined within a source must be a C_IDENTIFIER. All invalid keys will
be reported as an event when the container is starting. When a key exists in
multiple sources, the value associated with the last source will take precedence.
Values defined by an Env with a duplicate key will take precedence. Cannot be
updated.
items:
description: EnvFromSource represents the source of a set of ConfigMaps
properties:
configMapRef:
description: The ConfigMap to select from
properties:
name:
default: ''
description: '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: Drop `kubebuilder:default` when controller-gen doesn''t need
it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
type: string
optional:
description: Specify whether the ConfigMap must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
prefix:
description: An optional identifier to prepend to each key in the ConfigMap.
Must be a C_IDENTIFIER.
type: string
secretRef:
description: The Secret to select from
properties:
name:
default: ''
description: '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: Drop `kubebuilder:default` when controller-gen doesn''t need
it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.'
type: string
optional:
description: Specify whether the Secret must be defined
type: boolean
type: object
x-kubernetes-map-type: atomic
type: object
type: array
x-kubernetes-list-type: atomic
fullnameOverride:
type: string
imagePullPolicy:
Expand Down
6 changes: 6 additions & 0 deletions charts/kubestash-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -189,3 +189,9 @@ netVolAccessor:
runAsUser: 2000
# Run the network volume accessor deployments in privileged mode
privileged: false


# List of sources to populate environment variables in the container
envFrom: []
# List of environment variables to set in the container
env: []
Loading

0 comments on commit f12f3cc

Please sign in to comment.