Met deze Infrastructure as Code (IaC) kan je makkelijk de basis voor mijn-bureau software installeren. De componenten die worden geïnstalleerd zijn:
- Ideniteit provider (keycloak)
- secrets manager (vault)
Warning
Alertmanager en Grafana gaan we verplaatsen. Deze horen niet in deze repo thuis
Deze repository draait de core applicaties die nodig zijn voor mijn-bureau, namelijk een identity provider en een secrets manager. Zodra deze draaien moeten we ze configureren. Keycloak moet een realm krijgen, gebruikers moeten toegevoegd worden en clients moeten aangemaakt worden. De geheimen van deze clients moeten in vault komen zodat ze gebruikt kunnen worden door de applicaties.
Ook willen we keycloak instellen met een overheids theme voor keycloak zodat we de overheid look & feel krijgen. Zie de keycloak-theme
Voordat je de componenten kan deployen heb je eerst een kubernetes namespace(s) nodig.
Er zijn een aantal plekken binnen de overheid waar je een kubernetes cluster kan krijgen
- Digilab
- ODC Noord
- Logius standard platform
- Public clouds. Zorg er voor dat je bewust bent van de rijksbreed cloud beleid
- kind
Zodra je een kubernetes namespace(s) hebt kan je de applicatie deployen met kubectl en kustomize. Kustomize wordt meegeleverd met kubectl. Als je kubectl nog niet geinstalleerd hebt doe dat via deze link: kubectl.
Nu kan je de applicatie deployen met het volgende commando:
kubectl apply -k overlays/voorbeeld/
Met de -k optie van kubectl activeer je de kustomize modus. Je kan ook kubectl kustomize overlays/voorbeeld/
gebruiken om eerst alle data te zien voordat je deployed naar kubernetes, met de apply
commando gaat gelijk de applicatie draaien. Het krachtige van kustomize is dat je alles kan overschrijven van een basis setup. De basis setup staat in /base/.
In overlays/ worden alle aanpassingen gedaan die nodig zijn voor jou omgeving. Momenteel hebben we een digilab
en voorbeeld
overlay. De digilab
gebruiken we zelf en kan je gebruiken voor inspiratie. Het voorbeeld
kan je kopiëren en veranderen.
Als de compenenten draaien moeten ze nog geconfigureerd worden. Dit is best wel wat werk en vereist begrip van de applicatie. In de toekomst willen we hier terraform voor gebruiken zodat het makkelijker wordt, maar voor nu doen we het met de hand.
todo
todo
Momenteel gebruiken we de cloudnative-pg operator. Door deze operator kan niet iedere kubernetes cluster onze software draaien. We gaan deze operator verwijderen en een eigen hosten.
Alle contributies zijn welkom. Zie de contributing docs