121 lines
5.5 KiB
YAML
121 lines
5.5 KiB
YAML
# Configuration of the Poseidon webserver
|
|
server:
|
|
# Address or hostname on which the webserver listens
|
|
# If a hostname is specified, the server might listen on only one of the resolved IPv4 or IPv6 addresses
|
|
address: 127.0.0.1
|
|
# Port on which the webserver listens
|
|
port: 7200
|
|
# When using Systemd socket activation, Poseidon tries to connect to an existing systemd socket instead of creating its own.
|
|
# This is useful for zero downtime deployments as the systemd sockets hold up the connections while Poseidon is restarting.
|
|
# Iff systemdsocketactivation, the configured address and port will not be used, instead the provided systemd socket will be.
|
|
systemdsocketactivation: false
|
|
# If set, this token is required in the `Poseidon-Token` header for each route except /health
|
|
# token: SECRET
|
|
# Configuration of TLS between the web client and Poseidon.
|
|
tls:
|
|
# If set, the API uses TLS for all incoming connections.
|
|
active: false
|
|
# The path to the certificate of the CA authority used for TLS
|
|
# cafile: ./ca.crt
|
|
# The path to the certificate file used for TLS
|
|
# certfile: ./poseidon.crt
|
|
# The path to the key file used for TLS
|
|
# keyfile: ./poseidon.key
|
|
# If true, an additional WebSocket connection will be opened to split stdout and stderr when executing interactively
|
|
interactivestderr: true
|
|
# If set, the file at the given path overwrites the default Nomad job file in internal/environment/template-environment-job.hcl
|
|
# templatejobfile: ./poseidon.hcl
|
|
# The LoggingFilterToken filters out Systemd Watchdog requests from the logs and is preconfigured with a random value.
|
|
# It can also be manually configured to hide additional requests from the logs, such as those from monitoring systems.
|
|
# To use this feature, the respective user agent must be set according to `dto.UserAgentFiltered`.
|
|
# However, it is important to consider the security implications of using this expert-level setting for manual values.
|
|
# loggingfiltertoken: secret
|
|
# alert defines how poseidon should handle specific risks.
|
|
alert:
|
|
# The prewarming pool threshold [0, 1) defines which part of the prewarming pool should always be filled.
|
|
# Setting it to 0 will disable the alert.
|
|
# If the prewarming pool is filled for less than, i.e., 50%, the health route of Poseidon will return a warning.
|
|
prewarmingpoolthreshold: 0.5
|
|
# The prewarming pool reload timeout (in seconds) defines for how long the low prewarming pool warning (above)
|
|
# should be active before Poseidon automatically reloads the environment.
|
|
# Setting it to 0 will disable the automatic reload.
|
|
prewarmingpoolreloadtimeout: 300
|
|
|
|
aws:
|
|
# Specifies whether AWS should be used as executor.
|
|
enabled: false
|
|
# The endpoint of the WebSocket API
|
|
# endpoint: wss://abcdef1234.execute-api.eu-central-1.amazonaws.com/production
|
|
# Currently, only static AWS environments are supported.
|
|
# For setting this via environment variables you have to use a string separated by spaces, like: POSEIDON_AWS_FUNCTIONS="java11Exec go118Exec".
|
|
# functions:
|
|
# - java11Exec
|
|
# - go118Exec
|
|
|
|
kubernetes:
|
|
# Specifies whether Kubernetes should be used as executor.
|
|
enabled: false
|
|
# The namespace in which the Kubernetes pods are created.
|
|
namespace: default
|
|
config:
|
|
host: ""
|
|
apiPath: ""
|
|
username: ""
|
|
password: ""
|
|
token: ""
|
|
|
|
|
|
|
|
|
|
# Configuration of the logger
|
|
logger:
|
|
# Log level that is used after reading the config (INFO until then)
|
|
level: DEBUG
|
|
|
|
# Configuration of the embedded profiler
|
|
profiling:
|
|
# Enables the runtime profiler
|
|
cpuenabled: false
|
|
# The file to which the profile is written to.
|
|
# The default location `cmd/poseidon/default.pgo` will be picked up during the build process to create a profile-guided build.
|
|
cpufile: cmd/poseidon/default.pgo
|
|
# If set, a memory watchdog will be started that monitors the memory usage of Poseidon and alerts if the threshold is exceeded.
|
|
# The value defines the interval in milliseconds in which the memory usage is checked.
|
|
memoryinterval: 30_000
|
|
# The Threshold in MB of memory usage at which Poseidon will start alerting.
|
|
memorythreshold: 1_000
|
|
|
|
# Configuration of the sentry logging
|
|
sentry:
|
|
# The DSN of the sentry endpoint to use.
|
|
# If the DSN is not set, the client is effectively disabled.
|
|
# dsn: https://example.io
|
|
# The environment to be sent with events.
|
|
# environment: staging
|
|
# This release information is used by Poseidon to provide the version route and tag events in Sentry.
|
|
# If no specific value is set, the git commit hash used to build the binary is used.
|
|
# release: development
|
|
# In debug mode, the debug information is printed to stdout to help you understand what sentry is doing.
|
|
# debug: true
|
|
# Enable performance tracing.
|
|
# enabletracing: true
|
|
# The sample rate for sampling traces in the range [0.0, 1.0].
|
|
# tracessamplerate: 1.0
|
|
# The sample rate for sampling performance profiles in the range [0.0, 1.0].
|
|
# This is only used if enabletracing is set to true and is relative to tracessamplerate.
|
|
# profilessamplerate: 1.0
|
|
|
|
# Configuration of the influxdb monitoring
|
|
influxdb:
|
|
# The url of the influxdb endpoint.
|
|
# If the url is not set, the influxdb monitoring is disabled.
|
|
# url: http://localhost:8086
|
|
# The token to secure the influxdb endpoint.
|
|
# token: SecretBase64Token==
|
|
# The organization set in your influxdb configuration.
|
|
# organization: PoseidonOrg
|
|
# The influxdb bucket to store the data in.
|
|
# bucket: poseidon
|
|
# The stage to be sent with events.
|
|
# stage: staging
|