223 lines
5.4 KiB
YAML
223 lines
5.4 KiB
YAML
# Default values for vault-secrets-webhook.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 2
|
|
|
|
debug: false
|
|
|
|
certificate:
|
|
useCertManager: false
|
|
servingCertificate: null
|
|
generate: true
|
|
server:
|
|
tls:
|
|
crt:
|
|
key:
|
|
ca:
|
|
crt:
|
|
extraAltNames: []
|
|
# use extra names if you want use the webhook via an ingress or a loadbalancer
|
|
|
|
image:
|
|
repository: ghcr.io/banzaicloud/vault-secrets-webhook
|
|
# tag: ""
|
|
pullPolicy: IfNotPresent
|
|
imagePullSecrets: []
|
|
|
|
service:
|
|
name: vault-secrets-webhook
|
|
type: ClusterIP
|
|
externalPort: 443
|
|
internalPort: 8443
|
|
annotations: {}
|
|
# Annotate service
|
|
# This can be used for example if type is AWS LoadBalancer and you want to add security groups
|
|
|
|
ingress:
|
|
enabled: false
|
|
annotations: {}
|
|
# dns of ingress for vault-webhook
|
|
# host: example.com
|
|
|
|
webhookClientConfig:
|
|
# By default the mutating webhook uses the service of the webhook directly to contact webhook
|
|
# Use url if webhook should be contacted over loadbalancer or ingress instead of service object
|
|
useUrl: false
|
|
# set the url how the webhook should be contacted (including protocol https://)
|
|
# url: https://example.com
|
|
|
|
vaultEnv:
|
|
repository: ghcr.io/banzaicloud/vault-env
|
|
# tag: ""
|
|
|
|
env:
|
|
VAULT_IMAGE: vault:1.6.2
|
|
# VAULT_CAPATH: /vault/tls
|
|
# # Used when the pod that should get secret injected does not
|
|
# # specify an imagePullSecret
|
|
# DEFAULT_IMAGE_PULL_SECRET:
|
|
# DEFAULT_IMAGE_PULL_SECRET_NAMESPACE:
|
|
# DEFAULT_IMAGE_PULL_SECRET_SERVICE_ACCOUNT
|
|
# VAULT_CLIENT_TIMEOUT: 10s
|
|
# # define the webhook's role in Vault used for authentication,
|
|
# # if not defined individually in resources by annotations.
|
|
# VAULT_ROLE: vault-secrets-webhook
|
|
# Resource requests and limits for init containers
|
|
# VAULT_ENV_CPU_REQUEST:
|
|
# VAULT_ENV_MEMORY_REQUEST:
|
|
# VAULT_ENV_CPU_LIMIT:
|
|
# VAULT_ENV_MEMORY_LIMIT
|
|
# VAULT_ENV_LOG_SERVER:
|
|
|
|
initContainers: []
|
|
## Containers, which are run before the app containers are started.
|
|
# - name: init-myservice
|
|
# image: busybox
|
|
# command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
|
|
|
|
metrics:
|
|
enabled: false
|
|
port: 8443
|
|
serviceMonitor:
|
|
enabled: false
|
|
scheme: https
|
|
tlsConfig:
|
|
insecureSkipVerify: true
|
|
|
|
securityContext:
|
|
runAsUser: 65534
|
|
allowPrivilegeEscalation: false
|
|
|
|
podSecurityContext: {}
|
|
|
|
volumes: []
|
|
# - name: vault-tls
|
|
# secret:
|
|
# secretName: vault-tls
|
|
|
|
volumeMounts: []
|
|
# - name: vault-tls
|
|
# mountPath: /vault/tls
|
|
|
|
podAnnotations: {}
|
|
|
|
labels: {}
|
|
# team: banzai
|
|
|
|
resources: {}
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
topologySpreadConstraints: {}
|
|
|
|
## Assign a PriorityClassName to pods if set
|
|
priorityClassName: ""
|
|
|
|
rbac:
|
|
psp:
|
|
enabled: false
|
|
authDelegatorRole:
|
|
enabled: false
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Labels to add to the service account
|
|
labels: {}
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# Enables GKE workload identity
|
|
# iam.gke.io/gcp-service-account: gsa@project.iam.gserviceaccount.com
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
deployment:
|
|
# Strategy for the deployment
|
|
strategy: {}
|
|
|
|
# A list of Kubernetes resource types to mutate as well:
|
|
# Example: ["ingresses", "servicemonitors"]
|
|
customResourceMutations: []
|
|
|
|
customResourcesFailurePolicy: Ignore
|
|
|
|
# This can cause issues when used with Helm, so it is not enabled by default
|
|
configMapMutation: false
|
|
|
|
# Whether to mutate Secrets with values from Vault. Set to false in order to prevent secret values from being persisted in Kubernetes.
|
|
secretsMutation: true
|
|
|
|
configMapFailurePolicy: Ignore
|
|
|
|
podsFailurePolicy: Ignore
|
|
|
|
secretsFailurePolicy: Ignore
|
|
|
|
apiSideEffectValue: NoneOnDryRun
|
|
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: name
|
|
operator: NotIn
|
|
values:
|
|
- kube-system
|
|
# https://kubernetes.io/docs/reference/labels-annotations-taints/#kubernetes-io-metadata-name
|
|
- key: kubernetes.io/metadata.name
|
|
operator: NotIn
|
|
values:
|
|
- kube-system
|
|
# matchLabels:
|
|
# vault-injection: enabled
|
|
|
|
# In case of the K8s cluster version is above 1.15 objectSelector is usable
|
|
objectSelector: {}
|
|
# matchExpressions:
|
|
# - key: security.banzaicloud.io/mutate
|
|
# operator: NotIn
|
|
# values:
|
|
# - skip
|
|
# matchLabels:
|
|
# vault-injection: enabled
|
|
|
|
# objectSelector & namespaceSelector for secrets resource (overrides `objectSelector`); Requires K8s 1.15+
|
|
secrets:
|
|
objectSelector: {}
|
|
namespaceSelector: {}
|
|
|
|
# objectSelector & namespaceSelector for pods resource (overrides `objectSelector`); Requires K8s 1.15+
|
|
pods:
|
|
objectSelector: {}
|
|
namespaceSelector: {}
|
|
|
|
# objectSelector & namespaceSelector for configmap resource (overrides `objectSelector`); Requires K8s 1.15+
|
|
configMaps:
|
|
objectSelector: {}
|
|
namespaceSelector: {}
|
|
|
|
# objectSelector & namespaceSelector for customResource resource (overrides `objectSelector`); Requires K8s 1.15+
|
|
customResources:
|
|
objectSelector: {}
|
|
namespaceSelector: {}
|
|
|
|
podDisruptionBudget:
|
|
enabled: true
|
|
minAvailable: 1
|
|
# maxUnavailable: 1
|
|
|
|
timeoutSeconds: false
|
|
|
|
hostNetwork: false
|
|
|
|
# If you're using celium (CNI) and you are required to set hostNetwork to true
|
|
# then pods with webhooks must set the dnsPolicy to "ClusterFirstWithHostNet"
|
|
dnsPolicy: ""
|
|
|
|
# Override cluster version
|
|
kubeVersion: ""
|