Add etcd + PKI extraMounts for offline data recovery
Lint Checks / Run linter (push) Failing after 0s
Details
Lint Checks / Run linter (push) Failing after 0s
Details
Mount /var/lib/etcd and /etc/kubernetes/pki to host filesystem
so cluster state is preserved for offline recovery. Each deployment
gets its own backup directory keyed by deployment ID.
Directory structure:
data/cluster-backups/{deployment_id}/etcd/
data/cluster-backups/{deployment_id}/pki/
This enables extracting secrets from etcd backups using etcdctl
with the preserved PKI certificates.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
parent
9f732c2226
commit
3ff4ac6185
|
|
@ -265,6 +265,25 @@ def _generate_kind_mounts(parsed_pod_files, deployment_dir, deployment_context):
|
||||||
f" - hostPath: {host_path}\n" f" containerPath: {container_path}\n"
|
f" - hostPath: {host_path}\n" f" containerPath: {container_path}\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Cluster state backup for offline data recovery (unique per deployment)
|
||||||
|
# etcd contains all k8s state; PKI certs needed to decrypt etcd offline
|
||||||
|
deployment_id = deployment_context.id
|
||||||
|
backup_subdir = f"cluster-backups/{deployment_id}"
|
||||||
|
|
||||||
|
etcd_host_path = _make_absolute_host_path(
|
||||||
|
Path(f"./data/{backup_subdir}/etcd"), deployment_dir
|
||||||
|
)
|
||||||
|
volume_definitions.append(
|
||||||
|
f" - hostPath: {etcd_host_path}\n" f" containerPath: /var/lib/etcd\n"
|
||||||
|
)
|
||||||
|
|
||||||
|
pki_host_path = _make_absolute_host_path(
|
||||||
|
Path(f"./data/{backup_subdir}/pki"), deployment_dir
|
||||||
|
)
|
||||||
|
volume_definitions.append(
|
||||||
|
f" - hostPath: {pki_host_path}\n" f" containerPath: /etc/kubernetes/pki\n"
|
||||||
|
)
|
||||||
|
|
||||||
# Note these paths are relative to the location of the pod files (at present)
|
# Note these paths are relative to the location of the pod files (at present)
|
||||||
# So we need to fix up to make them correct and absolute because kind assumes
|
# So we need to fix up to make them correct and absolute because kind assumes
|
||||||
# relative to the cwd.
|
# relative to the cwd.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue