diff options
Diffstat (limited to '.rr.yaml.sample-full')
-rw-r--r-- | .rr.yaml.sample-full | 355 |
1 files changed, 192 insertions, 163 deletions
diff --git a/.rr.yaml.sample-full b/.rr.yaml.sample-full index edfed480dd9f..b716800e9218 100644 --- a/.rr.yaml.sample-full +++ b/.rr.yaml.sample-full @@ -1,180 +1,209 @@ -# defines environment variables for all underlying php processes -env: - key: value - -# rpc bus allows php application and external clients to talk to rr services. rpc: - # enable rpc server - enable: true - - # rpc connection DSN. Supported TCP and Unix sockets. - listen: tcp://127.0.0.1:6001 - -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] + listen: tcp://127.0.0.1:6001 + +server: + command: "php tests/psr-worker-bench.php" + # optional + user: "" + # optional + group: "" + env: + - SOME_KEY: "SOME_VALUE" + - SOME_KEY2: "SOME_VALUE2" + relay: "pipes" + relay_timeout: 20s + + +# optional for development +logs: + # default + mode: development + level: debug + encoding: console + output: stderr + err_output: stderr + channels: + http: + mode: development + level: panic + encoding: console + output: stdout + server: + mode: production + level: info + encoding: console + output: stderr + rpc: + mode: production + level: debug + encoding: console + output: stderr + +# Workflow and activity mesh service +temporal: + address: localhost:7233 + activities: + num_workers: 4 + codec: proto + debug_level: 2 -# http service configuration. http: - # http host to listen. - address: 0.0.0.0:8080 - - # HTTP service provides FastCGI as frontend - fcgi: - # FastCGI connection DSN. Supported TCP and Unix sockets. - address: tcp://0.0.0.0:6920 - - # HTTP service provides HTTP2 transport - http2: - # enable HTTP/2, only with TLS - enabled: true - - # to enable H2C on TCP connections, false by default - h2c: true - - # max transfer channels - maxConcurrentStreams: 128 - - # max POST request size, including file uploads in MB. - maxRequestSize: 200 - - # file upload configuration. + # 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: - # list of file extensions which are forbidden for uploading. - forbid: [".php", ".exe", ".bat"] - - # cidr blocks which can set ip using X-Real-Ip or X-Forwarded-For - trustedSubnets: ["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"] - - # http worker pool configuration. - workers: - # php worker command. - command: "php psr-worker.php pipes" - - # User under which process will be started. To use this feature RR needs to be run under the root - # https://www.man7.org/linux/man-pages/man7/user_namespaces.7.html - user: "" - - # connection method (pipes, tcp://:9000, unix://socket.unix). default "pipes" - relay: "pipes" - - # worker pool configuration. - pool: - # number of workers to be serving. - numWorkers: 4 - - # maximum jobs per worker, 0 - unlimited. - maxJobs: 0 - - # for how long worker is allowed to be bootstrapped. - allocateTimeout: 60 - - # amount of time given to the worker to gracefully destruct itself. - destroyTimeout: 60 - -# Additional HTTP headers and CORS control. -headers: - # Middleware to handle CORS requests, https://www.w3.org/TR/cors/ + 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: - # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin - allowedOrigin: "*" - - # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers - allowedHeaders: "*" - - # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods - allowedMethods: "GET,POST,PUT,DELETE" - - # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials - allowCredentials: true - - # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers - exposedHeaders: "Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma" - - # Max allowed age in seconds - maxAge: 600 - - # Automatically add headers to every request passed to PHP. + 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: - "Example-Request-Header": "Value" - - # Automatically add headers to every response. + input: "custom-header" response: - "X-Powered-By": "RoadRunner" - -# monitors rr server(s) -limit: - # check worker state each second - interval: 1 - - # custom watch configuration for each service - services: - # monitor HTTP workers - http: - # maximum allowed memory consumption per worker (soft) - maxMemory: 100 - - # maximum time to live for the worker (soft) - TTL: 0 - - # maximum allowed amount of time worker can spend in idle before being removed (for weak db connections, soft) - idleTTL: 0 - - # max_execution_time (brutal) - execTTL: 60 - -# static file serving. remove this section to disable static file serving. -static: - # root directory for static file (HTTP would not serve .php and .htaccess files). - dir: "public" - - # list of extensions for forbid for serving. - forbid: [".php", ".htaccess"] - - # Automatically add headers to every request. + output: "output-header" + # http static + static: + dir: "tests" + forbid: [ "" ] request: - "Example-Request-Header": "Value" - - # Automatically add headers to every response. + "input": "custom-header" response: - "X-Powered-By": "RoadRunner" + "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) (soft) + 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 -# health service configuration -health: - # http host to serve health requests. - address: localhost:2113 +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: - # enable or disable file watcher - enabled: true # sync interval interval: 1s # global patterns to sync - patterns: [".php"] + 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: ["."] - jobs: - recursive: false - ignore: ["service/metrics"] - dirs: ["./jobs"] - rpc: - recursive: true - patterns: [".json"] - # to include all project directories from workdir, leave `dirs` empty or add a dot "." - dirs: [""]
\ No newline at end of file + 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: [ "." ]
\ No newline at end of file |