Draft: Integrated: Clean up resources that are duplicates
General MR
[0.9.3-bb.1] - 2026-07-21
Added
- Added
docs/UPGRADE-0.9.3-bb.1.md: full PV migration procedure (Path A data-loss and Path B PV rebinding) for operators whose StatefulSet was not already namedgaragebefore this release; includes credentials Secret rename notice and Flux suspend/resume instructions for both the forward upgrade and rollback paths
Changed
- Removed
templates/bigbang/metrics-svc.yamlandtemplates/bigbang/servicemonitor.yaml; upstream Service and ServiceMonitor are now used directly via BB umbrella post-render patches, eliminating the wrapper-owned duplicates - Removed
monitoring.serviceMonitorvalues block and all stale comments referencing the deleted wrapper metrics resources fromchart/values.yaml - Removed
monitoring.serviceMonitorschema block fromvalues.schema.json - Moved
domainto top ofchart/values.yamlto match BB package convention - Added
upstream.fullnameOverride: garagetochart/values.yaml; fixes StatefulSet, Service, and Secret names resolving togarage-garageinstead ofgaragewhen the Helm release name contains the chart name - Updated
tests/test-values.yaml: renamedpackages:toaddons:, movedgarageInitcredentials, buckets, and adminToken to first-class addon keys, removed stalemonitoring.serviceMonitortlsConfig override andupstream.environmentGARAGE_ADMIN_TOKEN injection, removed explicitminio.enabled: falseandminioOperator.enabled: falsedisables - Updated
tests/scripts/test-garage.sh: replaced hardcodedgarageservice name andBBTEST_RELEASE_NAMEwithGARAGE_SVC_NAMEenv var so pod selectors, service lookups, and credentials Secret references resolve correctly when the release name differs from the chart fullname; addedGARAGE_REGIONenv var (sourced fromgarageInit.region, defaultgarage) to replace hardcodedus-east-1in all SigV4 signing strings - Added
alloy-alloy-metrics@alloy/alloy-metricsto port 3903 NetworkPolicy ingress inchart/values.yamlalongside the existing Prometheus entry, so Alloy metrics scraping is gated onalloy.alloyMetrics.enabled - Added
GARAGE_REGIONtobbtests.scripts.envsinchart/values.yaml, sourced fromgarageInit.region, so CRUD tests sign S3 requests with the configured Garage region instead of a hardcoded value - Rewrote
docs/credential-rotation.md: corrected HTTP method forDeleteKey(POST, not DELETE); replaced the single-step helm-upgrade rotation model with a nine-step blue/green procedure (import new key, grant permissions, switch consumers, delete old key); added explicit consumer restart commands and S3 health verification step before old-key deletion; added rollback procedures for before and after step 9 with consumer restart commands; added tombstone warning (deleted key IDs cannot be reimported); updated admin token rotation to reflect the simplified automatic rollout model - Updated
docs/DEVELOPMENT_MAINTENANCE.md: renamedpackages:toaddons:in all command examples; removed stale "Monitoring and troubleshooting", "Secure Deployment Profile", "Cluster-scoped RBAC", "Capacity planning", and "Known package limits" sections that referenced deleted wrapper resources or described superseded patterns - Updated
docs/dev-overrides.yaml: renamedpackages:toaddons:, movedgarageInitto first-class addon keys, addedbb-common.istio.authorizationPolicies.generateFromNetpol: true, removed staleupstream.environmentGARAGE_ADMIN_TOKEN injection andmonitoring.serviceMonitortlsConfig override - Restructured
renovate.json: replacedbranchPrefix/branchTopicwithbranchName: "renovate/ironbank"; updated labels to["garage", "Package Sustainment", "kind::maintenance"]; addedpostUpdateOptions: ["helmUpdateSubChartArchives"]; consolidated docker and helm packageRules withregistryUrls; removedupdate-garage-vendored-chartfrom post-upgrade commands; splitgitea-tagsinto its own packageRule with Garage-specific changelog command; prunedfileFiltersto only files the bot actually modifies - Updated
docs/UPGRADE-0.9.3-bb.1.md: added note that enablingbb-common.istio.sidecar.enabled: trueon upgrade requires a manual pod restart to inject the Istio sidecar into existing Garage pods; namespace label change alone does not recycle running pods
Fixed
- Fixed
garage-init-job.yaml,garage-credentials.yaml, andgarage-admin-svc.yaml: replaced all hardcoded{{ .Release.Name }}-prefixed names, selectors, and URLs withgarage.fullname/garage.namesubchart helpers so all resources resolve correctly when the Helm release name differs from the chart fullname - Fixed
rpc-ring-svc.yaml: replaced hardcodedgarage-rpcname andgaragelabel selector withgarage.fullname/garage.namesubchart helpers - Fixed
garageInitjob: replaced the broken delete-then-reimport key sync with an idempotent import loop; treats409 KeyAlreadyExistsas success instead of failing; the priorDELETE /v2/DeleteKeyused the wrong HTTP method and Garage permanently tombstones deleted key IDs preventing reimport - Fixed
garageInitjob: truncatedGARAGE_ACCESS_KEY_IDin log output to${GARAGE_ACCESS_KEY_ID:0:10}...to avoid exposing the full key ID in pod logs - Fixed
docs/credential-rotation.md: replacedkubectl rollout restart/status statefulset --all(invalid flag) withkubectl get statefulset -o name | xargs -I{} kubectl rollout restart/status - Fixed
chart/tests/scripts/test-garage.sh: changed missing--aws-sigv4check fromexit 1to a graceful skip with warning so the overall test suite passes on runner images without SigV4 curl support
Relevant logs/screenshots
Umbrella Branch
staging-garage-epic
Linked Issue
Relates to #23 (closed)
Upgrade Notices
This release adds upstream.fullnameOverride: garage, which unconditionally sets the StatefulSet name to garage. Migration is required if your Helm release name in 0.9.3-bb.0 was anything other than garage - in that case the StatefulSet was named after the release, and the addition of fullnameOverride will attempt to rename it on upgrade. Before upgrading, verify your current StatefulSet name with kubectl get sts -n garage. If it is already named garage, upgrade normally. If it differs, manual PV migration is required before running helm upgrade. See docs/UPGRADE-0.9.3-bb.1.md for the full procedure.
Edited by Kirby Liu