Parameters

The parent key for all of the following parameters is crossplane.

namespace

type

string

default

syn-crossplane

The namespace in which to deploy Crossplane.

providers

type

dictionary

default

undefined

A dictionary holding the Crossplane providers to be installed. The keys of the dict are used as names for the Provider objects.

monitoring.enabled

type

bool

default

true

If monitoring should be enabled for this component. Requires the Prometheus Operator to be installed.

monitoring.prometheus_rule_labels

type

dict

default

{"prometheus":"platform"}

Labels to set on the alert rule configuration. Can be used to ensure prometheus-operator picks up the PrometheusRule object by setting appropriate labels.

serviceAccounts

type

dict

default

{}

example
provider-helm: {}

This parameter allows users to deploy arbitrary service accounts. Each entry is transformed into a ServiceAccount resource. The key is used as the name of the resulting resource. The provided value is merged with an empty ServiceAccount resource. The component doesn’t validate the provided service account configuration.

A ServiceAccount name which matches a Provider name will generate a ControllerConfig resource for that provider.

clusterRoles

type

dict

default

{}

example
"cluster-role-name":
  rules:
    - verbs:
        - '*'
      apiGroups:
        - k8up.io
      resources:
        - schedules

This parameter allows users to deploy arbitrary cluster roles. Each entry is transformed into a ClusterRole resource. The key is used as the name of the resulting resource. The provided value is merged with an empty ClusterRole resource. The component doesn’t validate the provided cluster role configuration.

clusterRoleBindings

type

dict

default

{}

example
"cluster-role-binding-name":
  roleRef:
    kind: ClusterRole
    name: cluster-role-name
  subjects:
    - kind: ServiceAccount
      name: any-sa
      namespace: any-namespace

This parameter allows users to deploy arbitrary cluster role bindings. Each entry is transformed into a ClusterRoleBinding resource. The key is used as the name of the resulting resource. The provided value is merged with an empty ClusterRoleBinding resource. The component doesn’t validate the provided cluster role binding configuration.

controllerConfigs

type

dict

default

{}

example
"controller-config-name":
  spec:
    serviceAccountName: my-service
    image: docker.io/repo/image.latest

This parameter allows users to deploy arbitrary controller configs. Each entry is transformed into a ControllerConfig resource. The key is used as the name of the resulting resource. The provided value is merged with an empty ControllerConfig resource. The component doesn’t validate the provided ControllerConfig spec.

If a key in controllerConfigs matches a key in parameters.crossplane.serviceAccounts, then the ControllerConfig’s spec.serviceAccountName is overwritten and set equal to the matching key of parameters.crossplane.serviceAccounts.

providerConfigs

type

dict

default

{}

example
"provider-name-two": (1)
  apiVersion: helm.crossplane.io/v1beta1 (2)
  spec: (3)
    credentials:
      source: InjectedIdentity
1 The key is used as the name of the resulting resource.
2 Setting apiVersion defines in which the API group the ProviderConfig belongs to.
3 The provided spec is merged with an empty ProviderConfig resource.

This parameter allows users to deploy arbitrary provider configs. Each entry is transformed into a ProviderConfig resource. The component doesn’t validate the provided ProviderConfig spec.

helmValues

type

dict

Values to configure the Helm chart. See the docs for available parameters.

Example

parameters:
  crossplane:
    images:
      crossplane:
        registry: mymirror.io
    providers:
      helm:
        package: crossplane/provider-helm:v0.3.5
    monitoring:
      enabled: false
    helmValues:
      resourcesCrossplane:
        limits:
          cpu: 2000m
        requests:
          cpu: 1000m