Repository navigation
docs: document solution-backup usage and parameters (bacluc-agent/agent-vshn-todo#80) - #4
Open
bacluc-agent wants to merge 4 commits into
Open
bacluc-agent wants to merge 4 commits into
bacluc-agent wants to merge 4 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documentation-only change (bacluc-agent/agent-vshn-todo#80):
docs/modules/ROOT/pages/index.adoc: overview of per-namespace opt-in PVC backups via k8up + espejote backed by AppCat ObjectBucket → S3, what the component creates (Argo CD Application withServerSideApply=true, ServiceAccount/RBAC, espejote ManagedResource rendering ObjectBucket + k8up Schedule per opted-in namespace), prerequisites, and links.docs/modules/ROOT/pages/how-tos/enable-backups.adoc: both required namespace labels (opt-in + encryption-secret label naming the Secret with the restic password under keypassword),kubectl label/kubectl create secretexamples, verification steps, teardown behaviour.docs/modules/ROOT/pages/how-tos/customize-backups.adoc: schedule/retention overrides,s3.endpointwith%(region)s, bucket name prefix, namespace settings, all as inventory fragments underparameters: solution_backup:.docs/modules/ROOT/pages/explanations/how-it-works.adoc: reconciliation model (watchContextResource trigger vsbackup_namespacescontext),wantsBackupguard, slug computation, naming table, endpoint resolution, teardown, and a Multiple component instances section.docs/modules/ROOT/pages/references/parameters.adocin the established style (per-keytype::/default::, prose, example block). Corrects the stale namespace default (syn-solution-backup→${_instance}).docs/modules/ROOT/partials/nav.adoc: how-tos and explanation entries added, index + Parameters kept, tutorials empty.Facts are taken from
class/defaults.yml,class/solution-backup.yml,component/main.jsonnet, and the render test inputs/goldens.Update 2026-11-05 (branch merged with master)
ba38516), picking up upstream PR class: fix multi instance behaviour #7class: fix multi instance behaviour(merged 2026-11-04):main.jsonnetnow compiles tooutput_path: ${_instance}inclass/solution-backup.yml, so compile output lands per instance instead of a sharedsolution-backup/directory. The docs now document the multi-instance behaviour:_metadata.multi_instance: true,solution-backup as <instance>declaration, per-instance namespace default${_instance}, instance slug (first 8 hex chars of SHA-256 of the instance name) inpvc-backup-<instanceSlug>resource names /backup-bucket-creds-<instanceSlug>/ bucket names, and per-instance Argo CD Applications.explanations/how-it-works.adocandhow-tos/enable-backups.adoc: espejote (version pinned to 0.22.0 in CI) does not prune objects that drop out of the render — removing the namespace labels stops rendering only; the ObjectBucket and k8up Schedule must be deleted manually, or get garbage-collected with the namespace by Kubernetes.references/parameters.adoc: documented thats3.regionis also set as the region on each AppCat ObjectBucket, thatobjectbucket.name_prefixonly affects the S3 bucket name (resource names keep the fixedpvc-backup-prefix), that the wholeschedule.retentionmap passes through verbatim intospec.prune.retention(other k8up retention keys allowed), and that all defaults live inclass/defaults.ymlwith the compile layout inclass/solution-backup.yml.index.adoc; the validparameters: solution_backup:example lives inreferences/parameters.adoc(verified key-by-key againstclass/defaults.yml), so the index cross-references it rather than duplicating it.Notes
issue-80-document-usagewas blocked: thebacluc-agenttoken has pull-only access to this third-party repo (Permission denied … 403). Fall back to forking per standard outsider flow: branch lives in thebacluc-agent/component-solution-backupfork.docs/were changed (verified:git diff upstream/master...HEAD --name-onlylists exactly the 6 docs files).Test evidence
Local verification (run against head
b37d800):make lint_adoc→✔ 0 errors, 0 warnings and 0 suggestions in 0 files.(repo.vale.inidefines no styles, so vale scans 0 files by design)make golden-diffandmake golden-diff-all→ exit 0 fordefaults,override-schedules,override-labels; no rendered-output driftbash tests/render/run.sh(espejote 0.22.0 as pinned by.github/workflows/espejote.yaml) → exit 0, 6 scenarios,git status --porcelain tests/render/expected/cleanmake docs-serve→ Antora site built; all 5 pages HTTP 200; scripted link check over the built HTML found 126/126 internal links and anchors resolving, nav lists all 5 pages, no unresolved xrefs; content spot-checks (dicttypes,${_instance}defaults, teardown wording) rendered correctly.CI evidence:
issue-80-document-usage@b37d800: Espejote render workflow run 42123881500 — job success, in particular the "Render and diff expected files" step (step 4) succeeded.b37d800areaction_required(fork-PR workflows await maintainer approval, so their status does not yet say "passed"): Pull Request, Espejote render, Autorelease.