Skip to content

Overrides

The table below describes the list of actions that can be performed on "Cluster Overrides" using the RCTL CLI Utility.

Resource Create Get Update Delete
Cluster Overrides YES YES YES YES

Create Cluster Override for Addons / Workloads

Important

Examples below are shown for an addon. To define overrides for a workload you would use the type "ClusterOverrideTypeWorkload".

An example of a workload cluster override spec YAML is shown below. The example is using multiple cluster labels as the selector.

kind: ClusterOverride
apiVersion: config.rafay.dev/v2
metadata:
  name: override-test-env-clusters-with-inline-values
spec:
  clusterSelector: rafay.dev/clusterType in (aws-eks),rafay.dev/monitoring in (enabled)
  resourceSelector: rafay.dev/name=override-workload
  type: ClusterOverrideTypeWorkload
  overrideValues: |
    replicaCount: 1
    image:
      repository: nginx
      pullPolicy: Always
      tag: "1.19.8"
    service:
      type: ClusterIP
      port: 8080

Declarative (Inline)

Use the following command to create a cluster override for your addon named "aws-lb-controller" using inline values.

./rctl create co -f cluster-override-addon-spec.yml

An illustrative example of the cluster override spec YAML file is shown below.

kind: ClusterOverride
apiVersion: config.rafay.dev/v2
metadata:
  name: co-with-inline-values-my-cluster-name
spec:
  clusterSelector: rafay.dev/clusterName in (my-cluster-name)
  resourceSelector: rafay.dev/name=aws-lb-controller
  type: ClusterOverrideTypeAddon
  overrideValues: |
    clusterName: my-cluster-name

Declarative (local file)

Use the following command to create a cluster override for your addon named "aws-lb-controller" using values defined in a local file.

./rctl create co -f co-addon-spec-local.yml

An illustrative example of the cluster override spec YAML file is shown below.

kind: ClusterOverride
apiVersion: config.rafay.dev/v2
metadata:
  name: co-with-local-values-my-cluster-name
spec:
  clusterSelector: rafay.dev/clusterName in (my-cluster-name)
  resourceSelector: rafay.dev/name=aws-lb-controller
  type: ClusterOverrideTypeAddon
  valuesFile: ./override-values.yaml

An example of the valuesFile "override-values.yaml" used above.

clusterName: my-cluster-name

Declarative (Git)

Use the following command to create a cluster override for your addon named "aws-lb-controller" using a values file stored in your Git repo.

./rctl create co -f co-addon-spec-git.yml

An illustrative example of the cluster override spec YAML file is shown below.

kind: ClusterOverride
apiVersion: config.rafay.dev/v2
metadata:
  name: co-with-git-values-my-cluster-name
spec:
  clusterSelector: rafay.dev/clusterName in (my-cluster-name)
  resourceSelector: rafay.dev/name=aws-lb-controller
  type: ClusterOverrideTypeAddon
  valuesRepoRef: my-git-repo
  valuesRepoArtifactMeta:
    git:
      revision: main
      repoArtifactFiles:
      - name: override-values.yaml
        relPath: override-values.yaml
        fileType: K8sYAMLFile

An example of the valuesFile "override-values.yaml" used above.

clusterName: my-cluster-name

List Cluster Overrides

Use this command to retrieve the list of cluster overrides in the configured Project. The name of the override, cluster selector, resource selector, type, and the override values are returned.

./rctl get co --type ClusterOverrideTypeAddon
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+------------------------------+
| OVERRIDE NAME                         | CLUSTER SELECTOR               | RESOURCE SELECTOR                | TYPE                     | OVERRIDE VALUES              |
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+------------------------------+
| co-with-inline-values-my-cluster-name | rafay.dev/clusterName in       | rafay.dev/name=aws-lb-controller | ClusterOverrideTypeAddon | clusterName: my-cluster-name |
|                                       | (my-cluster-name)              |                                  |                          |                              |
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+------------------------------+

Update Cluster Override

Use this command to update a cluster override in the configured project.

./rctl update co -f cluster-override-addon-spec-update.yaml

An illustrative example of the cluster override update spec YAML file is shown below. T

kind: ClusterOverride
apiVersion: config.rafay.dev/v2
metadata:
  name: co-with-inline-values-my-cluster-name
spec:
  clusterSelector: rafay.dev/clusterName in (my-cluster-name)
  resourceSelector: rafay.dev/name=aws-lb-controller
  type: ClusterOverrideTypeAddon
  overrideValues: |
    clusterName: my-cluster-name
    replicaCount: 2
    enableCertManager: true
    terminationGracePeriodSeconds: 10

Use the command below to verify the updates have been applied to the cluster override.

./rctl get co --type ClusterOverrideTypeAddon
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+--------------------------------+
| OVERRIDE NAME                         | CLUSTER SELECTOR               | RESOURCE SELECTOR                | TYPE                     | OVERRIDE VALUES                |
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+--------------------------------+
| co-with-inline-values-my-cluster-name | rafay.dev/clusterName in       | rafay.dev/name=aws-lb-controller | ClusterOverrideTypeAddon | clusterName: my-cluster-name   |
|                                       | (my-cluster-name)              |                                  |                          | replicaCount: 2                |
|                                       |                                |                                  |                          | enableCertManager: true        |
|                                       |                                |                                  |                          | terminationGracePeriodSeconds: |
|                                       |                                |                                  |                          | 10                             |
+---------------------------------------+--------------------------------+----------------------------------+--------------------------+--------------------------------+

Delete Cluster Override

You can delete a cluster override in the configured project.

./rctl delete co co-with-inline-values-my-cluster-name --type ClusterOverrideTypeAddon

Cluster Overrides for Blueprints

Cluster Overrides for Workloads