Commit DocsOpen Commit ↗
SILICON COMMIT / DOCUMENTATION

Deployment#

Run commit-migrate once with COMMIT_MIGRATOR_DATABASE_URL and COMMIT_SCHEMA_OWNER set to the schema owner. Run the API and worker with a separate runtime role. Grant that role the application privileges after every schema migration:

GRANT USAGE ON SCHEMA commit TO silicon_commit_runtime;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA commit TO silicon_commit_runtime;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA commit TO silicon_commit_runtime;
GRANT EXECUTE ON FUNCTION commit.run_retention_pass(integer) TO silicon_commit_runtime;
GRANT EXECUTE ON FUNCTION commit.clean_testing_environment(uuid,text) TO silicon_commit_runtime;
GRANT EXECUTE ON FUNCTION commit.purge_testing_environments(integer) TO silicon_commit_runtime;
ALTER DEFAULT PRIVILEGES IN SCHEMA commit GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO silicon_commit_runtime;
ALTER DEFAULT PRIVILEGES IN SCHEMA commit GRANT USAGE, SELECT ON SEQUENCES TO silicon_commit_runtime;

Set COMMIT_IAM_APP_SECRET in the API secret store. Test-environment IAm root keys are encrypted with a key derived from that secret; changing the application secret requires re-encrypting existing test-environment keys before starting the API.

The API uses the authenticated user bearer for IAM directory reads. Health and readiness endpoints are /healthz and /readyz; the product API is mounted at /api/v1/, and IAM webhooks arrive at /webhook/.

The current standalone AWS deployment and release procedure are documented in deploy/aws/README.md, including known IAM integration gaps and the checks performed against the live endpoint.