We maken gebruik van de GitFlow branching strategie. Dat wil zeggen dat er elke feature in zijn eigen feature-branch wordt ontwikkeld en na review via een Merge Request naar de develop branch wordt gemerged. Nieuwe releases worden via een merge request van develop naar een release/x.x.x branch gepushed. Om de release naar productie te brengen, wordt de release/x.x.x branch naar main gemerged.
De software wordt via CI/CD-pipelines uitgerold naar de omgevingen. Dit gebeurt binnen een OpenShift 4.x-omgeving. De uitrol wordt handmatig gestart via een pipeline in het GitLab-project dat je wilt uitrollen. Deze pipeline downloadt de broncode van de main-branch uit de GitHub-repository, bouwt hieruit een image en pusht deze naar Harbor. Vervolgens wordt ArgoCD genotificeerd dat er een nieuwe sync moet plaatsvinden; Argo synchroniseert daarna de deployment op OpenShift naar de nieuwste versie.
Uitrol naar de LPC
Voor de Logius Private Cloud (LPC) gaat de broncode niet naar GitLab. Een pipeline in LPC-GitLab kopieert het image dat op GitHub gebouwd is van GHCR naar Harbor, met dezelfde digest. Hoe je die pipeline opzet staat in Image op GHCR naar LPC Harbor.
Mock van een vakapplicatie waar notificatie process wordt gestart
Profiel Service
https://profiel.mijnoverheidzakelijk.nl/
Hier worden profiel gegevens opgeslagen
Structurizr
https://docs.mijnoverheidzakelijk.nl/
Documentatie wordt hier gehost
Keycloak
https://start.mijnoverheidzakelijk.nl/
Wordt gebruikt voor OAuth2 login voor de front end
Zaken
https://zaken.mijnoverheidzakelijk.nl/
Mock van een zaakservice waar diverse diensten worden gesimuleerd
OMC
https://omc.mijnoverheidzakelijk.nl/
Output management component, regelt communicatie tussenn vakapplicatie en NotifyNL
Extern gebruikte applicaties door prototype omgeving
Applicatie
URL
Beschrijving
NotifyNL
https://admin.notifynl.nl/
Verantwoordelijk voor het versturen van email & sms notificaties
Kanaalherstel Service
???
Service die brieven voor ons kan versturen i.g.v. uitval
DigId
https://www.digid.nl/
Digidn
eHerkenning
https://www.eherkenning.nl/nl
EHerkenning
Uitrol naar omgeving
Postgres databases leegmaken
Er zijn situaties waarbij de data in database leeggemaakt dient te worden alvorens een uitrol kan worden gedaan. Voor het leegmaken van de Postgres database dien je de volgende stappen te doen (stap 1 t/m 3 is eenmalig):
Download de "oc - OpenShift Command Line Interface" CLI. Deze kan gedownload worden via https://console-openshift-console.apps.test3.gn3.sp.rijksapps.nl/command-line-tools
Maak een nieuw folder aan in Program Files bv. openshift
Voeg een nieuw pad aan je path environment variables -> "C:\Program Files\openshift"
Open een Powershell terminal om in te loggen in OpenShift. oc login --web
Switch naar logius-moz-poc namespace met de volgende kubernetes command: oc project logius-moz-poc Ter info. in deze stap wordt vanuit gegaan dat je de Kubernetes command-line tool(kubectl) al op je lokale omgeving beschikt. Deze komt namelijk mee wanneer je Docker op je omgeving hebt geinstalleerd. Als dit niet het geval is dan kan je de cli downloaden via https://kubernetes.io/docs/tasks/tools/#kubectl
Neem vervolgens de shell over van de draaiende Postgres pod in kubernetes kubectl exec --tty --stdin postgres-statefulset-0 -- /bin/sh
Maak een connectie met je Postgres database: psql -h localhost -U postgres -d postgres
Hij zal om een wachtwoord vragen, zie hiervoor de secret in openshift postgres-postgresql
Ga naar OpenShift om de Pods die met postgres praten down te scalen. Doe die door de deployments naar 0 replicas te scalen.
Maak een connectie met gewenste database met de volgende command \c "databasename"
Gebruik de volgende command om je data in de database leeg te maken delete from tablename;