<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Armory Docs – Armory Scale Agent Configuration Reference</title><link>/plugins/scale-agent/reference/config/</link><description>Recent content in Armory Scale Agent Configuration Reference on Armory Docs</description><generator>Hugo -- gohugo.io</generator><atom:link href="/plugins/scale-agent/reference/config/index.xml" rel="self" type="application/rss+xml"/><item><title>Plugins: Armory Scale Agent Plugin Configuration Options</title><link>/plugins/scale-agent/reference/config/plugin-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/scale-agent/reference/config/plugin-options/</guid><description>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Setting&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Default&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.accountCleanupFrequencySeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>600 (10m)&lt;/td>
&lt;td>How long to keep accounts that are no longer connected to any Agent&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.cacheDefaults&lt;/code>&lt;/td>
&lt;td>array&lt;/td>
&lt;td>&lt;code>ReplicaSet&lt;/code>&lt;br>&lt;code>Service&lt;/code>&lt;br>&lt;code>Ingress&lt;/code>&lt;br>&lt;code>DaemonSet&lt;/code>&lt;br>&lt;code>Deployment&lt;/code>&lt;br>&lt;code>Pod&lt;/code>&lt;br>&lt;code>StatefulSet&lt;/code>&lt;br>&lt;code>Job&lt;/code>&lt;br>&lt;code>CronJob&lt;/code>&lt;br>&lt;code>NetworkPolicy&lt;/code>&lt;br>&lt;code>Namespace&lt;/code>&lt;br>&lt;code>CustomResourceDefinition&lt;/code>&lt;/td>
&lt;td>Default list of kubernetes kinds to cache, non overridable.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.cacheKinds&lt;/code>&lt;/td>
&lt;td>array&lt;/td>
&lt;td>&lt;code>kubesvc.cache.cacheDefaults&lt;/code>&lt;/td>
&lt;td>List of kubernetes kinds to cache, overridable.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.cacheStreamingPoolCoreSize&lt;/code>&lt;br>&lt;code>kubesvc.cache.cacheStreamingPoolMaxSize&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>10/100&lt;/td>
&lt;td>Thread pool sizing to write to cache. Each thread handles events for a single account at a time. It doesn't need to be greater than the number of agents. More threads means faster response. If Kubernetes accounts are very busy, you can set max size to &lt;code>number of Kubernetes accounts / number of Clouddriver instances&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.cleanDataWithUnusedAccounts&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>When cleaning an old account, also clean its associated data.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.eventsCleanupFrequencySeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>7200 (2h)&lt;/td>
&lt;td>How long to keep Kubernetes events cached for.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.namespaceExpiryMinutes&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>0&lt;/td>
&lt;td>Disabled by default, set it to a value greater than 0 to enable. Specifies minutes to keep namespace definitions in memory to reduce calls to the database.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.onDemandQuickWaitMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>10000&lt;/td>
&lt;td>How long to wait for a recache operation.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cache.operationWaitMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>30000&lt;/td>
&lt;td>How long to wait for a Kubernetes operation like deploy, scale, delete, or others&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cluster&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Type of clustering.&lt;br>&lt;code>local&lt;/code>: for development only; don’t try to coordinate with other Clouddriver instances&lt;br>&lt;code>redis&lt;/code>: use Redis to coordinate via pubsub. Redis will be deprecated in a future release.&lt;br>&lt;span class='badge badge-primary'>0.10.24+&lt;/span>&lt;span class='badge badge-primary'>0.9.40&lt;/span>&lt;span class='badge badge-primary'>0.8.48&lt;/span> &lt;code>kubernetes&lt;/code>:(Recommended) Requires additional &lt;code>cluster-kubernetes&lt;/connected> configuration.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.cluster-kubernetes.kubeconfigFile&lt;/code>&lt;br>&lt;code>kubesvc.cluster-kubernetes.verifySsl&lt;/code>&lt;br>&lt;code>kubesvc.cluster-kubernetes.namespace&lt;/code>&lt;br>&lt;code>kubesvc.cluster-kubernetes.httpPortName&lt;/code>&lt;br>&lt;code>kubesvc.cluster-kubernetes.clouddriverServiceNamePrefix&lt;/code>&lt;/td>
&lt;td>string&lt;br>boolean&lt;br>string&lt;br>string&lt;br>string&lt;br>&lt;/td>
&lt;td>null&lt;br>true&lt;br>null&lt;br>http&lt;br>spin-clouddriver&lt;/td>
&lt;td>(Optional) If configured, the plugin uses this file to discover Endpoints. If not configured, it will use the service account mounted to the pod.&lt;br>(Optional) Whether to verify the Kubernetes API cert or not.&lt;br>(Optional) If configured, the plugin watches Endpoints in this namespace. If null, it watches endpoints in the namespace indicated in the file &lt;code>/var/run/secrets/kubernetes.io/serviceaccount/namespace&lt;/code>&lt;br>(Optional) Name of the port configured in clouddriver Service that forwards traffic to clouddriver http port for REST requests.&lt;br>(Optional) Name prefix of the Kubernetes Service pointing to the Clouddriver standard HTTP port.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.credentials.poller.reloadFrequencyMs&lt;/code>&lt;/td>
&lt;td>long&lt;/td>
&lt;td>30000&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>2.23.0+&lt;/span> &lt;span class='badge badge-primary'>1.23.0+&lt;/span> How often the plugin will refresh account credentials to clouddriver in case &lt;code>credentials.poller.enabled&lt;/code> is disabled. Otherwise the standard properties of &lt;code>credentials.poller.enabled&lt;/code> and &lt;code>credentials.poller.types.kubernetes.reloadFrequencyMs&lt;/code> are respected&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.disableV2Provider&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>If you don’t need the V2 provider account, set that to true to speed up caching deserialization.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.dynamicAccounts.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.11.27+&lt;/span>&lt;span class='badge badge-primary'>0.10.65+&lt;/span>&lt;span class='badge badge-primary'>0.9.81+&lt;/span> Enable access to the Dynamic Accounts API&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.auth.x509.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Enable x509 subject filtering&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.auth.x509.filters&lt;/code>&lt;/td>
&lt;td>list(string)&lt;/td>
&lt;td>&lt;code>[]&lt;/code>&lt;/td>
&lt;td>x509 subject line filter; see &lt;a href='https://docs.armory.io/docs/armory-agent/configure-mtls/#x509-certificate-subject-filtering' target='new'>x509 Certificate Subject Filtering&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.address&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>&lt;code>*&lt;/code>&lt;/td>
&lt;td>Address to bind the gRPC server to&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.port&lt;/code>&lt;/td>
&lt;td>int&lt;/td>
&lt;td>&lt;code>9091&lt;/code>&lt;/td>
&lt;td>Port to bind the gRPC server to&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.healthServiceEnabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>&lt;code>true&lt;/code>&lt;/td>
&lt;td>Enable gRPC healthcheck service&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.maxInboundMessageSize&lt;/code>&lt;/td>
&lt;td>data size&lt;/td>
&lt;td>&lt;code>4MB&lt;/code>&lt;/td>
&lt;td>Maximum size of a gRPC message. It should be at least as big as the biggest Kubernetes object manifest you can expect.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>&lt;code>false&lt;/code>&lt;/td>
&lt;td>Enable transport level security&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.certificateChain&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Reference to the server's certificate chain.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.privateKey&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Reference to the private key of the server.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.privateKeyPassword&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Reference to private key password if password protected. You can use &lt;a href='https://docs.armory.io/docs/armory-admin/secrets/' target='new'>secret management&lt;/a> to store the password.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.clientAuth&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>&lt;code>NONE&lt;/code>&lt;/td>
&lt;td>&lt;code>NONE&lt;/code>: no client certificate verification, &lt;code>OPTIONAL&lt;/code>: verify client certificates if presented, &lt;code>REQUIRE&lt;/code>: require client to present certificates and verify it&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.ciphers&lt;/code>&lt;/td>
&lt;td>list(string)&lt;/td>
&lt;td>&lt;code>[]&lt;/code>&lt;/td>
&lt;td>By default, use the systems default ciphers.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.trustCertCollection&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>By default, use the systems default truststore (cacerts). Otherwise, reference to a truststore to validate clients.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.protocols&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>By default, use the systems default protocols. Otherwise, list of protocols accepted (&lt;code>TLSv1.1&lt;code>, &lt;code>TLSv1.2&lt;/code>, etc.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.keepAliveHeartbeatSeconds&lt;/code>&lt;/td>
&lt;td>int&lt;/td>
&lt;td>none&lt;/td>
&lt;td>how often should send keepalive grpc pings to client&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.grpc.server.security.KeepAliveTimeOutSeconds&lt;/code>&lt;/td>
&lt;td>int&lt;/td>
&lt;td>none&lt;/td>
&lt;td>How long to wait for a response after a keepalive before closing the connection&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.heartbeat.initialDelay&lt;/code>&lt;br>&lt;code>kubesvc.heartbeat.period&lt;/code>&lt;br>&lt;code>kubesvc.heartbeat.periodUnit&lt;/code>&lt;/td>
&lt;td>long&lt;br>long&lt;br>timeUnit&lt;/td>
&lt;td>0&lt;br>60&lt;br>SECONDS&lt;/td>
&lt;td>How often each Clouddriver node reports its assingments as recent. Set the heartbeat period to a value less than &lt;code>kubesvc.cache.accountCleanupFrequencySeconds&lt;/code> to prevent losing account cache.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.heartbeat.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.13.7+&lt;/span>&lt;span class='badge badge-primary'>0.12.8+&lt;/span>&lt;span class='badge badge-primary'>0.11.45+&lt;/span>Optional. Setting this to false makes Clouddriver rely on gRPC connections instead of pings to consider a connection alive. Useful for remote agent configuration with slow network and no load balancers in between agent and Clouddriver.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.jobs.operation-history.purge.weeks&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>1&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.10.3+&lt;/span>&lt;span class='badge badge-primary'>0.9.32&lt;/span>&lt;span class='badge badge-primary'>0.8.40&lt;/span>(Optional) The number of weeks to retain information on the databse table &lt;code>kubesvc_ops_history&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.jobs.operation-history.purge.cron&lt;/code>&lt;/td>
&lt;td>Spring cron expression&lt;/td>
&lt;td>0 0 0 * * 0&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.10.3+&lt;/span>&lt;span class='badge badge-primary'>0.9.32&lt;/span>&lt;span class='badge badge-primary'>0.8.40&lt;/span>(Optional) How often to run the cleanup logic.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.loadBalancer&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Pick a different account load balancing algorithm. Only implementation so far is the “MN algorithm” that does hides Agent connections from other clouddriver instances and assigns account to the least busy connected Clouddriver while never unassigning an account from a still connected instance unless it dies or stops being connected to that account.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.runtime.defaults.onlySpinnakerManaged&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Same meaning as V2 provider. Should Spinnaker cache manifests that are not deployed by Spinnaker?&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.runtime.defaults.customResources[].kubernetesKind&lt;/code>&lt;br>&lt;code>kubesvc.runtime.defaults.customResources[].spinnakerKind&lt;/code>&lt;br>&lt;code>kubesvc.runtime.defaults.customResources[].deployPriority&lt;/code>&lt;br>&lt;code>kubesvc.runtime.defaults.customResources[].versioned&lt;/code>&lt;br>&lt;code>kubesvc.runtime.defaults.customResources[].namespaced&lt;/code>&lt;/td>
&lt;td>string&lt;br>string&lt;br>number as string (“100”)&lt;br>boolean&lt;br>boolean&lt;/td>
&lt;td>none&lt;br>none&lt;br>“100”&lt;br>false&lt;br>false&lt;/td>
&lt;td>Same meaning as V2 provider. Customize behavior of Spinnaker for an unknown (to Spinnaker) resource.&lt;br>&lt;br>- &lt;code>kubernetesKind&lt;/code> in the format &lt;code>&lt;kind>.&lt;api group>&lt;/code>&lt;br>- &lt;code>spinnakerKind&lt;/code> is one of the Spinnaker kinds&lt;br>- &lt;code>deployPriority&lt;/code> will determine in which order Spinnaker will deploy a resource if multiple manifests are to be deployed in an operation.&lt;br>- &lt;code>versioned&lt;/code> should Spinnaker version new resource or just update them?&lt;br>- &lt;code>namespaced&lt;/code> is barely used with kubesvc.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.runtime.accounts[string].onlySpinnakerManaged&lt;/code>&lt;br>&lt;code>kubesvc.runtime.accounts[string].customResources[]…&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>Same as above but per account. This takes priority over default runtime settings. Default values are used if not populated for the account.&lt;br>&lt;br>Format is a map (account name → props), e.g.&lt;br>kubesvc.runtime.accounts:&lt;br> prod:&lt;br> onlySpinnakerManaged: true&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.v2-cache-eviction.disable&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td> &lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.10.3+&lt;/span> Set this to &lt;code>true&lt;/code> if you want to turn off the eviction of the V2 cache.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.v2-cache-eviction.batch-size&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>5&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.10.3+&lt;/span> How many Kubernetes kinds to evict for each eviction event.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.v2-cache-eviction.millis&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>200&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.10.3+&lt;/span> The time between evictions in milliseconds. Using a low value can lead to a spike in resource usage when migration occurs.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubesvc.ops.processTime.metric.result.maxLength&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>255&lt;/td>
&lt;td>How many characters as a maximum could have the &lt;code>kubesvc.ops.processTime.result&lt;/code> attribute metric&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Plugins: Armory Scale Agent Service Configuration Options</title><link>/plugins/scale-agent/reference/config/service-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/plugins/scale-agent/reference/config/service-options/</guid><description>
&lt;h2 id="configuration-options">Configuration options&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Settings&lt;/th>
&lt;th>Type&lt;/th>
&lt;th>Default&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>clouddriver.auth.token&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.3.0+&lt;/span> Optional bearer token added to each request back to the endpoint.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.auth.tokenCommand.command&lt;/code>&lt;br>&lt;code>clouddriver.auth.tokenCommand.args&lt;/code>&lt;br>&lt;code>clouddriver.auth.tokenCommand.format&lt;/code>&lt;br>&lt;code>clouddriver.auth.tokenCommand.refreshIntervalSeconds&lt;/code>&lt;/td>
&lt;td>string&lt;br>[]string&lt;br>string&lt;br>integer&lt;/td>
&lt;td>none&lt;br>none&lt;br>[]&lt;br>0&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.3.0+&lt;/span> Allows to invoke a command every &lt;code>refreshIntervalSeconds&lt;/code> seconds that outputs either the token (&lt;code>format&lt;/code> is &lt;code>raw&lt;/code>) or a JSON object with an attribute of &lt;code>token&lt;/code> if &lt;code>format&lt;/code> is &lt;code>json&lt;/code> or left empty. &lt;code>args&lt;/code> is the optional list of parameters to the command.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.grpc&lt;/code>&lt;/td>
&lt;td>string (hostname)&lt;/td>
&lt;td>&lt;code>spin-clouddriver-grpc:9091&lt;/code>&lt;/td>
&lt;td>Hostname of the Clouddriver or gRPC proxy endpoint.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.backoff.baseDelay&lt;/code>&lt;br>&lt;code>clouddriver.backoff.multiplier&lt;/code>&lt;br>&lt;code>clouddriver.backoff.jitter&lt;/code>&lt;br>&lt;code>clouddriver.backoff.maxDelay&lt;/code>&lt;/td>
&lt;td>long&lt;br>float&lt;br>float&lt;br>long&lt;/td>
&lt;td>1000000000 (1 second)&lt;br>1.6&lt;br>0.2&lt;br>120000000000 (120 seconds)&lt;br>check &lt;a href='https://pkg.go.dev/google.golang.org/grpc/backoff'>backoff - Go package&lt;/a> for changes in the future&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.54+&lt;/span>The amount of nanoseconds to backoff after the first connection failure.&lt;br>&lt;span class='badge badge-primary'>1.0.54+&lt;/span>The factor with which to multiply connection backoffs after a failed retry. Should ideally be greater than 1.&lt;br>&lt;span class='badge badge-primary'>1.0.54+&lt;/span>The factor with which connection backoffs are randomized.&lt;br>&lt;span class='badge badge-primary'>1.0.54+&lt;/span>The nanoseconds upper bound of connection backoff delay.&lt;br>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.keepAliveHeartbeatSeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>20&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.6.9+&lt;/span>Optional. How often the gPRC keep alive message is sent.&lt;br>- Not set: (default) sent every 20 seconds.&lt;br>- 0: not sent.&lt;br>- Any &lt;code>n&lt;/code> value greater than 0: sent every &lt;code>n&lt;/code> seconds.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.keepAliveOperationSeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>0&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.58+&lt;/span>Optional. How much time to wait after not receiving operations to restart the connection to clouddriver.&lt;br>- Not set: default 0 (not restart).&lt;br>- Any &lt;code>n&lt;/code> value greater than 0: restart every &lt;code>n&lt;/code> seconds.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.keepAliveTimeOutSeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Timeout before closing the grpc connection.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.insecure&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>Set to false, if you are connecting to a TLS server.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.noProxy&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.3.1+&lt;/span> Ignore the &lt;code>HTTP_PROXY&lt;/code>, &lt;code>HTTPS_PROXY&lt;/code>, and &lt;code>NO_PROXY&lt;/code> environment variables when connecting back to the control plane (Armory Continuous Deployment).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.responseRetries.enabled&lt;/code>&lt;br>&lt;code>clouddriver.responseRetries.maxRetries&lt;/code>&lt;br>&lt;code>clouddriver.responseRetries.backOffMs&lt;/code>&lt;br>&lt;/td>
&lt;td>boolean&lt;br>integer&lt;br>integer&lt;/td>
&lt;td>true&lt;br>3&lt;br>3000&lt;br>&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.6.7+&lt;/span>Enables or disables retries.&lt;br>&lt;span class='badge badge-primary'>0.6.7+&lt;/span>How many times to retry sending the response to Clouddriver.&lt;br>&lt;span class='badge badge-primary'>0.6.7+&lt;/span>How much time to wait between retries in milliseconds.&lt;br>Note that Agent Plugin config option &lt;code>kubesvc.cache.operationWaitMs&lt;/code> should be set so that it does not time out before the retries are complete.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.tls.serverName&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Server name on the remote certificate (override from the hostname).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.tls.insecureSkipVerify&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Do not verify the endpoint's certificate.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.tls.clientCertFile&lt;/code>&lt;br>&lt;code>clouddriver.tls.clientKeyFile&lt;/code>&lt;br>&lt;code>clouddriver.tls.clientKeyFilePassword&lt;/code>&lt;/td>
&lt;td>string&lt;br>string&lt;br>string&lt;/td>
&lt;td>none&lt;br>none&lt;br>none&lt;/td>
&lt;td>Client certificate file for mTLS.&lt;br>Client key file if not included in the certificate.&lt;br>Password the key file if needed.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>clouddriver.tls.cacertFile&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>If provided, verify endpoint certificate with the trust store. Otherwise, the system trust store is used.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.interceptor.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>Whether to intercept new accounts being added on the fly.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Dynamic account feature enabled.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.scanBatchSize&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>572&lt;/td>
&lt;td>How many accounts to send to scale agent at a time.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.scanFrequencySeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>120&lt;/td>
&lt;td>How often should accounts be scanned for.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.namePatterns&lt;/code>&lt;/td>
&lt;td>list&lt;/td>
&lt;td>[]&lt;/td>
&lt;td>Patterns to match for account migration in accounts table.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>dynamicAccounts.credentialScanNamePatterns&lt;/code>&lt;/td>
&lt;td>list&lt;/td>
&lt;td>[]&lt;/td>
&lt;td>Patterns to match in credential sources.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.noProxy&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.3.1+&lt;/span> Ignore the &lt;code>HTTP_PROXY&lt;/code>, &lt;code>HTTPS_PROXY&lt;/code>, and &lt;code>NO_PROXY&lt;/code> environment variables when connecting to any Kubernetes cluster.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.reconnectTimeoutMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>5000&lt;/td>
&lt;td>How long to wait before reconnecting to Armory Continuous Deployment.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.cacheGroupSize&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>0&lt;/td>
&lt;td>Number of accounts per group when delaying watcher initialization.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.cacheGroupDelayMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>0&lt;/td>
&lt;td>How long to wait between each group of accounts when initializing watchers.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].context&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>If provided, use the given context of the configured kubeconfig.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].customResourceDefinitions&lt;/code>&lt;/td>
&lt;td>[]{kind: &lt;string>}&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.4.0+&lt;/span> List of CustomResourceDefinition to expose to Armory Continuous Deployment. This is not needed if &lt;code>onlyNamespacedResources&lt;/code> is left off. The format of &lt;code>kind&lt;/code> is &lt;code>Kind.group&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].customResourceDefinitions.scope&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>Namespaced&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.9+&lt;/span> Possible values are 'Cluster' and 'Namespaced'. The default value if left unconfigured is 'Namespaced'.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].kinds&lt;/code>&lt;/td>
&lt;td>[]string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>Defines which Kubernetes kinds to cache for the Spinnaker UI. If not empty, only kinds in the list are cached. Use only the kind name in singular form and without group name (e.g. &lt;code>deployment&lt;/code>, not &lt;code>deployment.apps&lt;/code>). This also applies to CRDs.&lt;br>There’s no benefit to caching kinds that don’t display in the Spinnaker UI. The recommended set of kinds to include (per account) is: &lt;code>replicaSet&lt;/code>, &lt;code>service&lt;/code>, &lt;code>ingress&lt;/code>, &lt;code>daemonSet&lt;/code>, &lt;code>deployment&lt;/code>, &lt;code>pod&lt;/code>, &lt;code>statefulSet&lt;/code>, &lt;code>job&lt;/code>, &lt;code>cronJob&lt;/code>.&lt;br>&lt;b>Note:&lt;/b> Operations are still possible on every kind regardless of the config, and statuses for those operations are not affected. For example, if you need to deploy another kind such as &lt;code>HorizontalPodAutoscaler&lt;/code>, and this kind is not defined in this list, the deployment still succeeds.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].kubeConfigFile&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none&lt;/td>
&lt;td>Path to the kubeconfig file if not using &lt;code>serviceAccount&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].insecure&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Do not verify the TLS certificate of the Kubernetes API server&lt;br>Don’t use without a good reason.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].metrics&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>When true, sends pod metrics back to Armory Continuous Deployment every 20s.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].name&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>none, required&lt;/td>
&lt;td>Name of the Kubernetes cluster in Armory Continuous Deployment.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].namespaces&lt;/code>&lt;/td>
&lt;td>[]string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.4.0+&lt;/span> Whitelist of namespaces to monitor.&lt;br>This comes at a greater cost of multiplying the resources by the number of namespaces.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].noProxy&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.3.1+&lt;/span> Ignore the &lt;code>HTTP_PROXY&lt;/code>, &lt;code>HTTPS_PROXY&lt;/code>, and &lt;code>NO_PROXY&lt;/code> environment variables when connecting to that Kubernetes cluster.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].oAuthScopes&lt;/code>&lt;/td>
&lt;td>[]string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>List of OAuth scope when authenticating with gcp provider&lt;br>&lt;a href='https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#authentication' target='new'>Cluster access for kubectl&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].omitKinds&lt;/code>&lt;/td>
&lt;td>[]string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>List of kinds not to cache.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].omitNamespaces&lt;/code>&lt;/td>
&lt;td>[]string&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>Blacklist of namespaces &lt;br>This comes at a greater cost of multiplying the resources by the number of namespaces.&lt;br>NOT CURRENTLY IMPLEMENTED&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].onlyNamespacedResources&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.4.0+&lt;/span> If true, the Agent ignores non-namespaced resources; namespaces must be whitelisted with &lt;code>namespaces&lt;/code> setting and CRDs with &lt;code>customResourceDefinitons&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].onlySpinnakerManaged&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Only return Armory Continuous Deployment managed resources&lt;br>NOT IMPLEMENTED in the Agent but added to the plugin see &lt;code>kubesvc.runtime.defaults.onlySpinnakerManaged&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].permissions&lt;/code>&lt;/td>
&lt;td>list&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>List of permissions (currently &lt;code>READ&lt;/code> or &lt;code>WRITE&lt;/code>) with a list of authorized roles. For more information, see &lt;a href='#permissions-format'>Permissions format&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].maxResumableResourceAgeMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>300000 (5m)&lt;/td>
&lt;td>When connecting to Armory Continuous Deployment, the Agent asks Clouddriver for the latest resource version known per resource that is not older than that setting.&lt;br>&lt;br>The resource version is used to resume the watch without first doing a list - saving memory and time. There’s no guarantee that the resource version is still known. If not “remembered” by the Kubernetes API server, a &lt;code>list&lt;/code> call is used. &lt;a href='https://kubernetes.io/docs/reference/using-api/api-concepts/#efficient-detection-of-changes' target='new'>Kubernetes API Concepts&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.accounts[].serviceAccount&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>If true and the Agent runs in Kubernetes - use the current service account to call to the current API server. In that mode, you don’t need to provide a kubeconfig file.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.enabled&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never use ServerSideApply (SSA). allowed: Use CSA unless annotation &lt;code>agent-k8s.armory.io/serverside-apply: enabled&lt;/code> is present or config &lt;code>kubernetes.serverSideApply.kinds[].enabled&lt;/code> is present in configuration file.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.clearManagedFields&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never delete managed fields in order to keep agent as the only manager of a manifest. allowed: Send manifest as-is unless annotation &lt;code>agent-k8s.armory.io/ssa-clear-managed-fields: enabled&lt;/code> is present or &lt;code>kubernetes.serverSideApply.kinds[].clearManagedFields&lt;/code> is present in configuration file.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.manifestDefaults&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never modify applied manifests to include field defaults. allowed: Send manifest as-is unless annotation &lt;code>agent-k8s.armory.io/ssa-manifest-defaults: enabled&lt;/code> is present or &lt;code>kubernetes.serverSideApply.kinds[].manifestDefaults&lt;/code> is present in configuration file.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.kinds[].kind&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Kind name ID for the next configurations&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.kinds[].enabled&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never use ServerSideApply (SSA). allowed: Use CSA unless annotation &lt;code>agent-k8s.armory.io/serverside-apply: enabled&lt;/code> is present&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.kinds[].clearManagedFields&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never delete managed fields in order to keep agent as the only manager of a manifest. allowed: Send manifest as-is unless annotation &lt;code>agent-k8s.armory.io/ssa-clear-managed-fields: enabled&lt;/code> is present&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.serverSideApply.kinds[].manifestDefaults&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>allowed&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>1.0.47+&lt;/span> Optional. always/never/allowed. Override annotations and kind list to Always/Never modify applied manifests to include field defaults. allowed: Send manifest as-is unless annotation &lt;code>agent-k8s.armory.io/ssa-manifest-defaults: enabled&lt;/code> is present&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.retries.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>Optional. Enable or disable retries when the Agent makes a failed request to the Kubernetes API server.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.retries.maxRetries&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>3&lt;/td>
&lt;td>Optional. The number of times that the Agent will try the same request if it fails.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.retries.backOffMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>3000&lt;/td>
&lt;td>Optional. How much time (in milliseconds) to wait between retry attempts.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.retries.retryAnyError&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Optional. If true, Agent will retry when encountering any error from the Kubernetes API server. If false, Agent will only retry if the error contains any item from &lt;code>retryableErrors&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>kubernetes.retries.retryableErrors&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>&lt;code>- timeout&lt;/code>&lt;br>&lt;code>- deadline exceeded&lt;/code>&lt;/td>
&lt;td>Optional. If the error from the Kubernetes API server contains any item from this list, the request will be retried. Requires &lt;code>retryAnyError&lt;/code> to be false.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.file&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>stdout if not defined&lt;/td>
&lt;td>File to save logs to.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.format&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>text&lt;/td>
&lt;td>Format for the Agent logs. Can be &lt;code>text&lt;/code> or &lt;code>json&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.level&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>&lt;code>INFO&lt;/code>&lt;/td>
&lt;td>Log level. Can be any of (case insensitive):&lt;br>&lt;code>panic&lt;/code>, &lt;code>fatal&lt;/code> , &lt;code>error&lt;/code>, &lt;code>warn&lt;/code> (or &lt;code>warning&lt;/code>), &lt;code>info&lt;/code>, &lt;code>debug&lt;/code>, &lt;code>trace&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.multiWrite&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>When set to true, logs will be printed to stdout and saved to a file simultaneously.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.maxSizeMb&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>1&lt;/td>
&lt;td>Max size of each log file.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.maxAgeDays&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>10&lt;/td>
&lt;td>How many days to keep the log file backup.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.maxBackups&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>10&lt;/td>
&lt;td>Max number of log file backups.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.localTime&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>true&lt;/td>
&lt;td>when set to true the timestamps will have local time, otherwise UTC.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.compress&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>when set to true files are compressed as tar gz.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>logging.fields&lt;/code>&lt;/td>
&lt;td>map&lt;/td>
&lt;td>empty&lt;/td>
&lt;td>Logging contextual key-value pairs.&lt;br>The &lt;code>agentCluster&lt;/code> and &lt;code>agentNamespace&lt;/code> keys could be detected automatically when a value is not provided, and being populated with the name/host of the cluster, and namespace where the instance is running.&lt;br>E.g.&lt;br>&lt;code>logging.fields.agentNamespace:&lt;/code>&lt;br>The agentNamespace will be automatically discover by the instance.&lt;br>&lt;code>logging.fields.agentNamespace: test&lt;/code>&lt;br>The agentNamespace will use the provided value.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>pprof.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Enable pprof endpoint. Useful for troubleshooting, slowness, memory leaks, and more!&lt;br>&lt;a href='https://github.com/google/pprof/blob/master/doc/README.md' target='new'>pprof README&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>pprof.port&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>6060&lt;/td>
&lt;td>Port on which to respond to pprof requests.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>prometheus.enabled&lt;/code>&lt;/td>
&lt;td>boolean&lt;/td>
&lt;td>false&lt;/td>
&lt;td>Enable Prometheus handler.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>prometheus.port&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>8008&lt;/td>
&lt;td>Port to expose Prometheus metrics on. Responds to both &lt;code>/metrics&lt;/code> (standard) and &lt;code>/prometheus_metrics&lt;/code> (Armory Continuous Deployment default).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>server.host&lt;/code>&lt;/td>
&lt;td>string&lt;/td>
&lt;td>localhost&lt;/td>
&lt;td>Hostname of the server health check.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>server.port&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>8082&lt;/td>
&lt;td>Port of the server health check.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>server.ssl.enabled&lt;/code>, &lt;code>server.ssl.certFile&lt;/code>, &lt;code>server.ssl.keyFile&lt;/code>, &lt;code>server.ssl.keyPassword&lt;/code>, &lt;code>server.ssl.caCertFile&lt;/code>, &lt;code>server.ssl.keyFilePassword&lt;/code>, &lt;code>server.ssl.clientAuth&lt;/code>&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;td>Various options to control TLS config. Don’t bother, it’s just for the health endpoint.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>secrets.vault.*&lt;/code>&lt;/td>
&lt;td>object&lt;/td>
&lt;td>none&lt;/td>
&lt;td>&lt;a href='/docs/armory-admin/secrets/secrets-vault/#1-kubernetes-service-account-recommended' target='new'>Vault configuration&lt;/a>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>tasks.totalBudget&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>1000&lt;/td>
&lt;td>If > 0, limits the number of cluster sync tasks that can be started concurrently, this is when doing the initial listing before starting a watcher, modifying this value can help reduce memory spikes when Agent starts.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>tasks.budgetPerAccount&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>50&lt;/td>
&lt;td>Same as &lt;code>totalBudget&lt;/code> but per account. If both settings are provided, they’re both checked.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>tasks.queueCheckFrequencyMs&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>2000&lt;/td>
&lt;td>Frequency at which the Agent checks for new tasks to launch. Once launched a task is not stopped until explicitly requested (account unregistered or connection to Armory Continuous Deployment lost).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>timeoutSeconds&lt;/code>&lt;/td>
&lt;td>integer&lt;/td>
&lt;td>0&lt;/td>
&lt;td>&lt;span class='badge badge-primary'>0.5.12+&lt;/span> The maximum length of time to wait before giving up on a server request. A value of zero means no timeout.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>