###################################################################################### # THIS IS SAMPLE OF THE CONFIGURATION # # IT'S NOT A DEFAULT CONFIGURATION, IT'S JUST A REFERENCE TO ALL OPTIONS AND PLUGINS # ###################################################################################### rpc: listen: tcp://127.0.0.1:6001 server: command: "php tests/psr-worker-bench.php" user: "" group: "" relay: "pipes" relay_timeout: 20s logs: mode: development level: error # Workflow and activity mesh service temporal: address: localhost:7233 activities: num_workers: 4 codec: proto debug_level: 2 http: # host and port separated by semicolon address: 127.0.0.1:44933 max_request_size: 1024 # middlewares for the http plugin, order matters middleware: [ "gzip", "headers" ] # uploads uploads: forbid: [ ".php", ".exe", ".bat" ] trusted_subnets: [ "10.0.0.0/8", "127.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "::1/128", "fc00::/7", "fe80::/10", ] # headers headers: cors: allowed_origin: "*" allowed_headers: "*" allowed_methods: "GET,POST,PUT,DELETE" allow_credentials: true exposed_headers: "Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma" max_age: 600 request: input: "custom-header" response: output: "output-header" # http static static: dir: "tests" forbid: [ "" ] request: "input": "custom-header" response: "output": "output-header" pool: # default - num of logical CPUs num_workers: 6 # default 0 - no limit max_jobs: 0 # default 1 minute allocate_timeout: 60s # default 1 minute destroy_timeout: 60s # supervisor used to control http workers supervisor: # watch_tick defines how often to check the state of the workers (seconds) watch_tick: 1s # ttl defines maximum time worker is allowed to live (seconds) ttl: 0 # idle_ttl defines maximum duration worker can spend in idle mode after first use. Disabled when 0 (seconds) idle_ttl: 10s # exec_ttl defines maximum lifetime per job (seconds) exec_ttl: 10s # max_worker_memory limits memory usage per worker (MB) max_worker_memory: 100 ssl: # host and port separated by semicolon (default :443) address: :8892 redirect: false cert: fixtures/server.crt key: fixtures/server.key root_ca: root.crt fcgi: address: tcp://0.0.0.0:7921 http2: h2c: false max_concurrent_streams: 128 # plugin which can be used in other Golang plugins # this is not an PHP plugin redis: # UniversalClient is an abstract client which - based on the provided options - # can connect to either clusters, or sentinel-backed failover instances # or simple single-instance servers. This can be useful for testing # cluster-specific applications locally. # if the number of addrs is 1 and master_name is empty, a single-node redis Client will be returned # if the number of addrs is two or more, a ClusterClient will be returned addrs: - "localhost:6379" # if a MasterName is passed a sentinel-backed FailoverClient will be returned master_name: "" username: "" password: "" db: 0 sentinel_password: "" route_by_latency: false route_randomly: false dial_timeout: 0 # accepted values [1s, 5m, 3h] max_retries: 1 min_retry_backoff: 0 # accepted values [1s, 5m, 3h] max_retry_backoff: 0 # accepted values [1s, 5m, 3h] pool_size: 0 min_idle_conns: 0 max_conn_age: 0 # accepted values [1s, 5m, 3h] read_timeout: 0 # accepted values [1s, 5m, 3h] write_timeout: 0 # accepted values [1s, 5m, 3h] pool_timeout: 0 # accepted values [1s, 5m, 3h] idle_timeout: 0 # accepted values [1s, 5m, 3h] idle_check_freq: 0 # accepted values [1s, 5m, 3h] read_only: false # boltdb simple driver boltdb: dir: "." file: "rr" bucket: "test" permissions: 0777 # keys ttl check interval TTL: 60 # seconds # memcached driver memcached: addr: - "localhost:11211" # in memory KV driver memory: # keys ttl check interval interval: 60 metrics: # prometheus client address (path /metrics added automatically) address: localhost:2112 collect: app_metric: type: histogram help: "Custom application metric" labels: [ "type" ] buckets: [ 0.1, 0.2, 0.3, 1.0 ] # objectives defines the quantile rank estimates with their respective # absolute error [ for summary only ] objectives: - 1.4: 2.3 - 2.0: 1.4 reload: # sync interval interval: 1s # global patterns to sync patterns: [ ".go" ] # list of included for sync services services: http: # recursive search for file patterns to add recursive: true # ignored folders ignore: [ "vendor" ] # service specific file pattens to sync patterns: [ ".php", ".go", ".md" ] # directories to sync. If recursive is set to true, # recursive sync will be applied only to the directories in `dirs` section dirs: [ "." ]