Commit Graph

42 Commits

Author SHA1 Message Date
Sacha Al Himdani
6e9cee9d34 Document migration rules for indexes and defaults
Clarify that indexes should not be added speculatively and
should only be introduced when justified by production query
latency. Also document that columns should avoid DEFAULT
clauses, with guidance on backfilling non-nullable columns.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-20 10:52:31 +01:00
Bryan Frimin
a69b6da377 Document fix categorization rule in release guide 2026-03-20 10:32:51 +01:00
Bryan Frimin
baf8cf0837 Support developer-specific env vars in sandbox provisioning
Source a gitignored .sandbox.env file (if present) before running
probod-bootstrap so each developer can inject their own secrets
(SSO, API keys, etc.) without committing them to the repo.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 22:04:08 +01:00
Bryan Frimin
fc2c3eab61 Isolate sandbox node_modules with VM-local bind mount
Avoid platform conflicts between macOS host and Linux VM by
bind-mounting a VM-local directory over /workspace/node_modules.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 22:04:06 +01:00
Bryan Frimin
2be7337344 Disable Lima automatic port forwarding for sandbox
Lima auto-forwards ports from the VM to localhost, which blocks local
development on the same ports (e.g. localhost:8080). Services are
already accessible via the VM IP shown by `sandbox.sh status`.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 20:03:36 +01:00
Bryan Frimin
f3aa0dea36 Fix sandbox provisioning failure due to missing LIMA_CIDATA_USER
The provision script relied on LIMA_CIDATA_USER being set in the
environment, but during cloud-init this variable is not exported — it
only exists in /mnt/lima-cidata/lima.env. The file cannot be sourced
directly because values like LIMA_CIDATA_COMMENT contain unquoted
spaces, so we extract LIMA_CIDATA_USER with sed instead.

Also ensure HOME is set for root's go install commands and explicitly
set PATH when running make as the Lima user via su, since profile.d
scripts may not be loaded during cloud-init provisioning.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 19:51:53 +01:00
Bryan Frimin
9fd3473147 Fix sandbox Docker root issue and replace make dev with systemd services
Fixes docker permissions by enabling Docker daemon during provisioning. Replaces make dev with three managed systemd services: probo-stack (auto-starting Docker Compose infra), probod (API server with gow for hot-reload), and probo-console (frontend dev server). The stack now starts automatically on VM boot; probod and console are started manually after build.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 19:51:53 +01:00
Bryan Frimin
7895dd32b0 Fix logging format string bugs and add missing contributor guides
Replace three instances of leftover %T format verbs in logger.ErrorCtx() calls with proper structured logging fields. Add alphabetically-sorted reference documentation for six new contrib/claude/ guides and reorder the existing list.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 15:09:31 +01:00
Bryan Frimin
312e30d9e4 Add sandbox-specific probod config generation
Add a make target for probod-bootstrap and integrate it into the sandbox provisioning workflow. During VM provisioning, generate /etc/probod/config.yml with the Lima VM IP as the cookie domain, secure=false for HTTP access, and correct CORS origins. Also generate .env files for console and trust apps pointing to the VM IP. Update sandbox documentation to explain the auto-generated configuration.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 15:06:37 +01:00
Sacha Al Himdani
6c9b338ad5 Deprecate useMutationWithToasts and promisifyMutation
Update relay agent rules to mark both helpers as deprecated.
Replace examples with the preferred pattern: useMutation with
onCompleted/onError callbacks and useToast.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-17 17:51:55 +01:00
Sacha Al Himdani
532347fcda Add commit signing and authorship rules
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-17 15:39:50 +01:00
Bryan Frimin
cb659411ba Add release guide documentation
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:52:32 +01:00
Bryan Frimin
3a38930628 Add seed script to populate dev environment with realistic compliance data
Validate GraphQL mutation responses in create_vendor, create_measure, and
create_framework helpers to ensure mutations actually returned data instead
of silently discarding the response.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:50:48 +01:00
Bryan Frimin
46635e7f04 Add Lima sandbox environment for parallel feature testing
Implement a complete sandbox system for testing multiple features in parallel
using git worktrees and Lima VMs. Each worktree gets its own isolated VM with
Docker, full service stack, and unique IP via vzNAT networking.

- contrib/lima/provision.sh: Idempotent provisioning script (Docker, Go 1.26.1, Node.js 24, npm 11.8.0, Go tools, mkcert)
- contrib/lima/probo.yaml: Lima VM template with vz vmType, Rosetta, vzNAT, virtiofs mount
- contrib/lima/sandbox.sh: Lifecycle CLI (create, start, stop, restart, delete, ssh, exec, status, list)
- contrib/lima/README.md: Human documentation with prerequisites, quickstart, troubleshooting
- contrib/claude/sandbox.md: Agent reference doc for sandbox usage patterns
- GNUmakefile: Convenience targets for sandbox.sh commands
- AGENTS.md: Updated reference documentation index

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:46:48 +01:00
Bryan Frimin
7147cf189a Reorganize GraphQL docs: separate Go backend from frontend Relay client
Move frontend Relay client documentation into relay.md and create new graphql.md dedicated to Go backend patterns. Covers gqlgen schema-first approach, @goModel/@goEnum/@goField directives, connection type patterns, and cursor pagination implementation.

- relay.md: Frontend Relay client (environments, compiler, queries, fragments, mutations)
- graphql.md: Go backend gqlgen (directives, connection types, pagination schema, keyset pagination)
- AGENTS.md: Update documentation references

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 19:09:39 +01:00
Bryan Frimin
5114a06acc Use for loop and ticker in worker pattern
Replace goto/LOOP with a for/select on time.Ticker for
clearer control flow.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:34 +01:00
Bryan Frimin
76e6d5a9a7 Move Go service orchestration to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:33 +01:00
Bryan Frimin
54183598cd Move Go worker pattern to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:33 +01:00
Bryan Frimin
377807be2a Move Go test conventions to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:32 +01:00
Bryan Frimin
21eaaef30a Extend license header to all source file types
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:32 +01:00
Bryan Frimin
4ea629283b Move license header to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:32 +01:00
Bryan Frimin
c6f2c6a71c Move commit message conventions to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:31 +01:00
Bryan Frimin
1b5f79c7d1 Add frontend Relay client guide
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:30 +01:00
Bryan Frimin
b0841becde Add Relay cursor pagination guide
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:30 +01:00
Bryan Frimin
7c77c217c7 Fix Anthropic requests failing due to missing MaxTokens in agent configuration
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 18:24:02 +01:00
Sacha Al Himdani
afd92fd938 Migrate from MinIO to SeaweedFS
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-19 11:47:04 +01:00
Sacha Al Himdani
d6abaec786 Fix azure storage
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-12-17 16:55:30 +01:00
Bryan Frimin
0b2420b6b8 Fix support PostgreSQL CA bundle in Helm charts with file path option
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-14 11:12:15 +01:00
Thomas Stocker
eb461d5c29 feat: update charts README.md and values to remove sensitive values
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-13 21:24:13 +01:00
Thomas Stocker
6ae6c6875b fix: ingress issue that didn't discover the right service
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:38 +01:00
Thomas Stocker
566a8e6c6d feat: always pull latest image
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:38 +01:00
Thomas Stocker
798c5a6baf fix: use secret instead of simple env vars
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:37 +01:00
Thomas Stocker
f28095d8a0 fix: ingress port issue and cubic review
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:37 +01:00
Thomas Stocker
eda00d0d65 fix: replace hostname with baseUrl param and add SAML config
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:37 +01:00
Thomas Stocker
3f3e06d85b fix: use env vars and secret on container, config file is now generated on container launch
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:37 +01:00
Thomas Stocker
c1f5b01541 chore: update NOTES.txt with current template
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:36 +01:00
Thomas Stocker
ec67ac3991 fix: remove testing instructions
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:36 +01:00
Thomas Stocker
47c4efb8c8 fix: cubic issues
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:36 +01:00
Thomas Stocker
fa19f3a17c chore: remove echo sensitive data
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:35 +01:00
Thomas Stocker
bb2d410a6d chore: remove test values in smtp config
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:35 +01:00
Thomas Stocker
d9ab8e8af7 feat: update hostnam param with base-url
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:35 +01:00
Thomas Stocker
4a96bd796a feat: add helm charts
Signed-off-by: Thomas Stocker <thomas.stocker.pro@gmail.com>
2025-11-12 12:09:35 +01:00