Files
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

62 lines
1.8 KiB
Markdown

# Development setup
## Prerequisites
- Git;
- Go 1.26.6;
- Node.js 24 or newer and pnpm 10.33 or newer;
- Python 3 with the packages in `requirements-dev.txt`;
- PowerShell 7;
- Docker Engine and Docker Compose;
- Chromium for Playwright end-to-end tests.
## Bootstrap
From a clean checkout:
```powershell
Copy-Item .env.example .env
pwsh -NoProfile -File scripts/bootstrap.ps1
```
The example environment uses mock authentication and local-only credentials. Never reuse production credentials, backups, dashboards, telemetry, or host inventories.
## Run the development stack
```powershell
docker compose -f deploy/compose.yaml -f deploy/compose.dev.yaml up --build
```
The development override publishes the web, API, and PostgreSQL ports for local testing. Treat those ports as development-only and use a host firewall when working on an untrusted network.
Stop only this stack with:
```powershell
docker compose -f deploy/compose.yaml -f deploy/compose.dev.yaml down --volumes
```
## Validation
For a public source checkout:
```powershell
pwsh -NoProfile -File scripts/public-verify.ps1
```
The optional real source-to-browser smoke uses an isolated Compose project and tears it down after the run:
```powershell
pwsh -NoProfile -File scripts/integration-smoke.ps1
```
PostgreSQL integration tests use explicit process-local test DSNs. Never point them at a database that contains data you need to keep.
## Production separation
- production uses OIDC and rejects mock authentication;
- the base/production profiles do not publish PostgreSQL or the API;
- runtime secrets remain outside Git;
- fixtures are synthetic;
- the agent remains read-only and receives no Docker socket;
- production changes follow [`../PUBLIC_DEPLOYMENT.md`](../PUBLIC_DEPLOYMENT.md), not the development procedure.