Skip to content

Configuration Reference ​

Both server and agent are configured via HCL files passed with --config. Sensitive values can be supplied as environment variables using $VAR_NAME syntax anywhere in the config.


Server ​

hcl
server {
  listen_grpc  = ":7070"
  listen_http  = ":7071"
  agent_tokens = ["$FLUKE_TOKEN"]

  git { ... }
  tls { ... }
  drift { ... }
  event_store { ... }
  log { ... }
}

server ​

FieldDefaultDescription
listen_grpc":7070"Address for the gRPC server
listen_http":7071"Address for the web UI and HTTP API
agent_tokens—Required. List of accepted agent tokens

server.git ​

FieldDefaultDescription
url—Required. Repository URL
branch"main"Branch to track
poll_interval"60s"How often to poll for changes
manifest_glob"**/*.fluke.hcl"Glob to find manifest files
ssh_key_file—SSH private key for private repos
basic_auth_user—Username for HTTPS basic auth
basic_auth_password—Password for HTTPS basic auth

server.tls ​

FieldDefaultDescription
enabledtrueSet false for local development only
cert_file—Path to TLS certificate
key_file—Path to TLS private key

server.drift ​

FieldDefaultDescription
policy"remediate"Default drift policy: remediate, remediate_and_alert, or alert_only
alert_webhook—Webhook URL; required for alert policies

server.event_store ​

FieldDefaultDescription
backend"memory"memory or redis

memory sub-block:

FieldDefaultDescription
max_events_per_agent100Ring buffer size per agent

redis sub-block:

FieldDefaultDescription
url—Required. Redis connection URL
prefix"fluke"Key namespace prefix
ttl"168h"Event expiry duration

server.log ​

FieldDefaultDescription
level"info"debug, info, warn, or error
format"text"text or json

Agent ​

hcl
agent {
  server_url = "grpcs://fluke.internal:7070"
  token      = "$FLUKE_TOKEN"
  name       = "web-01"

  labels = {
    role = "web"
    env  = "production"
  }

  tls { ... }
  execution { ... }
  log { ... }
}

agent ​

FieldDefaultDescription
server_url—Required. grpcs:// for TLS, grpc:// for plaintext
token—Required. Pre-shared token matching a server agent_tokens entry
namesystem hostnameDisplay name in UI and CLI
labels{}Key/value labels used to match this host against task selectors

agent.tls ​

FieldDefaultDescription
ca_file—CA certificate for verifying the server; required for self-signed certs
insecure_skip_verifyfalseDisable cert verification. Development only.

agent.execution ​

FieldDefaultDescription
default_shell"/bin/bash"Shell used for shell executor commands and checks
command_timeout"5m"Maximum duration for a single command before it is killed

agent.log ​

Same fields as server.log.