Replace the monolithic agents config with a cleaner structure: - llm: holds provider credentials and default model settings - probo-agent: LLM overrides for the probo agent - evidence-describer: worker config (interval, stale-after, max-concurrency) alongside LLM overrides This makes worker tuning configurable via YAML and env vars instead of being hardcoded in Go, and separates provider credentials from per-consumer model settings. Signed-off-by: Bryan Frimin <bryan@getprobo.com>
238 lines
7.1 KiB
YAML
238 lines
7.1 KiB
YAML
unit:
|
|
metrics:
|
|
addr: "localhost:8081"
|
|
tracing:
|
|
addr: "localhost:4317"
|
|
max-batch-size: 512
|
|
batch-timeout: 1
|
|
export-timeout: 1
|
|
max-queue-size: 2048
|
|
|
|
probod:
|
|
base-url: "http://localhost:8080"
|
|
encryption-key: "thisisnotasecretAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
|
chrome-dp-addr: "localhost:9222"
|
|
|
|
identity-and-access-management:
|
|
signup:
|
|
enabled: true
|
|
invitation-token-validity: 3600
|
|
password:
|
|
pepper: "this-is-a-secure-pepper-for-password-hashing-at-least-32-bytes"
|
|
session:
|
|
duration: 7d
|
|
cookie:
|
|
name: "SSID"
|
|
domain: "localhost"
|
|
secret: "this-is-a-secure-secret-for-cookie-signing-at-least-32-bytes"
|
|
duration: 24
|
|
secure: true
|
|
|
|
trust-center:
|
|
http-addr: ":8085"
|
|
https-addr: ":8443"
|
|
|
|
api:
|
|
addr: "localhost:8080"
|
|
|
|
default:
|
|
cors:
|
|
allowed-origins:
|
|
- "http://localhost:8080"
|
|
- "http://localhost:5173"
|
|
- "http://localhost:5174"
|
|
extra-header-fields: {}
|
|
console:
|
|
complaince-page:
|
|
connect:
|
|
mcp:
|
|
|
|
pg:
|
|
addr: "localhost:5432"
|
|
username: "postgres"
|
|
password: "postgres"
|
|
database: "probod"
|
|
pool-size: 100
|
|
|
|
auth:
|
|
disable-signup: false
|
|
invitation-confirmation-token-validity: 3600
|
|
cookie:
|
|
name: "SSID"
|
|
domain: "localhost"
|
|
secret: "this-is-a-secure-secret-for-cookie-signing-at-least-32-bytes"
|
|
duration: 24
|
|
secure: true
|
|
password:
|
|
pepper: "this-is-a-secure-pepper-for-password-hashing-at-least-32-bytes"
|
|
iterations: 1000000
|
|
|
|
aws:
|
|
region: "us-east-1"
|
|
bucket: "probod"
|
|
access-key-id: "probod"
|
|
secret-access-key: "thisisnotasecret"
|
|
endpoint: "http://127.0.0.1:8333"
|
|
|
|
notifications:
|
|
mailer:
|
|
sender-name: "Probo"
|
|
sender-email: "no-reply@notification.getprobo.com"
|
|
smtp:
|
|
addr: "localhost:1025"
|
|
tls-required: false
|
|
mailer-interval: 60
|
|
slack:
|
|
sender-interval: 60
|
|
|
|
llm:
|
|
providers:
|
|
openai:
|
|
type: openai
|
|
api-key: "thisisnotasecret"
|
|
defaults:
|
|
provider: openai
|
|
model-name: gpt-4o
|
|
temperature: 0.1
|
|
max-tokens: 4096
|
|
|
|
evidence-describer:
|
|
interval: 10
|
|
stale-after: 300
|
|
max-concurrency: 10
|
|
|
|
custom-domains:
|
|
renewal-interval: 3600
|
|
provision-interval: 30
|
|
cname-target: "custom.getprobo.com"
|
|
acme:
|
|
directory: "https://localhost:14000/dir"
|
|
email: "admin@getprobo.com"
|
|
key-type: "EC256"
|
|
|
|
connectors:
|
|
- provider: "SLACK"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-slack-client-id"
|
|
client-secret: "your-slack-client-secret"
|
|
redirect-uri: "https://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://slack.com/oauth/v2/authorize"
|
|
token-url: "https://slack.com/api/oauth.v2.access"
|
|
|
|
scopes:
|
|
- "chat:write"
|
|
- "channels:join"
|
|
- "incoming-webhook"
|
|
- "users:read"
|
|
- "users:read.email"
|
|
settings:
|
|
signing-secret: "your-slack-signing-secret"
|
|
- provider: "GOOGLE_WORKSPACE"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-google-client-id.apps.googleusercontent.com"
|
|
client-secret: "your-google-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://accounts.google.com/o/oauth2/v2/auth"
|
|
token-url: "https://oauth2.googleapis.com/token"
|
|
|
|
scopes:
|
|
- "https://www.googleapis.com/auth/admin.directory.user.readonly"
|
|
- "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
|
|
- "https://www.googleapis.com/auth/admin.directory.group.member.readonly"
|
|
- "https://www.googleapis.com/auth/admin.directory.customer.readonly"
|
|
extra-auth-params:
|
|
access_type: "offline"
|
|
prompt: "consent"
|
|
- provider: "LINEAR"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-linear-client-id"
|
|
client-secret: "your-linear-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://linear.app/oauth/authorize"
|
|
token-url: "https://api.linear.app/oauth/token"
|
|
|
|
scopes:
|
|
- "read"
|
|
- "write"
|
|
- provider: "BREX"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-brex-client-id"
|
|
client-secret: "your-brex-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://accounts-api.brex.com/oauth2/default/v1/authorize"
|
|
token-url: "https://accounts-api.brex.com/oauth2/default/v1/token"
|
|
|
|
scopes:
|
|
- "openid"
|
|
- "offline_access"
|
|
- provider: "HUBSPOT"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-hubspot-client-id"
|
|
client-secret: "your-hubspot-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://app.hubspot.com/oauth/authorize"
|
|
token-url: "https://api.hubapi.com/oauth/v1/token"
|
|
|
|
scopes:
|
|
- "settings.users.read"
|
|
- provider: "DOCUSIGN"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-docusign-client-id"
|
|
client-secret: "your-docusign-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://account-d.docusign.com/oauth/auth"
|
|
token-url: "https://account-d.docusign.com/oauth/token"
|
|
|
|
scopes:
|
|
- "signature"
|
|
token-endpoint-auth: "basic-form"
|
|
- provider: "NOTION"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-notion-client-id"
|
|
client-secret: "your-notion-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://api.notion.com/v1/oauth/authorize"
|
|
token-url: "https://api.notion.com/v1/oauth/token"
|
|
|
|
extra-auth-params:
|
|
owner: "user"
|
|
token-endpoint-auth: "basic-json"
|
|
- provider: "GITHUB"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-github-client-id"
|
|
client-secret: "your-github-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://github.com/login/oauth/authorize"
|
|
token-url: "https://github.com/login/oauth/access_token"
|
|
|
|
scopes:
|
|
- "read:org"
|
|
- provider: "SENTRY"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-sentry-client-id"
|
|
client-secret: "your-sentry-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://sentry.io/oauth/authorize/"
|
|
token-url: "https://sentry.io/oauth/token/"
|
|
|
|
scopes:
|
|
- "org:read"
|
|
- "member:read"
|
|
- provider: "INTERCOM"
|
|
protocol: "oauth2"
|
|
config:
|
|
client-id: "your-intercom-client-id"
|
|
client-secret: "your-intercom-client-secret"
|
|
redirect-uri: "http://localhost:8080/api/console/v1/connectors/complete"
|
|
auth-url: "https://app.intercom.com/oauth"
|
|
token-url: "https://api.intercom.io/auth/eagle/token"
|