Sinds augustus is de Composable Data Stack (CDS) snel gegroeid, van versie 0.4 naar 0.12. Ik loop hieronder een paar hoogtepunten langs: Kubernetes, wet- en regelgeving en een nieuw commando om profielen samen te stellen.
Kubernetes: een tweede doelplatform
CDS genereerde eerst alleen Docker Compose-bestanden. Nu kun je met --target helm hetzelfde profiel als Helm-chart laten genereren. De commando’s render, validate, security, test, up, down en state werken er allemaal mee.
Er zijn ook Kubernetes-specifieke beveiligingscontroles, bijvoorbeeld of een container als root draait. Met cds config set target helm hoef je de keuze niet bij elk commando te herhalen. De Kubernetes-ondersteuning is nog niet productierijp. Dat staat nog op de planning.
Grote stappen richting wet- en regelgeving
Een soevereine dataomgeving moet ook voldoen aan de regels. Daar is veel aan gewerkt:
- NIS2 en Cyberbeveiligingswet: CDS zelf is geen essentiële of belangrijke entiteit, de organisatie die een omgeving met CDS bouwt wel. Daarom is vastgelegd welke maatregelen uit NIS2 artikel 21 CDS al ondersteunt en waar nog gaten zitten. Nieuwe controles melden bijvoorbeeld een database zonder back-upvoorziening of een beheerinterface zonder identity-module. Met
cds security --report nis2krijg je de bevindingen per NIS2-maatregel. - Cyber Resilience Act (CRA): er is documentatie over risico’s en technische dossiers, sjablonen voor de verklaringen en een controle die releases tegenhoudt als bewijs ontbreekt, zoals SBOM, testresultaten en kwetsbaarheidsstatus. Dit is voorbereiding. CDS beweert op dit moment geen CRA-conformiteit of CE-markering.
- Audit-trail: CDS houdt lokaal een logboek bij van wat is gegenereerd en toegepast, met tijdstip, commando en profiel.
- Herkomst en vertrouwen: met
cds getkun je alleen modules ophalen van bronnen die je vertrouwt en vastpinnen op een exacte commit.
compose-profile: een module toevoegen zonder handwerk
Een module aan een bestaand profiel toevoegen betekende tot nu toe handmatig YAML aanpassen. Het nieuwe commando cds compose-profile doet dat automatisch. Het zoekt in het profiel welke bestaande modules leveren wat de nieuwe module nodig heeft, en legt de koppelingen vast. Is er geen of meer dan één geschikte kandidaat, dan meldt het commando welke en kun je zelf kiezen met --bind.
Standaard toont het commando het samengestelde profiel. Met --write sla je het op in het profiel zelf.
En verder
- Een eerste identity-module (Keycloak), met de kanttekening dat die nog niet voor productie bedoeld is.
- De dbt-transformatiemodule is volwassen genoeg om standaard mee te leveren.
- Een compatibiliteitsregister dat combinaties van modules afkeurt die technisch passen maar niet samen werken.
- Een hulpmiddel dat een bestaand
docker-compose.ymlomzet naar een startpunt voor een CDS-module.
Wat komt hierna?
Op de planning staan onder meer back-up en herstel, TLS en productierijpe Kubernetes-ondersteuning. Meer over het project lees je op de CDS-pagina, de broncode staat op GitHub. Vragen of ideeën? Neem contact op.