Configuration Reference

Anka Build Cloud configuration options.

Controller configuration parameters

General and Common

NameTypeDescriptiondefault valuecommand lineinienv
versionboolPrints controller version and exits-–versionversionANKA_VERSION
Registry addressstringAnka Registry external URL (http[s]://hostname:[port]). This is passed to the Nodes, so they can download (and start) VMs(required)–anka-registryanka_registryANKA_ANKA_REGISTRY
Configuration filestringPath to a configuration file in INI format. You can use the file with/without the command line parameters and env variables-–configconfigANKA_CONFIG
Listen addressstringListen on this address (:80 is equivalent to 0.0.0.0:80). Use the format [address]:port:80–listen_addrlisten_addrANKA_LISTEN_ADDR
Local Registry AddressstringAnka Registry local address in format http[s]://hostname:[port]. This parameter is for situations where the Controller and Registry are on the same network. For example http://locahost:8089-–local-anka-registrylocal_anka_registryANKA_LOCAL_ANKA_REGISTRY
Number of concurrent workersintThe number of concurrent workers processing node tasks2–num-workersnum_workersANKA_NUM_WORKERS
Standalone modeboolRun an embedded ETCD server alongside the controllerfalse–standalonestandaloneANKA_STANDALONE
ETCD endpointsstringComma separated list of etcd hosts127.0.0.1:2379–etcd-endpointsetcd_endpointsANKA_ETCD_ENDPOINTS
Allow empty registryboolAllow controller to start without a ‘Registry address’false–allow-empty-registryallow_empty_registryANKA_ALLOW_EMPTY_REGISTRY
Enable event loggingboolEnables event loggingfalse–enable-event-loggingenable_event_loggingANKA_ENABLE_EVENT_LOGGING
Event log urlstringThe URL to post events (in json format)-–event-log-urlevent_log_urlANKA_EVENT_LOG_URL
Enable central loggingboolEnables central loggingfalse–enable-central-loggingenable_central_loggingANKA_ENABLE_CENTRAL_LOGGING
Push registrystringComma separated list of Registry addresses to use for push operations-–push-registrypush_registryANKA_PUSH_REGISTRY
ETCD defrag intervaldurationDefrag ETCD (all servers) in this interval. Pass 0 to disable3h–defrag-db-intervaldefrag_db_intervalANKA_DEFRAG_DB_INTERVAL
Instance time outdurationThe time that instances stay in ‘Terminated’ state1m–instance-time-outinstance_time_outANKA_INSTANCE_TIME_OUT

Logging

NameTypeDescriptiondefault valuecommand lineinienv
Log levelintLog level verbosity. Higher number means more verbose0–vvANKA_V
Log to stderrboollog to standard error instead of filesfalse–logtostderrlogtostderrANKA_LOGTOSTDERR
Log directorystringWrite log files in this directory-–log_dirlog_dirANKA_LOG_DIR
Also log to stderrboolLog to standard error as well as filestrue–alsologtostderralsologtostderrANKA_ALSOLOGTOSTDERR

TLS

NameTypeDescriptionDefault valuecommand lineinienv
Enable httpsboolUse https protocol for the controller portal/APIs. Must pass this to enable TLSfalse–use-httpsuse_httpsANKA_USE_HTTPS
CA certificatestringPath to a CA cert to use for authenticating clients-–ca-certca_certANKA_CA_CERT
Root certificatestringSimilar to CA certificate-–root-certroot_certANKA_ROOT_CERT
Server certificatestringPath to TLS server certificate-–server-certserver_certANKA_SERVER_CERT
Server certificate keystringPath to the server certificate's private key-–server-keyserver_keyANKA_SERVER_KEY
Skip TLS verificationboolDon't verify TLS certificatesfalse–skip-tls-verificationskip_tls_verificationANKA_SKIP_TLS_VERIFICATION
Client certificatestringPath to client certificate. The Controller will use this certificate when making http requests (mainly to the Registry).-–client-certclient_certANKA_CLIENT_CERT
Client certificate keystringPath to the client certificate's private key-–client-cert-keyclient_cert_keyANKA_CLIENT_CERT_KEY
Client keystorestringPath to a client keystore file in pkcs12 format. The Controller will use the certificate from this key store when making http requests (mainly to the Registry).-–client-keystoreclient_keystoreANKA_CLIENT_KEYSTORE
Client keystore passwordstringPassword for the client keystore (optional).-–client-keypassclient_keypassANKA_CLIENT_KEYPASS

Built in Registry

NameTypeDescriptiondefault valuecommand lineinienv
Run registryboolRun the embedded Registry serverfalse–run-registryrun_registryANKA_RUN_REGISTRY
Registry listen addressstringAddress for Registry to listen on (:8089 is equivalent to 0.0.0.0:8089). Use the format [address]:port:8089–registry-listen-addressregistry_listen_addressANKA_REGISTRY_LISTEN_ADDRESS
Registry base pathstringPath for registry's data-–registry-base-pathregistry_base_pathANKA_REGISTRY_BASE_PATH
Registry access logsboolEnables registry access logsfalse–registry-access-logsregistry_access_logsANKA_REGISTRY_ACCESS_LOGS
Enable registry authorizationEnables authorization for the Registryfalse–enable-registry-authorizationenable_registry_authorizationANKA_ENABLE_REGISTRY_AUTHORIZATION

Built in ETCD

NameTypeDescriptiondefault valuecommand lineinienv
Server namestringHuman readable name for ETCD serveranka-etcd–namenameANKA_NAME
Data directorystringPath to use for saving ETCD data/tmp/etcd-data–data-dirdata_dirANKA_DATA_DIR
Initial clusterstringInitial cluster configuration for bootstrapping etcd serveranka-etcd=http://0.0.0.0:2380–initial-clusterinitial_clusterANKA_INITIAL_CLUSTER
Listen peer urlsstringComma separated URLs for ETCD server to server communication (when clustering ETCD)http://0.0.0.0:2380–listen-peer-urlslisten_peer_urlsANKA_LISTEN_PEER_URLS
Initial advertise peer urlsstringComma separated URLs for ETCD server to server communication to advertisehttp://0.0.0.0:2380–initial-advertise-peer-urlsinitial_advertise_peer_urlsANKA_INITIAL_ADVERTISE_PEER_URLS
Initial ETCD statestringInitial ETCD cluster state (‘new’ or ‘existing’)new–initial-cluster-stateinitial_cluster_stateANKA_INITIAL_CLUSTER_STATE
Initial ETCD tokenstringInitial token for the ETCD cluster during bootstrapetcd-server–initial-cluster-tokeninitial_cluster_tokenANKA_INITIAL_CLUSTER_TOKEN
Listen client urlsstringComma separated URLs for ETCD to serve clients (Controller)http://127.0.0.1:2379–listen-client-urlslisten_client_urlsANKA_LISTEN_CLIENT_URLS
Auto compaction modestringAuto compaction mode, either ‘periodic’ or ‘revision’.periodic–auto-compaction-modeauto_compaction_modeANKA_AUTO_COMPACTION_MODE
Advertise client urlsstringClient urls for etcd server to advertisehttp://127.0.0.1:2379–advertise-client-urlsadvertise_client_urlsANKA_ADVERTISE_CLIENT_URLS
Compaction retention intervalstringAuto compaction retention length. 0 means disable auto compaction.30m–auto-compaction-retentionauto_compaction_retentionANKA_AUTO_COMPACTION_RETENTION

Authentication and Authorization

NameTypeDescriptiondefault valuecommand lineinienv
Anable authenticationboolEnable authentication module. Must pass this for authentication to workfalse–enable-authenable_authANKA_ENABLE_AUTH
Root static tokenstringA token to authenticate as super user-–root-tokenroot_tokenANKA_ROOT_TOKEN
OpenId connect display namestringName of open id server to display in login page. The text will say “Login with X”-–oidc-display-nameoidc_display_nameANKA_OIDC_DISPLAY_NAME
OpenId connect provider urlstringOpen ID connect provider url-–oidc-provider-urloidc_provider_urlANKA_OIDC_PROVIDER_URL
OpenId connect client idstringOpen ID connect client id-–oidc-client-idoidc_client_idANKA_OIDC_CLIENT_ID
OpenId connect username claimstringOpen ID connect claim key to use for user namename–oidc-username-claimoidc_username_claimANKA_OIDC_USERNAME_CLAIM
OpenId connect groups claimstringOpen ID connect claim key to use for groups,groups–oidc-groups-claimoidc_groups_claimANKA_OIDC_GROUPS_CLAIM

Separate queue interface

note - This is an advanced feature, it allows you to have a second http interface that will be used only by the cluster's Nodes.

NameTypeDescriptiondefault valuecommand lineinienv
Queue addressstringSetting this address will activate a separate http server that will only serve queue requests (only for Node communication).-–queue-addrqueue_addrANKA_QUEUE_ADDR
Queue CA certificatestringPath to a CA certificate to use for authenticating clients-–queue-ca-certqueue_ca_certANKA_QUEUE_CA_CERT
Queue server certificatestringPath to TLS server certificate-–queue-server-certqueue_server_certANKA_QUEUE_SERVER_CERT
Queue server certificate keystringPath to the server certificate's private key-–queue-server-keyqueue_server_keyANKA_QUEUE_SERVER_KEY
Use queue TLSEnables queue tlsfalse–use-queue-tlsuse_queue_tlsANKA_USE_QUEUE_TLS
Enable queue authEnables queue authentication/authorizationfalse–enable-queue-authenable_queue_authANKA_ENABLE_QUEUE_AUTH

Internal

Parameters used internally. It's recommended to use the default values.

NameTypeDescriptiondefault valuecommand lineinienv
Clean process intervaldurationThe interval to clean the queues (delete any tasks older than 24 hours), 0 to disable1h–clean-queues-intervalclean_queues_intervalANKA_CLEAN_QUEUES_INTERVAL
allow corsboolIf true adds Acces-Control-Allow-Origin to all routesdefault–allow-corsallow_corsANKA_ALLOW_CORS
Scheduler intervaldurationInterval for checking scheduled tasks30m–scheduler-intervalscheduler_intervalANKA_SCHEDULER_INTERVAL
allowUnknownFlagsDon't terminate the app if ini file contains unknown flags.default–allowUnknownFlagsallowUnknownFlagsANKA_ALLOWUNKNOWNFLAGS
Dump flagsboolDumps values for all flags defined in the app into stdout in ini-compatible syntax and terminates the app.false–dumpflagsdumpflagsANKA_DUMPFLAGS

Last modified January 2, 2020 : Added Anka Build config reference. (328fded) by Name From Git-Plugin-Test