API van het OSS register (oss.developer.overheid.nl)
- API version: 1.0.0
-
Start de afhankelijkheden:
docker compose up -d
-
Start de server:
go run cmd/main.go
De API luistert standaard op poort 1337.
De applicatie gebruikt PostgreSQL. De docker-compose start automatisch een Postgres container met bovenstaande credentials.
Voor het beheren van de database kun je optioneel pgAdmin gebruiken:
docker run --rm -p 5050:80 \
-e [email protected] \
-e PGADMIN_DEFAULT_PASSWORD=admin \
dpage/pgadmin4Navigeer naar http://localhost:5050, voeg een nieuwe server toe en gebruik de waarden:
- Host:
localhost - Port:
5432 - Username:
don - Password:
don - Database:
don_v1
De deployment van deze site verloopt via GitHub Actions en een aparte infra repository.
- Organization variable
INFRA_REPO, bijvoorbeelddeveloper-overheid-nl/don-infra. - Repository variable
KUSTOMIZE_PATH, met als basispad bijvoorbeeldapps/api/overlays/. - Secrets
RELEASE_PROCES_APP_IDenRELEASE_PROCES_APP_PRIVATE_KEYvoor het aanpassen van de infra repository.
De testdeploy draait via
.github/workflows/deploy-test.yml.
- De workflow draait op pushes naar branches behalve
main. - Alleen commits met
[deploy-test]in de commit message worden echt gedeployed. - Er wordt een image gebouwd en gepusht naar
ghcr.io/<owner>/<repo>met tagstesten de commit SHA. - Daarna wordt in
INFRA_REPOhet bestand${KUSTOMIZE_PATH}test/kustomization.yamlbijgewerkt naar de nieuwe image tag en direct gecommit.
Voorbeeld commit message:
feat: pas content aan [deploy-test]
De productiedeploy draait via
.github/workflows/deploy-prod.yml.
- De workflow draait bij een push naar
main. - Er wordt in
INFRA_REPOeen release branch aangemaakt. - In
${KUSTOMIZE_PATH}prod/kustomization.yamlwordt de image tag bijgewerkt naar de commit SHA van deze repository. - Daarna wordt automatisch een pull request in de infra repository geopend.
- De productie-uitrol gebeurt door die pull request te mergen.
Een contribution of pull request leidt niet automatisch tot een deployment.
- Een pull request triggert wel CI, waaronder de build en JSON-validatie.
- De build in
.github/workflows/go-ci.ymlbouwt voor een pull request een Docker image als controle, maar pusht dat image niet naar GHCR en past de infra repository niet aan. - Er is dus geen automatische preview-omgeving per pull request.
- Een testdeploy gebeurt pas na een push naar een branch in deze repository met
[deploy-test]in de commit message. - Die testdeploy gebruikt repository- en organization-variables en secrets om
ook
INFRA_REPOaan te passen. Daardoor is dit pad in de praktijk bedoeld voor maintainers of contributors met een branch in deze repository.