Update documentation

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-10-31 16:01:11 +01:00
parent 134f94c4c8
commit 74a005ba7f
4 changed files with 98 additions and 101 deletions

View File

@@ -9,7 +9,7 @@ services:
TRUST_AUTH_TOKEN_SECRET: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes" TRUST_AUTH_TOKEN_SECRET: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes"
# Application settings # Application settings
PROBOD_HOSTNAME: "localhost:8080" PROBOD_BASE_URL: "http://localhost:8080"
API_ADDR: "localhost:8080" API_ADDR: "localhost:8080"
API_CORS_ALLOWED_ORIGINS: "http://localhost:8080" API_CORS_ALLOWED_ORIGINS: "http://localhost:8080"

View File

@@ -5,7 +5,7 @@ This document provides a comprehensive reference for all environment variables u
## Configuration File ## Configuration File
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ------------- | ------------------------------ | ------------------------ | -------- |
| `CONFIG_FILE` | Path to the configuration file | `/etc/probod/config.yml` | No | | `CONFIG_FILE` | Path to the configuration file | `/etc/probod/config.yml` | No |
## Observability ## Observability
@@ -13,13 +13,13 @@ This document provides a comprehensive reference for all environment variables u
### Metrics ### Metrics
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------- | --------------------------------------- | ---------------- | -------- |
| `METRICS_ADDR` | Address for Prometheus metrics endpoint | `localhost:8081` | No | | `METRICS_ADDR` | Address for Prometheus metrics endpoint | `localhost:8081` | No |
### Tracing ### Tracing
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ------------------------ | ------------------------------------------------------- | ---------------- | -------- |
| `TRACING_ADDR` | OpenTelemetry collector address for distributed tracing | `localhost:4317` | No | | `TRACING_ADDR` | OpenTelemetry collector address for distributed tracing | `localhost:4317` | No |
| `TRACING_MAX_BATCH_SIZE` | Maximum number of spans to batch before export | `512` | No | | `TRACING_MAX_BATCH_SIZE` | Maximum number of spans to batch before export | `512` | No |
| `TRACING_BATCH_TIMEOUT` | Timeout in seconds for batching spans | `5` | No | | `TRACING_BATCH_TIMEOUT` | Timeout in seconds for batching spans | `5` | No |
@@ -29,22 +29,22 @@ This document provides a comprehensive reference for all environment variables u
## Application Configuration ## Application Configuration
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ----------------------- | ---------------------------------------------------------------- | ----------------------- | -------- |
| `PROBOD_HOSTNAME` | Public hostname for the Probo instance (used for URL generation) | `localhost:8080` | No | | `PROBOD_BASE_URL` | Public hostname for the Probo instance (used for URL generation) | `http://localhost:8080` | No |
| `PROBOD_ENCRYPTION_KEY` | Base64-encoded encryption key for sensitive data (32+ bytes) | - | **Yes** | | `PROBOD_ENCRYPTION_KEY` | Base64-encoded encryption key for sensitive data (32+ bytes) | - | **Yes** |
| `CHROME_DP_ADDR` | Chrome DevTools Protocol address for PDF generation | `localhost:9222` | No | | `CHROME_DP_ADDR` | Chrome DevTools Protocol address for PDF generation | `localhost:9222` | No |
## API Configuration ## API Configuration
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------------- | ---------------------------------------------- | ----------------------- | -------- |
| `API_ADDR` | Address and port for the API server to bind to | `:8080` | No | | `API_ADDR` | Address and port for the API server to bind to | `:8080` | No |
| `API_CORS_ALLOWED_ORIGINS` | Comma-separated list of allowed CORS origins | `http://localhost:8080` | No | | `API_CORS_ALLOWED_ORIGINS` | Comma-separated list of allowed CORS origins | `http://localhost:8080` | No |
## PostgreSQL Database ## PostgreSQL Database
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------- | -------------------------------------------------- | ---------------- | -------- |
| `PG_ADDR` | PostgreSQL server address and port | `localhost:5432` | No | | `PG_ADDR` | PostgreSQL server address and port | `localhost:5432` | No |
| `PG_USERNAME` | PostgreSQL username | `postgres` | No | | `PG_USERNAME` | PostgreSQL username | `postgres` | No |
| `PG_PASSWORD` | PostgreSQL password | `postgres` | No | | `PG_PASSWORD` | PostgreSQL password | `postgres` | No |
@@ -56,14 +56,14 @@ This document provides a comprehensive reference for all environment variables u
### User Authentication ### User Authentication
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------------------- | --------------------------------------------- | --------------- | -------- |
| `AUTH_DISABLE_SIGNUP` | Disable user self-registration | `false` | No | | `AUTH_DISABLE_SIGNUP` | Disable user self-registration | `false` | No |
| `AUTH_INVITATION_TOKEN_VALIDITY` | Invitation token validity duration in seconds | `3600` (1 hour) | No | | `AUTH_INVITATION_TOKEN_VALIDITY` | Invitation token validity duration in seconds | `3600` (1 hour) | No |
### Authentication Cookies ### Authentication Cookies
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ---------------------- | -------------------------------------------------- | ------------- | -------- |
| `AUTH_COOKIE_NAME` | Name of the session cookie | `SSID` | No | | `AUTH_COOKIE_NAME` | Name of the session cookie | `SSID` | No |
| `AUTH_COOKIE_DOMAIN` | Domain for the session cookie | `localhost` | No | | `AUTH_COOKIE_DOMAIN` | Domain for the session cookie | `localhost` | No |
| `AUTH_COOKIE_SECRET` | Secret key for signing session cookies (32+ bytes) | - | **Yes** | | `AUTH_COOKIE_SECRET` | Secret key for signing session cookies (32+ bytes) | - | **Yes** |
@@ -72,14 +72,14 @@ This document provides a comprehensive reference for all environment variables u
### Password Security ### Password Security
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------------- | ---------------------------------------------------- | ------------- | -------- |
| `AUTH_PASSWORD_PEPPER` | Secret pepper value for password hashing (32+ bytes) | - | **Yes** | | `AUTH_PASSWORD_PEPPER` | Secret pepper value for password hashing (32+ bytes) | - | **Yes** |
| `AUTH_PASSWORD_ITERATIONS` | Number of PBKDF2 iterations for password hashing | `1000000` | No | | `AUTH_PASSWORD_ITERATIONS` | Number of PBKDF2 iterations for password hashing | `1000000` | No |
## Trust Center Authentication ## Trust Center Authentication
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------------------- | ------------------------------------------------------ | ----------------------- | -------- |
| `TRUST_AUTH_COOKIE_NAME` | Name of the trust center token cookie | `TCT` | No | | `TRUST_AUTH_COOKIE_NAME` | Name of the trust center token cookie | `TCT` | No |
| `TRUST_AUTH_COOKIE_DOMAIN` | Domain for the trust center cookie | `localhost` | No | | `TRUST_AUTH_COOKIE_DOMAIN` | Domain for the trust center cookie | `localhost` | No |
| `TRUST_AUTH_COOKIE_DURATION` | Trust center cookie validity duration in hours | `24` | No | | `TRUST_AUTH_COOKIE_DURATION` | Trust center cookie validity duration in hours | `24` | No |
@@ -92,7 +92,7 @@ This document provides a comprehensive reference for all environment variables u
## AWS / S3 Storage ## AWS / S3 Storage
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ----------------------- | -------------------------------------------------------- | ------------- | -------- |
| `AWS_REGION` | AWS region for S3 storage | `us-east-1` | No | | `AWS_REGION` | AWS region for S3 storage | `us-east-1` | No |
| `AWS_BUCKET` | S3 bucket name for file storage | `probod` | No | | `AWS_BUCKET` | S3 bucket name for file storage | `probod` | No |
| `AWS_ACCESS_KEY_ID` | AWS access key ID (leave empty for IAM role) | - | No | | `AWS_ACCESS_KEY_ID` | AWS access key ID (leave empty for IAM role) | - | No |
@@ -104,7 +104,7 @@ This document provides a comprehensive reference for all environment variables u
### Email (SMTP) ### Email (SMTP)
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | --------------------- | ---------------------------------------------- | ------------------------------------ | -------- |
| `MAILER_SENDER_NAME` | Display name for outgoing emails | `Probo` | No | | `MAILER_SENDER_NAME` | Display name for outgoing emails | `Probo` | No |
| `MAILER_SENDER_EMAIL` | Email address for outgoing emails | `no-reply@notification.getprobo.com` | No | | `MAILER_SENDER_EMAIL` | Email address for outgoing emails | `no-reply@notification.getprobo.com` | No |
| `SMTP_ADDR` | SMTP server address and port | `localhost:1025` | No | | `SMTP_ADDR` | SMTP server address and port | `localhost:1025` | No |
@@ -114,13 +114,13 @@ This document provides a comprehensive reference for all environment variables u
### Slack ### Slack
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ----------------------- | ----------------------------------------------------------- | ------------- | -------- |
| `SLACK_SENDER_INTERVAL` | Interval in seconds for processing Slack notification queue | `60` | No | | `SLACK_SENDER_INTERVAL` | Interval in seconds for processing Slack notification queue | `60` | No |
## OpenAI Integration ## OpenAI Integration
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------- | ------------------------------------------------------ | ------------- | -------- |
| `OPENAI_API_KEY` | OpenAI API key for AI-powered features | - | No | | `OPENAI_API_KEY` | OpenAI API key for AI-powered features | - | No |
| `OPENAI_TEMPERATURE` | Temperature parameter for OpenAI completions (0.0-2.0) | `0.1` | No | | `OPENAI_TEMPERATURE` | Temperature parameter for OpenAI completions (0.0-2.0) | `0.1` | No |
| `OPENAI_MODEL_NAME` | OpenAI model name to use | `gpt-4o` | No | | `OPENAI_MODEL_NAME` | OpenAI model name to use | `gpt-4o` | No |
@@ -128,7 +128,7 @@ This document provides a comprehensive reference for all environment variables u
## Custom Domains ## Custom Domains
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ----------------------------------- | ----------------------------------------------------- | --------------------- | -------- |
| `CUSTOM_DOMAINS_RENEWAL_INTERVAL` | Interval in seconds for checking certificate renewals | `3600` (1 hour) | No | | `CUSTOM_DOMAINS_RENEWAL_INTERVAL` | Interval in seconds for checking certificate renewals | `3600` (1 hour) | No |
| `CUSTOM_DOMAINS_PROVISION_INTERVAL` | Interval in seconds for provisioning new domains | `30` | No | | `CUSTOM_DOMAINS_PROVISION_INTERVAL` | Interval in seconds for provisioning new domains | `30` | No |
| `CUSTOM_DOMAINS_CNAME_TARGET` | CNAME target for custom domains | `custom.getprobo.com` | No | | `CUSTOM_DOMAINS_CNAME_TARGET` | CNAME target for custom domains | `custom.getprobo.com` | No |
@@ -136,7 +136,7 @@ This document provides a comprehensive reference for all environment variables u
### ACME / Let's Encrypt ### ACME / Let's Encrypt
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | ---------------- | --------------------------------------------------------------- | ------------------------------------------------ | -------- |
| `ACME_DIRECTORY` | ACME directory URL for certificate issuance | `https://acme-v02.api.letsencrypt.org/directory` | No | | `ACME_DIRECTORY` | ACME directory URL for certificate issuance | `https://acme-v02.api.letsencrypt.org/directory` | No |
| `ACME_EMAIL` | Email address for ACME account registration | `admin@getprobo.com` | No | | `ACME_EMAIL` | Email address for ACME account registration | `admin@getprobo.com` | No |
| `ACME_KEY_TYPE` | Key type for ACME certificates (RSA2048, RSA4096, EC256, EC384) | `EC256` | No | | `ACME_KEY_TYPE` | Key type for ACME certificates (RSA2048, RSA4096, EC256, EC384) | `EC256` | No |
@@ -149,7 +149,7 @@ This document provides a comprehensive reference for all environment variables u
These variables are only used if `CONNECTOR_SLACK_CLIENT_ID` is set. These variables are only used if `CONNECTOR_SLACK_CLIENT_ID` is set.
| Variable | Description | Default Value | Required | | Variable | Description | Default Value | Required |
|----------|-------------|---------------|----------| | -------------------------------- | ------------------------------------------------- | ----------------------------------------------------------- | -------------------------- |
| `CONNECTOR_SLACK_CLIENT_ID` | Slack OAuth2 app client ID | - | No | | `CONNECTOR_SLACK_CLIENT_ID` | Slack OAuth2 app client ID | - | No |
| `CONNECTOR_SLACK_CLIENT_SECRET` | Slack OAuth2 app client secret | - | **Yes** (if client ID set) | | `CONNECTOR_SLACK_CLIENT_SECRET` | Slack OAuth2 app client secret | - | **Yes** (if client ID set) |
| `CONNECTOR_SLACK_REDIRECT_URI` | OAuth2 redirect URI for Slack connector | `https://localhost:8080/api/console/v1/connectors/complete` | No | | `CONNECTOR_SLACK_REDIRECT_URI` | OAuth2 redirect URI for Slack connector | `https://localhost:8080/api/console/v1/connectors/complete` | No |

View File

@@ -48,7 +48,7 @@ services:
TRUST_AUTH_TOKEN_SECRET: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes" TRUST_AUTH_TOKEN_SECRET: "this-is-a-secure-secret-for-trust-token-signing-at-least-32-bytes"
# Application settings # Application settings
PROBOD_HOSTNAME: "localhost:8080" PROBOD_BASE_URL: "http://localhost:8080"
API_ADDR: "localhost:8080" API_ADDR: "localhost:8080"
API_CORS_ALLOWED_ORIGINS: "http://localhost:8080" API_CORS_ALLOWED_ORIGINS: "http://localhost:8080"
@@ -89,7 +89,6 @@ services:
- minio - minio
- chrome - chrome
postgres: postgres:
image: "postgres:17.4" image: "postgres:17.4"
shm_size: "1g" shm_size: "1g"
@@ -136,12 +135,12 @@ services:
- "--disable-background-timer-throttling" - "--disable-background-timer-throttling"
- "--disable-extensions" - "--disable-extensions"
volumes: volumes:
probo-data: probo-data:
postgres-data: postgres-data:
minio-data: minio-data:
``` ```
#### With mounted Config File #### With mounted Config File
You can find an example configuration file [here](../cfg/dev.yaml) and modify it as needed. You can find an example configuration file [here](../cfg/dev.yaml) and modify it as needed.
@@ -164,7 +163,6 @@ services:
- minio - minio
- chrome - chrome
postgres: postgres:
image: "postgres:17.4" image: "postgres:17.4"
shm_size: "1g" shm_size: "1g"
@@ -211,7 +209,6 @@ services:
- "--disable-background-timer-throttling" - "--disable-background-timer-throttling"
- "--disable-extensions" - "--disable-extensions"
volumes: volumes:
probo-data: probo-data:
postgres-data: postgres-data:

View File

@@ -25,7 +25,7 @@ unit:
max-queue-size: ${TRACING_MAX_QUEUE_SIZE:-2048} max-queue-size: ${TRACING_MAX_QUEUE_SIZE:-2048}
probod: probod:
hostname: "${PROBOD_HOSTNAME:-localhost:8080}" base-url: "${PROBOD_BASE_URL:-http://localhost:8080}"
encryption-key: "${PROBOD_ENCRYPTION_KEY:?PROBOD_ENCRYPTION_KEY is required}" encryption-key: "${PROBOD_ENCRYPTION_KEY:?PROBOD_ENCRYPTION_KEY is required}"
chrome-dp-addr: "${CHROME_DP_ADDR:-localhost:9222}" chrome-dp-addr: "${CHROME_DP_ADDR:-localhost:9222}"