iac/clusters/yc-infra-prod/infrastructure/patches/vault-unseal.yaml

71 lines
2.1 KiB
YAML

apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: vault-unseal
namespace: vault-unseal
spec:
interval: 5m
timeout: 15m
values:
global:
namespace: vault-unseal
autounseal:
enabled: false
backup:
enabled: true
schedule: "0 19 * * *"
timeZone: "Europe/Moscow"
secret:
name: "vault-unseal-backup-s3"
endpoint: "https://storage.yandexcloud.net"
prefix: "vault/yc-infra-prod/unseal-raft-snapshots"
injector:
enabled: false
server:
includeConfigAnnotation: true
ha:
replicas: 3
raft:
config: |
ui = true
listener "tcp" {
tls_disable = 1
address = "[::]:8200"
cluster_address = "[::]:8201"
}
storage "raft" {
path = "/vault/data"
retry_join {
leader_api_addr = "http://{{ template "vault.fullname" . }}-0.{{ template "vault.fullname" . }}-internal:8200"
}
retry_join {
leader_api_addr = "http://{{ template "vault.fullname" . }}-1.{{ template "vault.fullname" . }}-internal:8200"
}
retry_join {
leader_api_addr = "http://{{ template "vault.fullname" . }}-2.{{ template "vault.fullname" . }}-internal:8200"
}
}
{{- if .Values.autounseal.enabled }}
seal "transit" {
address = "{{ .Values.autounseal.transit.address }}"
token = "env://VAULT_TOKEN"
key_name = "{{ .Values.autounseal.transit.keyName }}"
mount_path = "{{ .Values.autounseal.transit.mountPath }}"
disable_renewal = "{{ .Values.autounseal.transit.disableRenewal }}"
tls_skip_verify = "{{ .Values.autounseal.transit.tlsSkipVerify }}"
}
{{- end }}
service_registration "kubernetes" {}
telemetry {
prometheus_retention_time = "30s"
disable_hostname = true
}
dataStorage:
size: 10Gi