-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.outpost.yaml.example
102 lines (87 loc) · 4.06 KB
/
.outpost.yaml.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Outpost Configuration Example
# This is a comprehensive list of available configuration options.
# While all options can be configured here, it is recommended to use environment variables
# for sensitive values (secrets, credentials, API keys, etc.) instead of storing them in this file.
# Each configuration option can be overridden by its corresponding environment variable.
# Service
service: "" # Service type: "", "api", "log", "delivery" (empty string for singular mode that runs all services)
# Infrastructure Configuration
## Redis
redis:
host: "127.0.0.1" # Default Redis host
port: 6379 # Default Redis port
password: "" # Redis password
database: 0 # Redis database number
## ClickHouse
clickhouse:
addr: "" # ClickHouse address (e.g., localhost:9000)
username: "" # ClickHouse username
password: "" # ClickHouse password
database: "outpost" # Default database name
## Message Queue
mqs:
# Choose either RabbitMQ or AWS SQS configuration
# RabbitMQ Configuration Example
rabbitmq:
server_url: "amqp://user:pass@localhost:5672" # RabbitMQ server URL with credentials
exchange: "outpost" # Exchange name for message routing
delivery_queue: "outpost-delivery" # Queue for delivery events
log_queue: "outpost-log" # Queue for log events
# AWS SQS Configuration Example
awssqs:
access_key_id: "YOUR_AWS_ACCESS_KEY" # AWS access key ID
secret_access_key: "YOUR_AWS_SECRET_KEY" # AWS secret access key
region: "us-west-2" # AWS region
endpoint: "https://sqs.us-west-2.amazonaws.com" # SQS endpoint (optional, for custom endpoints)
delivery_queue: "outpost-delivery" # SQS queue name for delivery events
log_queue: "outpost-log" # SQS queue name for log events
# Application Configuration
aes_encryption_secret: "" # Secret for AES encryption
topics: # List of topics to subscribe to
- user.created
- user.updated
- user.deleted
## API
api_port: 3333 # Default port for the API server
api_key: "" # API key for authentication
api_jwt_secret: "" # JWT secret for authentication
## Delivery
max_destinations_per_tenant: 20 # Maximum destinations per tenant
delivery_timeout_seconds: 5 # Timeout for delivery operations
## Event Delivery Retry
retry_interval_seconds: 30 # Interval between event delivery retries
retry_max_limit: 10 # Maximum number of event delivery retries
## Consumer Settings
publish_max_concurrency: 1 # Max number of publish messages to process concurrently
delivery_max_concurrency: 1 # Max number of delivery messages to process concurrently
log_max_concurrency: 1 # Max number of log messages to process concurrently
## Log Batcher
log_batch_threshold_seconds: 10 # Time to wait before sending a batch of logs (env: LOG_BATCH_THRESHOLD_SECONDS)
log_batch_size: 1000 # Maximum number of logs to include in a batch (env: LOG_BATCH_SIZE)
## Portal
portal:
organization_name: "Acme" # Organization name
referer_url: "https://example.com" # Portal referer URL
favicon_url: "https://example.com/favicon.svg" # Portal favicon URL
brand_color: "#6122E7" # Portal brand color
# logo: "https://example.com" # Portal logo URL
#logo_dark: "https://example.com" # Portal logo URL for dark mode
# Destinations Configuration
destinations:
metadata_path: "config/outpost/destinations" # Path to destination metadata
webhook:
header_prefix: "x-custom-" # Prefix for webhook headers
# disable_default_event_id_header
# disable_default_signature_header
# disable_default_timestamp_header
# disable_default_topic_header
# signature_content_template: {{.Timestamp.Unix}}.{{.Body}}
# signature_header_template: t={{.Timestamp.Unix}},v0={{.Signatures | join ","}}
# signature_encoding: hex
# signature_algorithm: hmac-sha256
# Note: OpenTelemetry Configuration
# It is recommended to configure OpenTelemetry using environment variables as they are better supported by the SDK.
# Example environment variables:
# - OTEL_SERVICE_NAME: Service name (if provided, OpenTelemetry will be enabled)
# - OTEL_EXPORTER_OTLP_ENDPOINT: OpenTelemetry collector endpoint
# - OTEL_EXPORTER_OTLP_PROTOCOL: Protocol (grpc or http)