adorsys / adorsys/status-list-server
Consolidate deployment assets into a unified deploy/ directory and update all repository paths
- 主要言語
- Rust
- スター
- 22
- フォーク
- 5
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 47
説明
## Objective
Consolidate all deployment- and operations-related assets (`helm/`, `observability/`, and standalone collector configs) into a unified, top-level `deploy/` directory structure, and systematically update all CI/CD workflows, integration tests, operational scripts, linter paths, and documentation links.
## Context
Currently, operational and deployment assets are scattered across the repository root:
- `helm/`: Helm chart, values files, templates, schema, and documentation.
- `observability/`: Prometheus configs, alerting rules, Alertmanager configs, SLO thresholds, Grafana dashboards, runbooks, and test suites.
- `otel-collector.yaml` & `prometheus.yml`: Legacy standalone configuration files located at the root.
This root clutter obscures repository structure, complicates operational navigation, and scatters path references across CI workflows (`.github/workflows/CI.yml`, `.github/workflows/deploy.yml`), verification scripts (`scripts/verify-image-reference.sh`, `local-ci.sh`), integration tests (`tests/helm_sensitive_env.rs`), and markdown guides. Consolidating all deployment assets under `deploy/` establishes an industry-standard structure.
## Proposed Directory Layout
```text
deploy/
├── helm/
│ ├── chart/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ ├── values*.yaml
│ │ └── ...
│ └── README.md
├── observability/
│ ├── alertmanager/
│ ├── dashboards/
│ ├── prometheus/
│ ├── runbooks/
│ ├── slo/
│ └── README.md
└── README.md
```
## Deliverables
- [ ] **Directory Reorganization**:
- Move `helm/` to `deploy/helm/`.
- Move `observability/` to `deploy/observability/`.
- Relocate or eliminate root `otel-collector.yaml` and root `prometheus.yml` (consolidating into `deploy/observability/`).
- [ ] **CI/CD Workflow Path Updates**:
- Update `.github/workflows/CI.yml`:
- `helm-template-local` and Helm rendering steps (`deploy/helm/chart`).
- Prometheus rules validation and test commands (`deploy/observability/prometheus/...`).
- OpenTelemetry collector config validation.
- Update `.github/workflows/deploy.yml`:
- Chart paths (`deploy/helm/chart`) and values file paths (`deploy/helm/chart/values-*.yaml`).
- Update `.github/workflows/render-helm-templates/action.yml`:
- Point all `helm lint` and `helm template` invocations to `deploy/helm/chart`.
- [ ] **Integration Tests & Verification Scripts**:
- Update `tests/helm_sensitive_env.rs` to point to `deploy/helm/chart/values.yaml` and `deploy/helm/chart/templates`.
- Update `scripts/verify-image-reference.sh` (`deploy/helm/chart/Chart.yaml` & `deploy/helm/chart`).
- Update `local-ci.sh` (`deploy/helm/chart` and `deploy/observability`).
- Update `deploy/observability/slo/lint-thresholds.mjs` relative path to `../helm/chart/values.yaml` (or updated relative location).
- [ ] **Documentation & Alert Runbook URL Repairs**:
- Update `README.md` navigation links to point to `deploy/helm/README.md` and `deploy/observability/README.md`.
- Update `docs/LOCAL_DEPLOYMENT.md`, `docs/deployment-runbook.md`, `docs/troubleshooting.md`, `docs/observability.md`, and `docs/supply-chain.md`.
- Update `runbook_url` annotations inside `deploy/observability/prometheus/rules/alerting.rules.yml` and `deploy/helm/chart/templates/prometheusrule.yaml` (`https://github.com/adorsys/status-list-server/blob/develop/deploy/observability/...`).
- Audit and fix relative markdown links across all moved READMEs and guides.
## Acceptance Criteria
- [ ] All deployment assets reside under `deploy/`.
- [ ] `local-ci.sh` passes without errors.
- [ ] `cargo test --test helm_sensitive_env` passes.
- [ ] `node deploy/observability/slo/lint-thresholds.mjs` passes.
- [ ] GitHub Actions workflow validations (`helm lint`, `helm template`, `promtool check`, `promtool test`) all succeed with updated paths.
- [ ] No broken relative or absolute links exist in documentation or Prometheus alerting rules.
コントリビューションガイド
評価
この issue はまだ評価されていません。