Files
git.stella-ops.org/devops/README.md

73 lines
2.1 KiB
Markdown

# DevOps
Deployment infrastructure for StellaOps.
## Stack
| Component | Technology |
|-----------|------------|
| Database | PostgreSQL 18.1 |
| Cache/Queue | Valkey 9.0.1 |
| Storage | RustFS |
| Transparency | Rekor v2 |
## Structure
```
devops/
├── compose/ # Docker Compose files
├── helm/ # Kubernetes Helm chart
├── docker/ # Dockerfiles
├── runtime-assets/ # Runtime data assets (ML models, JDK, Ghidra, certs)
├── database/ # PostgreSQL migrations
├── scripts/ # Operational scripts
├── offline/ # Air-gap support
├── telemetry/ # Alerts & dashboards
├── logging/ # Log config templates
├── release/ # Release tools
├── releases/ # Release manifests
├── secrets/ # Secret templates
└── tools/ # Validation scripts
```
## Runtime Data Assets
Services require certain files at runtime that are not produced by `dotnet publish`
or `npm run build`: ML model weights, JDK/Ghidra for binary analysis, certificates,
and more. Before building Docker images or creating offline bundles, run:
```bash
./devops/runtime-assets/acquire.sh --all # download and verify
./devops/runtime-assets/acquire.sh --verify # check existing assets
./devops/runtime-assets/acquire.sh --package # create air-gap tarball
```
See `devops/runtime-assets/README.md` for the full inventory and provisioning guide.
## Quick Start
```bash
# Local stack
docker compose -f devops/compose/docker-compose.stella-ops.yml up -d
# With telemetry
docker compose -f devops/compose/docker-compose.stella-ops.yml \
-f devops/compose/docker-compose.telemetry.yml up -d
# Kubernetes
helm install stellaops devops/helm/stellaops \
-f devops/helm/stellaops/values-prod.yaml \
-n stellaops --create-namespace
```
## Compose Files
| File | Purpose |
|------|---------|
| `stella-ops.yml` | Main stack |
| `telemetry.yml` | Observability |
| `testing.yml` | CI infrastructure |
| `compliance-china.yml` | SM2/SM3/SM4 |
| `compliance-russia.yml` | GOST |
| `compliance-eu.yml` | eIDAS |