Composable Data Stack voor platform engineers

Waar CDS in uw landschap past

CDS is een compile-time laag boven uw runtime. U beschrijft een dataplatform als profiel plus modules, en CDS rendert daar deployment-artefacten van. Het is geen orchestrator en geen vervanging van Kubernetes, Compose of uw CI/CD. Het draait zelf geen containers.  cds up  roept de echte  docker compose  aan.

Wat u krijgt

  • Eén gevalideerde bron van waarheid per omgeving, in YAML en in Git.
  • Gegenereerde output (Docker Compose, en een Kubernetes-renderer in ontwikkeling) die u in uw bestaande pijplijnen gebruikt.
  • Een vaste golden path voor data-stacks, zonder dat elk team zijn eigen Compose-bestanden onderhoudt.

Workflow in CI/CD

Elke wijziging valideert eerst in de pijplijn. Fouten komen terug als diagnostics met een stabiele code en een exact datapad, zodat ze goed te parsen en te tonen zijn in een pull request.

Modules en contracten

  • Een module ( module.yaml ) bevat een gesloten configuratieschema met defaults, de contracten die hij levert en gebruikt, en een Compose-template.
  • Modules verwijzen nooit naar elkaars servicenamen. Bindings lopen via contracten ( contractRef: . ).  dependsOn  bepaalt alleen de opstartvolgorde.
  • Eigen modules en profielen kunt u buiten de repository plaatsen via  CDS_MODULE_PATH  en  CDS_PROFILE_PATH .
  • Interpolatie:  ${config.} ,  ${bindings.} ,  ${service.host} .

Secrets

Secret-waarden komen nooit in plannen of gerenderde artefacten. Profielen mappen aliassen naar  CDS_* -omgevingsvariabelen, en alleen  ${CDS_*} -placeholders worden gegenereerd. Uw secret-manager of CI-runner levert de waarde pas bij runtime. Houd  .env  en gegenereerde Compose-bestanden buiten Git.

Beveiliging en hardening

  • Regels staan als data ( rule-set.json ) en zijn uit te breiden zonder Python.
  • Baseline voor images: vastgezette versies, non-root, read-only root, dropped capabilities, resource limits, netwerksegmentatie. Hash-locked dependencies zijn in uitvoering.
  • Image-scanresultaten in de GitHub Security-tab (SARIF) staan op de planning.

Beheer en onderhoud

  •  cds get  haalt profielen en modules op. Bijwerken met  cds update  en tracking-metadata staan gepland, evenals een melding bij nieuwe CDS-releases (in uitvoering).
  • Monitoringmodules (zoals Grafana, log- en trace-verzameling) komen als modules in de stack. Ze zijn nog niet allemaal beschikbaar.
  • Lifecycle, schaling en monitoring van de draaiende omgeving blijven bij uw runtime en tooling.

Beperkingen om rekening mee te houden

  • Formaat is  v1alpha1 , dus schemawijzigingen zijn mogelijk.
  • Kubernetes-renderer, back-up/herstel en TLS-contracten staan nog niet allemaal op productieniveau. GitOps-ondersteuning (zoals FluxCD) staat op de planning.
  • Tests zijn onafhankelijk van Docker ( unittest ). Runtime-smoketests draaien apart.

Aanbevolen aanpak

  1. Draai  cds test  op een referentieprofiel in uw CI.
  2. Zet een eigen module-root op voor uw platformstandaarden.
  3. Laat teams profielen via pull requests aanpassen, met  cds test  als verplichte check.
  4. Koppel uw secret-manager aan de  CDS_* -variabelen.

Ook uitgelegd voor

Terug naar Composable Data Stack (CDS) · Broncode op GitHub · Contact

Scroll naar boven