# image and it's sub-properties define which image will be used.
image:
  # Registry in which the kubernetes connector image is stored (default: docker hub)
  registry: "configseeder"
  # Tag of the kubernetes connector image to use
  tag: "1.8.1-alpine"
  # Name of (an existing) secret which holds the credentials to access the kubernetes connector image)
  pullSecret: ""

# kubernetesConnector and it's sub-properties define the behavior of the kubernetes connector.
kubernetesConnector:
  # apiKeySecretName is the name of an existing secret containing the api key for accessing the configseeder (connector.configseeder.apiKey).
  apiKeySecretName: "kubernetes-connector-apikey"

  # cronJobName is the name of the configseeder kubernetes connector cronjob
  cronJobName: kubernetes-connector

  # kubernetesConnector and it's sub-properties define the connection between kubernetes connector and configseeder.
  configseeder:
    # serverUrl points to the ConfigSeeder management instance where the value provider reads the data from (property connector.configseeder.serverUrl)
    serverUrl: ""
    # tenantKeys defines to which tenant should the kubernetes connector will connect to (connector.configseeder.tenantKeys).
    tenantKey: "default"
    # environmentKey defines the environment which should be read & managed by kubernetes connector (connector.configseeder.environmentKey).
    environmentKey: ""
    # configurationGroupKeys defines the configuration groups, which should be read & managed by kubernetes connector (connector.configseeder.configurationGroupKeys).
    configurationGroupKeys: ""
    # connectionTimeout defines the timeout in milliseconds for creating the connection to ConfigSeeder (connector.configseeder.connectionTimeout).
    connectionTimeout: "5000"
    # readTimeout defines the timeout in milliseconds for reading data on the connection to ConfigSeeder (connector.configseeder.readTimeout).
    readTimeout: "5000"

  # logLevel defines the log level (connector.log.level). Set to "Debug" if more logs are required.
  logLevel: "Info"

  # apikey and it's sub-properties control if and how kubernetes connector should manage api keys for accessing ConfigSeeder.
  apikey:
    # disabled controls if the api key management module is active or not (connector.apikey.disabled).
    disabled: "false"
    # lifetimeInDays controls the default lifetime of a newly created api key (connector.apikey.lifetimeInDays). This value can be overwritten per api key.
    lifetimeInDays: "90"
    # recreateDaysBeforeExpiration defines how many days before reaching the expiration date an api key will be replaced (connector.apikey.recreateDaysBeforeExpiration). This value can be overwritten per api key.
    recreateDaysBeforeExpiration: "30"

  # configmap and it's sub-properties control if and how kubernetes connector should manage configmaps.
  configmap:
    # disabled controls if the configmap management module is active or not (connector.configmap.disabled).
    disabled: "false"

  # configmap and it's sub-properties control if and how kubernetes connector should manage secrets.
  secret:
    # disabled controls if the secret management module is active or not (connector.secret.disabled).
    disabled: "false"

  # state and it's sub-properties control where kubernetes connector stores its state.
  state:
    # name of the configmap in which the state of the kubernetes connector is stored (connector.statemanager.name).
    name: "kubernetes-connector-state"
    # namespace of the configmap in which the state of the kubernetes connector is stored (connector.statemanager.namespace).
    namespace: ""

  # startupRetryWaitTime controles the time, kubernetes connectors waits to try a reconnect if the connection to configseeder can'b be established (connector.startupRetryWaitTime).
  startupRetryWaitTime: "10000"

# injectCertificates and it's sub-properties define if additional certificates should be used when accessing ConfigSeeder via https
injectCertificates:
  # required true enables the injection mechanism for additional certificates
  required: false
  # name is the name of the ConfigMap that holds the additional certificates for the tls verification. Uses the key certificates.pem.
  name: kubernetes-connector-ca-certificates
  # create true instructs the chart to create a ConfigMap with the name #name, key certificates.pem and value #pem
  create: false
  # pem contains the certificate(s) that will be added to the ConfigMap holding the certificates to inject to kubernetes connector
  pem: ""

# jobConfig and it's sub-properties controls the behavior of the cronJob
jobConfig:
  # schedule defines the value of spec.schedule. controls how often the cronJob will be run, defaults to 'Execute every 5 minutes'.
  schedule: "*/5 * * * *"
  # failedJobsHistoryLimit defines the value of spec.failedJobsHistoryLimit
  failedJobsHistoryLimit: 5
  # successfulJobsHistoryLimit defines the value of spec.failedJobsHistoryLimit
  successfulJobsHistoryLimit: 5

# resource and it's sub-properties control the resource consumption of kubernetes connector.
resource:
  # memory defines the value of resources.requests.memory and resources.requests.memory
  memory: "50Mi"
  # cpuRequest defines the value of resources.requests.cpu
  cpuRequest: "50m"
  # cpuLimit defines the value of resources.limits.cpu
  cpuLimit: "200m"

# securityContext and it's sub-properties control the configuration of the security context. Override with `securityContext: null` if no securityContext should be set
securityContext:
  # runAsUser defines the value of securityContext.runAsUser
  runAsUser: 1000

# serviceAccount and it's sub-properties control which serviceAccount will be used.
serviceAccount:
  # create controls if a new service account is created by the chart of if an existing serviceaccount is reused
  create: true
  # name defines the name of the service account used by the kubernetes connector
  name: "kubernetes-connector"

# rbacState and it's sub-properties control if the kubernetes connector can only manage its state in the namespace
rbacState:
  # create controls if the rbac role granting crud permissions for state inside the deployed namespaces is created.
  create: true
  # roleName defines the name of the role which grants the kubernetes connector permission to store and load it's state.
  roleName: "kubernetes-connector-state"
  # roleBindingName defines the name of the role binding which grants the kubernetes connector permission to store and load it's state.
  roleBindingName: "kubernetes-connector-state"

# rbacObjects and it's sub-properties control if the kubernetes connector can manage all objects in the namespace
rbacObjects:
  # create controls if the rbac role granting crud permissions for all objects inside the deployed namespaces is created.
  create: false
  # roleName defines the name of the role which grants the kubernetes connector permission to store and load it's state.
  roleName: "kubernetes-connector-objects"
  # roleBindingName defines the name of the role binding which grants the kubernetes connector permission to store and load it's state.
  roleBindingName: "kubernetes-connector-objects"

# psp and it's sub-properties control if and how pod security policies are used.
psp:
  # create controls if a cluster role binding the service account to a psp should be created or not
  create: false
  # name is the name of the cluster role binding for binding a psp to the service account (only created if psp is enabled, see psp.enabled)
  name: kubernetes-connector-psp
  # existingPspClusterRole is the name of the cluster role referencing the psp. This cluster role must already exist.
  existingPspClusterRole: psp:restricted

# customAnnotations allows to set custom annotations (key value pairs: key: value)
customAnnotations: {}
# customLabels allows to set custom labels (key value pairs: key: value)
customLabels: {}