stork-server - Main Stork Server
stork-server [-h] [-v] [-m] [-u] [–dbhost] [-p] [-d] [–db-sslmode] [–db-sslcert] [–db-sslkey] [–db-sslrootcert] [–db-trace-queries=] [–rest-cleanup-timeout] [–rest-graceful-timeout] [–rest-max-header-size] [–rest-host] [–rest-port] [–rest-listen-limit] [–rest-keep-alive] [–rest-read-timeout] [–rest-write-timeout] [–rest-tls-certificate] [–rest-tls-key] [–rest-tls-ca] [–rest-static-files-dir]
stork-server provides the main Stork server capabilities. In
every Stork deployment, there should be exactly one Stork server.
stork-server takes the following arguments (equivalent environment variables are listed in square brackets, where applicable):
Returns the list of available parameters.
The path to the hook directory.
Environment file location; applicable only if the use-env-file is provided. The default is
Read the environment variables from the environment file. The default is
Enables the periodic metrics collector and /metrics HTTP endpoint for Prometheus. This endpoint requires no authentication; it is recommended to restrict external access to it (e.g. using the HTTP proxy). It is disabled by default.
Default interval used by pullers fetching data from Kea. If not provided the recommended values for each puller are used.
Specifies the user name to be used for database connections. The default is
Specifies the database password for database connections. If not specified, the user will be prompted for the password if necessary.
Specifies the URL to locate and connect to database. It’s mutually exclusively with the host, port, username, and password.
Specifies the name of the host, IP address or a socket path for the database connection. The default value depends on the system.
Specifies the port on which the database is available. The default is 5432.
Specifies the name of the database to connect to. The default is
Specifies the SSL mode for connecting to the database; possible values are
verify-full. The default is
[$STORK_DATABASE_SSLMODE]Acceptable values are:
disableDisables encryption between the Stork server and the PostgreSQL database.
requireUses secure communication but does not verify the server’s identity, unless the root certificate location is specified and that certificate exists. If the root certificate exists, the behavior is the same as in the case of
verify-caUses secure communication and verifies the server’s identity by checking it against the root certificate stored on the Stork server machine.
verify-fullUses secure communication and verifies the server’s identity against the root certificate. In addition, checks that the server hostname matches the name stored in the certificate.
Specifies the location of the SSL certificate used by the server to connect to the database.
Specifies the location of the SSL key used by the server to connect to the database.
Specifies the location of the root certificate file used to verify the database server’s certificate.
Enables tracing of SQL queries. Possible values are
run- only runtime, without migrations,
all- both migrations and runtime, or
none- disable the query logging.
Specifies the period to wait, in seconds, before killing idle connections. The default is 10.
Specifies the period to wait, in seconds, before shutting down the server. The default is 15.
Specifies the maximum number of bytes the server reads when parsing the request header’s keys and values, including the request line. It does not limit the size of the request body. The default is 1024 (1MB).
Specifies the IP address to listen on for connections over the RESTful API.
Specifies the port to listen on for connections over the RESTful API. The default is 8080.
Specifies the maximum number of outstanding requests.
Specifies the TCP keep-alive timeout, in minutes, on accepted connections. After this period, the server prunes dead TCP connections (e.g. when a laptop is closed mid-download). The default is 3.
Specifies the maximum duration, in seconds, before timing out a read of the request. The default is 30.
Specifies the maximum duration, in seconds, before timing out a write of the response. The default is 60.
Specifies the certificate to use for secure connections.
Specifies the private key to use for secure connections.
Specifies the Certificate Authority file to be used with a mutual TLS authority.
Specifies the directory with static files for the UI.
Note that there is no argument for the database password, as the command-line arguments can sometimes be seen
by other users. It can be passed using the
Stork logs on INFO level by default. Other levels can be configured using the
STORK_LOG_LEVEL variable. Allowed values are: DEBUG, INFO, WARN, ERROR.
To control the logging colorization, Stork supports the
CLICOLOR_FORCE standard UNIX environment variables. Use
enforce enabling or disabling the ANSI colors usage. Set
false to disable colorization even if the TTY is attached.
The highest priority always have the command line flags. The parameters from the
environment file take precedence over the environment variables if the
--use-env-file flag is used.
Mailing Lists and Support
There are public mailing lists available for the Stork project. stork-users (stork-users at lists.isc.org) is intended for Stork users. stork-dev (stork-dev at lists.isc.org) is intended for Stork developers, prospective contributors, and other advanced users. The lists are available at https://www.isc.org/mailinglists/. The community provides best-effort support on both of those lists.
stork-server was first coded in November 2019 by Michal
Nowikowski and Marcin Siodelski.