Skip to content

Commit

Permalink
docs: add available configuration options for rollouts controller.
Browse files Browse the repository at this point in the history
Refs: argoproj#1914
Signed-off-by: Celal Öner <[email protected]>
  • Loading branch information
hcelaloner committed Mar 22, 2022
1 parent 55a041a commit 67d3900
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,73 @@ This will create a new namespace, `argo-rollouts`, where Argo Rollouts controlle
You can find released container images of the controller at [Quay.io](https://quay.io/repository/argoproj/argo-rollouts?tab=tags). There are also old releases
at Dockerhub, but since the introduction of rate limiting, the Argo project has moved to Quay.

### Configuration Options

Argo Rollouts Controller is a Kubernetes controller that continuously manages the Rollout resources in the cluster. This command runs Argo Rollouts Controller in the foreground, and it can be configured by following options.

```
rollouts-controller [flags]
```

```
--alb-ingress-classes stringArray Defines all the ingress class annotations that the alb ingress controller operates on. Defaults to alb (default [alb])
--ambassador-api-version string Set the Ambassador apiVersion that controller should look when manipulating Ambassador Mappings. (default "getambassador.io/v2")
--analysis-threads int Set the number of worker threads for the Experiment controller (default 30)
--appmesh-crd-version string Set the default AppMesh CRD Version that controller uses when manipulating resources. (default "v1beta2")
--as string Username to impersonate for the operation
--as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uid string UID to impersonate for the operation
--aws-verify-target-group Verify ALB target group before progressing through steps (requires AWS privileges)
--burst int Maximum burst for throttle. (default 80)
--certificate-authority string Path to a cert file for the certificate authority
--client-certificate string Path to a client certificate file for TLS
--client-key string Path to a client key file for TLS
--cluster string The name of the kubeconfig cluster to use
--context string The name of the kubeconfig context to use
--experiment-threads int Set the number of worker threads for the Experiment controller (default 10)
--healthzPort int Set the port the healthz endpoint should be exposed over (default 8080)
-h, --help help for argo-rollouts
--ingress-api-version string Set the Ingress apiVersion that the controller should use.
--ingress-threads int Set the number of worker threads for the Ingress controller (default 10)
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
--instance-id string Indicates which argo rollout objects the controller should operate on
--istio-api-version string Set the default Istio apiVersion that controller should look when manipulating VirtualServices. (default "v1alpha3")
--kloglevel int Set the klog logging level
--kubeconfig string Path to a kube config. Only required if out-of-cluster
--leader-elect If true, controller will perform leader election between instances to ensure no more than one instance of controller operates at a time (default true)
--leader-election-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s)
--leader-election-renew-deadline duration The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled. (default 10s)
--leader-election-retry-period duration The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. (default 2s)
--logformat string Set the logging format. One of: text|json
--loglevel string Set the logging level. One of: debug|info|warn|error (default "info")
--metricsport int Set the port the metrics endpoint should be exposed over (default 8090)
-n, --namespace string If present, the namespace scope for this CLI request
--namespaced runs controller in namespaced mode (does not require cluster RBAC)
--nginx-ingress-classes stringArray Defines all the ingress class annotations that the nginx ingress controller operates on. Defaults to nginx (default [nginx])
--password string Password for basic authentication to the API server
--qps float32 Maximum QPS (queries per second) to the K8s API server (default 40)
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
--rollout-resync int Time period in seconds for rollouts resync. (default 900)
--rollout-threads int Set the number of worker threads for the Rollout controller (default 10)
--server string The address and port of the Kubernetes API server
--service-threads int Set the number of worker threads for the Service controller (default 10)
--tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
--token string Bearer token for authentication to the API server
--traffic-split-api-version string Set the default TrafficSplit apiVersion that controller uses when creating TrafficSplits. (default "v1alpha1")
--user string The name of the kubeconfig user to use
--username string Username for basic authentication to the API server
--version Print version
```

For instance, logging format can be easily set as `json` in Argo Rollouts Controller Deployment as follows:

````yaml
containers:
- image: "image: quay.io/argoproj/argo-rollouts:v1.2.0"
args:
- --logformat=json
````

## Kubectl Plugin Installation

The kubectl plugin is optional, but is convenient for managing and visualizing rollouts from the
Expand Down

0 comments on commit 67d3900

Please sign in to comment.