Commit Graph
48 Commits
Author SHA1 Message Date
Sluijsens 6b3194320b Fix SCP-deploy: geef secrets via env: door i.p.v. inline in het script
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m27s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 2m6s
Continuous Integration / test (pull_request) Successful in 1m58s
Continuous Integration / deploy-production (pull_request) Skipped
Deploy / deploy (pull_request) Successful in 35s
Continuous Integration / deploy-test (pull_request) Successful in 34s
Gitea Actions plakt ${{ secrets.* }} als platte tekst in het run-script
vóórdat bash het uitvoert. Bevat het wachtwoord een shell-metateken
zoals '$', dan interpreteert bash dat alsnog, waardoor sshpass een
ander wachtwoord krijgt dan bedoeld ("Permission denied"). Via env:
en sshpass -e komt de waarde als kant-en-klare string binnen, zonder
die tweede interpretatieslag.
2026-07-30 14:27:49 +02:00
Sluijsens 5ded994626 Deploy testomgeving tijdelijk ook bij elke PR (vereenvoudigt testen)
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m31s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 2m7s
Continuous Integration / test (pull_request) Successful in 2m0s
Continuous Integration / deploy-production (pull_request) Skipped
Deploy / deploy (pull_request) Failing after 37s
Continuous Integration / deploy-test (pull_request) Failing after 38s
2026-07-30 13:37:49 +02:00
Sluijsens 6c08d0a842 Hernoem PI_MAIN_HOST secret naar PI_MAIN_ADDRESS
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m33s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 2m13s
Continuous Integration / test (pull_request) Successful in 2m3s
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
2026-07-30 13:32:42 +02:00
SluijsensandClaude Sonnet 5 ecad3c3b4e Verwijder live-configs map: configs zijn al handmatig op de Pi's toegepast
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m20s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 1m53s
Continuous Integration / test (pull_request) Successful in 1m49s
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Deze snapshot bleek achteraf niet nodig - de configs staan inmiddels op
pi-entry/pi-main zelf, en hoeven niet ook nog los in de repo bewaard te
worden.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 17:28:44 +02:00
SluijsensandClaude Sonnet 5 d1f544555d Bewaar gecorrigeerde live nginx-configs als referentie in de repo
De configs die deze sessie zijn nagelopen en gefixt (slpsoftware-analytics.conf,
slpsoftware-test-webserver.conf, slpsoftware.conf) stonden alleen als geplakte
tekst in de chat en een tijdelijke scratchpad-map, niet in de repo of op de
Pi's zelf toegepast. Dit zet ze duurzaam vast als referentiesnapshot, met een
README die per bestand aangeeft wat er is aangepast en waarom. Nog steeds
handmatig te kopiëren naar de Pi's; niet automatisch gesynchroniseerd.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 14:49:11 +02:00
SluijsensandClaude Sonnet 5 b5e8ae1820 Voeg productie-nginx-voorbeeldconfiguratie toe voor de reverse-proxy-Pi
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m15s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 1m57s
Continuous Integration / test (pull_request) Successful in 1m51s
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
production-nginx.conf.example (vóór certbot) en
production-nginx.conf.post-certbot.example (referentie, na certbot) dekken
alléén de react-frontend-site op slpsoftware.nl/www.slpsoftware.nl; de
mail/iRedAdmin-proxying die op de daadwerkelijke productieserver ook op dit
domein draait valt buiten de scope van deze feature en is bewust
weggelaten. Bevat de acme-challenge location in het 443-blok (niet het
poort-80-blok) en de sentry-tunnel-proxy, analoog aan de testomgeving-
configuratie. Documentatie in deployment-plan.md en
deployment-instructions.md bijgewerkt met productie-nginx-setupstappen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 13:11:47 +02:00
SluijsensandClaude Sonnet 5 3af15159fe Consistente _TEST/_PRODUCTION postfix voor omgevingsspecifieke Gitea variables
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m14s
Continuous Integration / build-production (pull_request) Skipped
Continuous Integration / build (pull_request) Successful in 1m56s
Continuous Integration / test (pull_request) Successful in 1m48s
Continuous Integration / deploy-test (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Hernoemt de Gitea-variable achter VITE_UMAMI_WEBSITE_ID naar
VITE_UMAMI_WEBSITE_ID_TEST, zodat deze consistent is met
VITE_UMAMI_WEBSITE_ID_PRODUCTION en DEPLOY_PATH_TEST/DEPLOY_PATH_PRODUCTION.
De Vite build-time envvar-naam die de app zelf verwacht
(VITE_UMAMI_WEBSITE_ID) verandert niet, alleen de naam van de Gitea
repository variable erachter. Bewust gedeelde variabelen (VITE_UMAMI_SCRIPT_URL,
VITE_SENTRY_DSN, PI_MAIN_* secrets) krijgen geen postfix, want die zijn
geen omgevingsspecifieke waarden. Documentatie in umami-setup.md,
deployment-instructions.md en monitoring-plan.md bijgewerkt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 12:16:10 +02:00
SluijsensandClaude Sonnet 5 4bddcbbc50 Splits Umami website-ID per omgeving in productie-build (was per ongeluk gedeeld)
build-production hergebruikte vars.VITE_UMAMI_WEBSITE_ID van de testbuild,
maar Umami-website-ID's horen bij één specifieke domeinentry in het
dashboard. Zonder deze fix zou productieverkeer in de teststatistieken
terechtkomen. Introduceert VITE_UMAMI_WEBSITE_ID_PRODUCTION als losse Gitea
variable, en documenteert dat er twee aparte Umami-website-entries nodig
zijn (test.slpsoftware.nl / slpsoftware.nl). VITE_UMAMI_SCRIPT_URL en
VITE_SENTRY_DSN blijven bewust gedeeld tussen omgevingen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 12:12:13 +02:00
SluijsensandClaude Sonnet 5 a208aebae0 Automatiseer productie-deploy als opt-in stap naast de bestaande testdeploy
Voegt build-production en deploy-production jobs toe aan
continuous_integration.yaml, alleen actief bij een handmatige
workflow_dispatch-run met het deploy_production-vinkje aangevinkt (nooit
automatisch bij een push naar master). Een aparte build-production job is
nodig omdat VITE_APP_ENV een build-time Vite-variabele is: dezelfde bundel
kan niet zowel als test als production getagd zijn in Sentry/analytics.
Uploadpad komt uit de nieuwe Gitea-variable DEPLOY_PATH_PRODUCTION, analoog
aan DEPLOY_PATH_TEST. Documentatie en production-readiness-checklist
bijgewerkt om dit open item als opgelost te markeren.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 12:05:19 +02:00
SluijsensandClaude Sonnet 5 78f68d52f7 Maak DEPLOY_PATH configureerbaar via Gitea Actions variable i.p.v. hardcoded
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m18s
Continuous Integration / build (pull_request) Successful in 1m55s
Continuous Integration / test (pull_request) Successful in 1m50s
Continuous Integration / deploy-test (pull_request) Skipped
Vervangt het hardcoded testpad in continuous_integration.yaml door de
Gitea repository variable DEPLOY_PATH_TEST, zodat het uploadpad aan te
passen is zonder de workflow zelf te wijzigen. Documentatie bijgewerkt
met de vereiste eenmalige Gitea-variable-setup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 11:59:16 +02:00
Sluijsens d71d0636c0 Split nginx voorbeeldconfigs in pre- en post-certbot varianten, plus access/error logs
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m13s
Continuous Integration / build (pull_request) Successful in 2m2s
Continuous Integration / test (pull_request) Successful in 1m51s
Continuous Integration / deploy-test (pull_request) Skipped
De reverse-proxy en analytics nginx-configs toonden al de door certbot beheerde
eindstaat (met SSL-directives), terwijl je die juist nodig hebt vóórdat certbot
draait. Nu is het .example-bestand de kale HTTP-versie om te kopiëren, met een
apart .post-certbot.example ter referentie voor de staat erna. Alle configs
(inclusief webserver-nginx.conf.example) hebben nu ook expliciete error_log/
access_log directives.
2026-07-25 23:45:34 +02:00
Sluijsens ba545910c0 Fixes gite aworkflow
Continuous Integration / config (pull_request) Successful in 11s
Continuous Integration / prepare (pull_request) Failing after 12m19s
Continuous Integration / build (pull_request) Skipped
Continuous Integration / test (pull_request) Skipped
Continuous Integration / deploy-test (pull_request) Skipped
2026-07-25 23:37:15 +02:00
SluijsensandJunie 61fc6ba4c4 Document fix for 'Failed to connect to bus' when setting up Umami systemd user service
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 23:22:06 +02:00
SluijsensandJunie 00a80cccbb Document ufw rule needed for Umami port 3001 (fixes connection reset by peer)
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 23:15:15 +02:00
SluijsensandJunie 3ec22f4b9e Explain podman-compose down/up needed after config changes to existing container
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 23:00:40 +02:00
SluijsensandJunie 11b77a6994 fix: change Umami external port from 3000 to 3001 to avoid conflict with Gitea
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 22:53:34 +02:00
SluijsensandJunie 5102945ab4 Umami self-hosted setup: draai onder eigen dedicated user i.p.v. hoofdaccount
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 21:37:14 +02:00
Sluijsens 844a470c18 Merge branch 'master' into feature/analytics_uptime_dashboard
# Conflicts:
#	.env.example
#	aidlc-docs/features/react-frontend/aidlc-state.md
#	aidlc-docs/features/react-frontend/audit.md
#	aidlc-docs/features/react-frontend/operations/monitoring/monitoring-plan.md
#	aidlc-docs/features/react-frontend/operations/monitoring/monitoring-setup.md
#	aidlc-docs/features/react-frontend/operations/production-readiness-checklist.md
#	src/components/RootLayout.tsx
#	src/vite-env.d.ts
2026-07-25 20:14:16 +02:00
SluijsensandJunie 08b489e305 Voeg self-hosted Umami analytics + UptimeRobot uptime dashboard toe
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 19:59:40 +02:00
SluijsensandJunie 9732791d09 Rond Sentry logging-follow-up af: bevestigd werkend, documentatie bijgewerkt
Continuous Integration / config (pull_request) Successful in 11s
Continuous Integration / prepare (pull_request) Successful in 1m15s
Continuous Integration / build (pull_request) Successful in 1m54s
Continuous Integration / test (pull_request) Successful in 1m47s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 16:05:56 +02:00
SluijsensandJunie 708d89905c Verwijder regenererende build-artefacten uit git-tracking
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m11s
Continuous Integration / build (pull_request) Successful in 1m55s
Continuous Integration / test (pull_request) Successful in 1m47s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 15:49:32 +02:00
SluijsensandJunie 588e198028 Voeg Sentry-tunnel ook toe voor lokale development
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 15:46:58 +02:00
SluijsensandJunie f650c01c3e Add Sentry tunnel to bypass ad-blocker on test environment
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 15:40:14 +02:00
SluijsensandJunie b7617d968d Add local dev Sentry DSN support and fix environment tag for test vs. production
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m13s
Continuous Integration / build (pull_request) Successful in 1m57s
Continuous Integration / test (pull_request) Successful in 1m47s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 14:55:06 +02:00
SluijsensandJunie 1207bc1453 Show a confirmation toast when the Sentry test button is clicked
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m12s
Continuous Integration / build (pull_request) Successful in 1m53s
Continuous Integration / test (pull_request) Successful in 1m49s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 14:23:46 +02:00
SluijsensandJunie f1a3c3bdd0 Remove tsconfig.tsbuildinfo from tracking, add to .gitignore
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / prepare (pull_request) Successful in 1m59s
Continuous Integration / build (pull_request) Successful in 1m54s
Continuous Integration / test (pull_request) Successful in 1m46s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 13:48:33 +02:00
SluijsensandJunie c90300b9a4 Add temporary Sentry test button (dev/test only)
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 13:46:43 +02:00
SluijsensandJunie 524b5a6dc7 Voeg tracing en environment/release-tags toe aan Sentry-configuratie
Continuous Integration / config (pull_request) Successful in 11s
Continuous Integration / prepare (pull_request) Successful in 1m17s
Continuous Integration / build (pull_request) Successful in 2m10s
Continuous Integration / test (pull_request) Successful in 1m58s
Continuous Integration / deploy-test (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 13:35:09 +02:00
SluijsensandJunie 7680feb29f Voeg Sentry-foutregistratie toe als gekozen logging-bestemming
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 13:15:18 +02:00
SluijsensandJunie 7e53d4d7e2 Verduidelijk pad-verschil tussen deploy_path en nginx root in documentatie
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-25 13:09:38 +02:00
Sluijsens 63e11f1595 Fixes mobile layout
Continuous Integration / config (pull_request) Successful in 9s
Continuous Integration / prepare (pull_request) Successful in 1m15s
Continuous Integration / build (pull_request) Successful in 1m47s
Continuous Integration / test (pull_request) Successful in 1m42s
Continuous Integration / deploy-test (pull_request) Skipped
2026-07-25 00:06:30 +02:00
Sluijsens f37e9f7d7e removes change
Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m11s
Continuous Integration / build (pull_request) Successful in 1m46s
Continuous Integration / test (pull_request) Successful in 1m43s
Continuous Integration / deploy-test (pull_request) Skipped
2026-07-24 23:28:16 +02:00
Sluijsens 45ec15d5c0 Random change 2026-07-24 23:07:59 +02:00
Sluijsens dce8f8df08 Merge branch 'feature/updates_gitea_workflow' of ssh://gitea.slpsoftware.nl:2224/SLP_Software/SlpSoftware into feature/updates_gitea_workflow 2026-07-24 21:44:53 +02:00
SluijsensandJunie 7e3a0c5490 docs: restore push trigger to branches: [master] and document PR-trigger investigation
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-24 16:36:45 +02:00
SluijsensandJunie f47aed55c7 Centralize deploy_path, environment and artifact name/path as workflow variables
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-24 16:24:20 +02:00
SluijsensandJunie 3e537162c0 Rename PI_TEST_* secrets to PI_MAIN_* and centralize adjustable workflow values
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-24 16:18:46 +02:00
SluijsensandJunie fd31f02091 Fix webserver Pi port to 80 in nginx example configs
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-24 15:56:03 +02:00
SluijsensandJunie 1ffe884eba Add automated test-environment deploy via SCP with nginx reverse proxy, domain names and SSL (certbot) setup
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-24 15:52:16 +02:00
Sluijsens a437bad95b Updates workflow to trigger on pull request merge to maste rinstead of main 2026-07-24 15:27:54 +02:00
Sluijsens b8b0cd2e2c Finishes monitoring process in aidlc 2026-07-24 15:21:31 +02:00
Sluijsens 2ab30f3edd Adds comment to be able to create PR 2026-07-23 23:54:27 +02:00
SluijsensandClaude Sonnet 5 1ae57f7c5d docs: leg uit hoe deploy-goedkeuring werkt in Gitea Actions
Build, Test and Package Release / build-and-test (pull_request) Successful in 1m57s
Build, Test and Package Release / deploy (pull_request) Skipped
Gitea Actions kent geen GitLab/Azure DevOps-achtige manual approval
gate; workflow_dispatch is het dichtstbijzijnde equivalent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 23:32:40 +02:00
SluijsensandJunie 9cc884f764 ci: run workflow on pull requests and expire artifacts after 1 day
Build, Test and Package Release / build-and-test (pull_request) Successful in 55s
Build, Test and Package Release / deploy (pull_request) Skipped
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-20 23:10:34 +02:00
Sluijsens 530e86dfe2 Updates deployt workflow to downgrade artifact upload from v4 to v3 2026-07-20 22:19:43 +02:00
SluijsensandJunie 5f5f113343 Fix: voeg packages-veld toe aan pnpm-workspace.yaml (pnpm install --frozen-lockfile error)
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-20 22:14:18 +02:00
SluijsensandJunie 19b1101c1b Add Deployment Setup: manual Gitea Actions build/test/artifact pipeline
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-20 01:40:46 +02:00
SluijsensandJunie e299f1c745 Initial commit: React frontend (SLP Software) + AIDLC workflow docs
Co-authored-by: Junie <junie@jetbrains.com>
2026-07-20 00:19:44 +02:00