mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
Signed-off-by: Adam Hamsik <adam.hamsik@lablabs.io> Co-authored-by: Marian Soltys <msoltys@pixelfederation.com>
299 lines
8.8 KiB
YAML
299 lines
8.8 KiB
YAML
# Default values for vault.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
replicaCount: 3
|
|
## The name of the secret to use if pulling images from a private registry.
|
|
# imagePullSecret:
|
|
image:
|
|
repository: vault
|
|
tag:
|
|
pullPolicy: IfNotPresent
|
|
|
|
vaultExporter:
|
|
enabled: false
|
|
repository: grapeshot/vault_exporter
|
|
tag: v0.1.2
|
|
pullPolicy: IfNotPresent
|
|
vaultAddress: 127.0.0.1:8200
|
|
# tlsCAFile: /vault/tls/ca.crt
|
|
|
|
# Prometheus operator Service Monitor:
|
|
serviceMonitor:
|
|
enabled: false
|
|
additionalLabels: {}
|
|
# prometheus-scraper: "default"
|
|
podPortName: "metrics"
|
|
interval: 10s
|
|
jobLabel: "vault-exporter"
|
|
# Prometheus operator Rules:
|
|
prometheusRules:
|
|
enabled: false
|
|
defaultRules:
|
|
# Triggered when pod is not up
|
|
vaultUp: true
|
|
# Triggered when vault is not initialzed
|
|
vaultUninitialized: true
|
|
# Triggered when vault is sealed
|
|
vaultSealed: true
|
|
# Triggered when vault is in standby mode
|
|
vaultStandby: false
|
|
extraRules: []
|
|
# - alert: VaultStandby
|
|
# expr: vault_standby{app="vault", release="vault"} == 1
|
|
# for: 1m
|
|
# labels:
|
|
# service: vault
|
|
# severity: critical
|
|
# annotations:
|
|
# summary: "Vault instance {{$labels.pod_name}} is in standby mode"
|
|
|
|
consulAgent:
|
|
repository: consul
|
|
tag: 1.4.0
|
|
pullPolicy: IfNotPresent
|
|
# If you set join to a consul server endpoint, a consul agent will
|
|
# be started in the vault pod. If unset, no agent container is
|
|
# deployed.
|
|
# join: consul.service.consul
|
|
#
|
|
# If your consul server uses encrypted gossip, specify the secret
|
|
# name here. Format should match the stable/consul chart.
|
|
# gossipKeySecretName: gossip-key
|
|
#
|
|
# Optionally override the agent's http port
|
|
HttpPort: 8500
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
service:
|
|
name: vault
|
|
type: ClusterIP
|
|
# type: LoadBalancer
|
|
# Assign a static LB IP
|
|
# loadBalancerIP: 203.0.113.32
|
|
loadBalancerSourceRanges: []
|
|
# - 10.0.0.0/8
|
|
# - 130.211.204.2/32
|
|
externalPort: 8200
|
|
port: 8200
|
|
# clusterExternalPort: 8201
|
|
clusterPort: 8201
|
|
# clusterIP: None
|
|
annotations: {}
|
|
additionalSelector: {}
|
|
# cloud.google.com/load-balancer-type: "Internal"
|
|
#
|
|
# An example using type:loadbalancer and AWS internal ELB on kops
|
|
# type: LoadBalancer
|
|
# annotations:
|
|
# dns.alpha.kubernetes.io/internal: vault.internal.domain.name
|
|
# service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
|
|
|
ingress:
|
|
enabled: false
|
|
labels: {}
|
|
# Used to create Ingress record (should used with service.type: ClusterIP).
|
|
# hosts:
|
|
# - chart-example.local
|
|
# annotations:
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: "true"
|
|
# path: /
|
|
# tls:
|
|
# Secrets must be manually created in the namespace.
|
|
# - secretName: chart-example-tls
|
|
# hosts:
|
|
# - chart-example.local
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
## Node selector
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
|
nodeSelector: {}
|
|
|
|
## Affinity
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
topologyKey: kubernetes.io/hostname
|
|
labelSelector:
|
|
matchLabels:
|
|
app: '{{ template "vault.name" . }}'
|
|
release: '{{ .Release.Name }}'
|
|
|
|
## Tolerations
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
tolerations: []
|
|
|
|
## Deployment annotations
|
|
annotations: {}
|
|
|
|
## Extra Deployment labels
|
|
labels: {}
|
|
|
|
## Pod annotations
|
|
podAnnotations: {}
|
|
|
|
## Pod labels
|
|
podLabels: {}
|
|
|
|
## Read more about kube2iam to provide access to s3 https://github.com/jtblin/kube2iam
|
|
# iam.amazonaws.com/role: role-arn
|
|
|
|
## Sample for unsealing vault on startup
|
|
## if automation saves your unseal keys to a k8s secret on deploy
|
|
## writing a script to do this would be trivial and solves the
|
|
## issues of scaling up if deployed in HA.
|
|
# lifecycle:
|
|
# postStart:
|
|
# exec:
|
|
# command: ["./unseal -s my-unseal-keys"]
|
|
|
|
# Priority class name for pods
|
|
priorityClassName: ""
|
|
|
|
# Minimum number of seconds that newly created replicas must be ready without any containers
|
|
# crashing
|
|
minReadySeconds: 0
|
|
serviceAccount:
|
|
## Specifies whether a ServiceAccount should be created
|
|
##
|
|
create: true
|
|
## Annotations to set for the ServiceAccount
|
|
# annotations:
|
|
# my-annotation: my-annotation-value
|
|
annotations: {}
|
|
## The name of the ServiceAccount to use.
|
|
## If not set and create is true, a name is generated using the fullname template
|
|
# name:
|
|
|
|
vault:
|
|
# Only used to enable dev mode. When in dev mode, the rest of this config
|
|
# section below is not used to configure Vault. See
|
|
# https://www.vaultproject.io/intro/getting-started/dev-server.html for more
|
|
# information.
|
|
dev: true
|
|
# Configure additional arguments to pass to vault server command
|
|
extraArgs: []
|
|
# Configure additional environment variables for the Vault containers
|
|
extraEnv: []
|
|
# - name: VAULT_API_ADDR
|
|
# value: "https://vault.internal.domain.name:8200"
|
|
extraContainers: []
|
|
## Additional containers to be added to the Vault pod
|
|
# extraContainers:
|
|
# - name: vault-sidecar
|
|
# image: vault-sidecar:latest
|
|
# volumeMounts:
|
|
# - name: some-mount
|
|
# mountPath: /some/path
|
|
# Extra volumes to mount to the Vault pod. The comments show an example usage
|
|
# for mounting a TLS secret. In this example, the volume name must match
|
|
# the volumeMount name. The two other fields required are the name of the
|
|
# Kubernetes secret (created outside of this chart), and the mountPath
|
|
# at which it should be mounted in the Vault container.
|
|
extraVolumes: []
|
|
# - name: vault-tls
|
|
# secret:
|
|
# secretName: vault-tls-secret
|
|
extraVolumeMounts: []
|
|
# - name: vault-tls
|
|
# mountPath: /vault/tls
|
|
# readOnly: true
|
|
extraInitContainers: []
|
|
## Init containers to be added
|
|
# extraInitContainers:
|
|
# - name: do-something
|
|
# image: busybox
|
|
# command: ['do', 'something']
|
|
# Log level
|
|
# https://www.vaultproject.io/docs/commands/server.html#log-level
|
|
logLevel: "info"
|
|
## Additional volumes to the vault pod.
|
|
# - name: extra-volume
|
|
# secret:
|
|
# secretName: some-secret
|
|
liveness:
|
|
aliveIfUninitialized: true
|
|
aliveIfSealed: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
readiness:
|
|
readyIfSealed: false
|
|
readyIfStandby: true
|
|
readyIfUninitialized: true
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
|
|
# Set the `VAULT_API_ADDR` environment variable to the Pod IP Address
|
|
# This is the address (full URL) to advertise to other Vault servers in the cluster for client redirection.
|
|
# See https://www.vaultproject.io/docs/configuration/#api_addr
|
|
podApiAddress: true
|
|
|
|
## Use an existing config in a named ConfigMap
|
|
# existingConfigName: vault-cm
|
|
config:
|
|
# A YAML representation of a final vault config.json file.
|
|
# See https://www.vaultproject.io/docs/configuration/ for more information.
|
|
listener:
|
|
tcp:
|
|
address: '[::]:8200'
|
|
cluster_address: '[::]:8201'
|
|
tls_disable: true
|
|
# tls_cert_file: /vault/tls/server.crt
|
|
# tls_key_file: /vault/tls/server.key
|
|
# See https://www.vaultproject.io/docs/configuration/storage/ for storage backends
|
|
storage: {}
|
|
# consul:
|
|
# address: ""
|
|
# path: ""
|
|
#
|
|
# etcd:
|
|
# address: "http://vault-etcd:2379"
|
|
# path: "vault/"
|
|
# etcd_api: "v3"
|
|
# ha_enabled: "true"
|
|
#
|
|
# s3:
|
|
# bucket: ""
|
|
# region: ""
|
|
# access_key: ""
|
|
# secret_key: ""
|
|
# endpoint: "" # When not using AWS S3
|
|
#
|
|
# gcs:
|
|
# bucket: ""
|
|
# # Use a custom secret to mount this file.
|
|
# credentials_file: ""
|
|
backendPolicy: []
|
|
|
|
rbac:
|
|
## Enable RBAC
|
|
create: true
|