diff --git a/README.md b/README.md index 3f14898..e00ac7c 100644 --- a/README.md +++ b/README.md @@ -13,25 +13,26 @@ The official repository for all Spot Helm Charts for Kubernetes. ## Installation -1. Add the chart repository: +1. Add the Spot Helm chart repository: ```sh helm repo add spot https://charts.spot.io ``` -2. Update information of available charts: +2. Update your local Helm chart repository cache: ```sh helm repo update ``` -3. Install a chart. For example, install the Ocean Controller: +3. Install a chart. For example, install the Ocean Operator: ```sh -helm install ocean-controller spot/ocean-controller \ +helm install ocean-operator spot/ocean-operator \ --set spotinst.token=REDACTED \ --set spotinst.account=REDACTED \ - --set spotinst.clusterIdentifier=REDACTED + --set spotinst.clusterIdentifier=REDACTED \ + # [...] ``` > NOTE: Please configure all required chart values using the `set` command line argument or a `values.yaml` file. diff --git a/charts/wave-operator/Chart.yaml b/charts/wave-operator/Chart.yaml index 7991db5..4401263 100644 --- a/charts/wave-operator/Chart.yaml +++ b/charts/wave-operator/Chart.yaml @@ -1,17 +1,17 @@ apiVersion: v2 name: wave-operator -description: A Helm chart for Kubernetes +description: A Helm chart for Wave Operator type: application -version: 0.2.4 +version: 0.2.5 appVersion: 0.3.0 -home: https://github.com/spotinst/charts +home: https://github.com/spotinst/charts/tree/main/charts/wave-operator icon: https://docs.spot.io/_media/images/spot_mark.png sources: - https://github.com/spotinst/wave-operator keywords: - spot -- toolkit -- ocean +- wave +- operator maintainers: - name: ntfrnzn email: nate.franzen@netapp.com diff --git a/charts/wave-operator/README.md b/charts/wave-operator/README.md index 42aa6cf..8055bc4 100644 --- a/charts/wave-operator/README.md +++ b/charts/wave-operator/README.md @@ -1,53 +1,59 @@ -# Wave Operator +# wave-operator -Helm chart to deploy the Wave Operator +![Version: 0.2.5](https://img.shields.io/badge/Version-0.2.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.3.0](https://img.shields.io/badge/AppVersion-0.3.0-informational?style=flat-square) -This chart is usually invoked by the [spotcl](https://github.com/spotinst/spotctl) tool, -but may also be run manually. +A Helm chart for Wave Operator. This chart is usually invoked by the [spotctl](https://github.com/spotinst/spotctl) tool, but may also be run manually. -## Requirements +## Prerequisites -| Repository | Name | Version | -| --------------------------------- | -------------- | ------- | -| "https://charts.jetstack.io" | cert-manager | 1.0.4+ | - -Cert Manager *must* be installed before the Wave Operator, as several compoenents depend on -certificate request. It is not necessary to use the cert-manager helm chart, if some -other installation method is preferred. - -## Values - -The default values should be satisfactory in every case. Documentation will be added here -when additional configuration proves necessary. +| Repository | Name | Version | Notes | +| -------------------------- | -------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| https://charts.jetstack.io | `cert-manager` | `>= 1.0.4` | [Cert Manager](https://cert-manager.io/) must be installed before the Wave Operator, as several components depend on certificate request. It is not necessary to use the `cert-manager` Helm chart, if some other installation method is preferred. | ## Installation -1. Add the chart repository: +1. Add the Spot Helm chart repository: ```sh -$ helm repo add spot https://charts.spot.io +helm repo add spot https://charts.spot.io ``` -2. Update information of available charts: +2. Update your local Helm chart repository cache: ```sh -$ helm repo update +helm repo update ``` -3. Install Cert Manager - -Use one of the methds described in the [documentation](https://cert-manager.io/docs/installation/kubernetes/) - -4. Install the Wave Operator: +3. Install `wave-operator`: ```sh -$ helm install wave-operator spot/wave-operator +helm install my-release spot/wave-operator [...] ``` -## Development +> NOTE: Please configure all required chart values using the `set` command line argument or a `values.yaml` file. -Because the wave operator is highly dependent on cert manager, it's not currently possible -to run the automatic github actions using the [ct](https://github.com/helm/chart-testing) -tool. Therefore, upgrades to this chart should be tested very carefully outside of the -CI process. +## Values +| Key | Type | Default | Description | +| -------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| affinity.nodeAffinity | object | `{"preferredDuringSchedulingIgnoredDuringExecution":[{"preference":{"matchExpressions":[{"key":"spotinst.io/node-lifecycle","operator":"In","values":["od"]}]},"weight":1}]}` | Node affinity. | +| fullnameOverride | string | `""` | | +| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. | +| image.repository | string | `"public.ecr.aws/l8m2k1n1/netapp/wave-operator"` | Image repository. | +| image.tag | string | `nil` | Overrides the image tag whose default is latest. | +| imagePullSecrets | list | `[]` | Image pull secrets. | +| nameOverride | string | `""` | | +| nodeSelector | object | `{}` | Node selector. | +| podAnnotations | object | `{}` | Pod annotations. Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ | +| podSecurityContext | object | `{}` | Pod security context. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod | +| replicaCount | int | `1` | Replicas. Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#replicas | +| resources | object | `{"limits":{"cpu":"500m","memory":"500Mi"},"requests":{"cpu":"50m","memory":"50Mi"}}` | Resource requests and limits. Ref: http://kubernetes.io/docs/user-guide/compute-resources/ | +| securityContext | object | `{}` | Container security context. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container | +| serviceAccount.annotations | object | `{}` | Service account annotations. | +| serviceAccount.create | bool | `true` | Controls whether a service account should be created. | +| serviceAccount.name | string | `"wave-operator"` | Service account name. | +| tolerations | list | `[]` | Tolerations for nodes that have taints on them. Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ | + +--- + +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/wave-operator/README.md.gotmpl b/charts/wave-operator/README.md.gotmpl new file mode 100644 index 0000000..426a6ff --- /dev/null +++ b/charts/wave-operator/README.md.gotmpl @@ -0,0 +1,41 @@ +{{ template "chart.header" . }} + +{{ template "chart.deprecationWarning" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +{{ template "chart.description" . }}. This chart is usually invoked by the [spotctl](https://github.com/spotinst/spotctl) tool, but may also be run manually. + +## Prerequisites + +| Repository | Name | Version | Notes | +| -------------------------- | -------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| https://charts.jetstack.io | `cert-manager` | `>= 1.0.4` | [Cert Manager](https://cert-manager.io/) must be installed before the Wave Operator, as several components depend on certificate request. It is not necessary to use the `cert-manager` Helm chart, if some other installation method is preferred. | + +## Installation + +1. Add the Spot Helm chart repository: + +```sh +helm repo add spot https://charts.spot.io +``` + +2. Update your local Helm chart repository cache: + +```sh +helm repo update +``` + +3. Install `{{ template "chart.name" . }}`: + +```sh +helm install my-release spot/{{ template "chart.name" . }} [...] +``` + +> NOTE: Please configure all required chart values using the `set` command line argument or a `values.yaml` file. + +{{ template "chart.requirementsSection" . }} + +{{ template "chart.valuesSection" . }} + +{{ template "helm-docs.versionFooter" . }} diff --git a/charts/wave-operator/values.yaml b/charts/wave-operator/values.yaml index 9d7be59..2445209 100644 --- a/charts/wave-operator/values.yaml +++ b/charts/wave-operator/values.yaml @@ -1,29 +1,44 @@ -# Default values for wave-operator. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - +# -- Replicas. +# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#replicas replicaCount: 1 +# Image. +# Ref: https://kubernetes.io/docs/concepts/containers/images/ image: + # -- Image repository. repository: public.ecr.aws/l8m2k1n1/netapp/wave-operator + # -- Image pull policy. pullPolicy: IfNotPresent - # Overrides the image tag whose default is latest + # -- Overrides the image tag whose default is latest. tag: +# -- Image pull secrets. imagePullSecrets: [] + nameOverride: "" fullnameOverride: "" +# Service account. +# Ref: serviceAccount: + # -- Controls whether a service account should be created. create: true + # -- Service account annotations. annotations: {} + # -- Service account name. name: wave-operator +# -- Pod annotations. +# Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: {} +# -- Pod security context. +# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod podSecurityContext: {} # fsGroup: 2000 +# -- Container security context. +# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container securityContext: {} # capabilities: # drop: @@ -32,6 +47,8 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 +# -- Resource requests and limits. +# Ref: http://kubernetes.io/docs/user-guide/compute-resources/ resources: limits: cpu: 500m @@ -40,12 +57,17 @@ resources: cpu: 50m memory: 50Mi - +# -- Node selector. nodeSelector: {} +# -- Tolerations for nodes that have taints on them. +# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: [] +# Pod scheduling preferences. +# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity affinity: + # -- Node affinity. nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1