|
| 1 | +## Command "run" |
| 2 | + |
| 3 | +### Synopsis |
| 4 | + |
| 5 | +`argocd-image-updater run [flags]` |
| 6 | + |
| 7 | +### Description |
| 8 | + |
| 9 | +Runs the Argo CD Image Updater, possibly in an endless loop with a set of options. |
| 10 | + |
| 11 | +### Flags |
| 12 | + |
| 13 | +**--application-namespace *namespace*** |
| 14 | + |
| 15 | +Specifies the Kubernetes namespace in which Argo CD Image Updater will manage Argo CD Applications when using the Kubernetes-based Application API. By default, applications in all namespaces are considered. This flag can be used to limit scope to a single namespace for performance, security, or organizational reasons. |
| 16 | + |
| 17 | +**--applications-api *api kind*** |
| 18 | + |
| 19 | +API kind that is used to manage Argo CD applications ('kubernetes' or 'argocd') (default "kubernetes") |
| 20 | + |
| 21 | +Can also be set using the *APPLICATIONS_API* environment variable. |
| 22 | + |
| 23 | +**--argocd-auth-token *token*** |
| 24 | + |
| 25 | +Use *token* for authenticating to the Argo CD API. This token must be a base64 |
| 26 | +encoded JWT, as generated by Argo CD. |
| 27 | + |
| 28 | +The token can also be set using the *ARGOCD_TOKEN* environment variable. |
| 29 | + |
| 30 | +**--argocd-grpc-web** |
| 31 | + |
| 32 | +If this flag is given, use the gRPC-web protocol to connect to the Argo CD API. |
| 33 | +This can be useful if your Argo CD API is behind a proxy that does not support |
| 34 | +HTTP/2, or only accept HTTP/2 on the front end. |
| 35 | + |
| 36 | +Can also be set using the *ARGOCD_GRPC_WEB* environment variable. |
| 37 | + |
| 38 | +**--argocd-insecure** |
| 39 | + |
| 40 | +If specified, the certificate of the Argo CD API server is not verified. Useful |
| 41 | +if you are using a self-signed TLS certificate for the Argo CD API server. As |
| 42 | +the name implies, this is an *insecure* setting and should not be used for |
| 43 | +production systems. |
| 44 | + |
| 45 | +Can also be set using the *ARGOCD_INSECURE* environment variable. |
| 46 | + |
| 47 | +**-argocd-namespace *namespace*** |
| 48 | + |
| 49 | +namespace where ArgoCD runs in (current namespace by default) |
| 50 | + |
| 51 | +**--argocd-plaintext** |
| 52 | + |
| 53 | +If specified, use an unencrypted HTTP connection to the ArgoCD API instead of |
| 54 | +TLS. |
| 55 | + |
| 56 | +Can also be set using the *ARGOCD_PLAINTEXT* environment variable. |
| 57 | + |
| 58 | +**--argocd-server-addr *server address*** |
| 59 | + |
| 60 | +Connect to the Argo CD API server at *server address*. *server address* must |
| 61 | +be a valid IP address or DNS host name, optionally with a port specification |
| 62 | +delimited using a colon, i.e. *10.23.42.5* or *argocd-server.argocd:8080*. |
| 63 | +If no port given, the protocol default will be used: Port 80 for plaintext |
| 64 | +connections, and port 443 for TLS connections. |
| 65 | + |
| 66 | +Can also be set using the *ARGOCD_SERVER* environment variable. |
| 67 | + |
| 68 | +**--disable-kube-events** |
| 69 | + |
| 70 | +Disable kubernetes events |
| 71 | + |
| 72 | +Can also be set with the *IMAGE_UPDATER_KUBE_EVENTS* environment variable. |
| 73 | + |
| 74 | +**--disable-kubernetes** |
| 75 | + |
| 76 | +If running locally, and you do not have a working connection to any Kubernetes |
| 77 | +cluster, this flag will prevent Argo CD Image Updater from creating a client |
| 78 | +to interact with Kubernetes. When Kubernetes access is disabled, pull secrets |
| 79 | +for images can only be specified from an environment variable. |
| 80 | + |
| 81 | +**--dry-run** |
| 82 | + |
| 83 | +If this flag is set, Argo CD Image Updater won't actually perform any changes |
| 84 | +to workloads it found in need for upgrade. |
| 85 | + |
| 86 | +**--git-commit-email *email*** |
| 87 | + |
| 88 | +E-Mail address to use for Git commits (default "noreply@argoproj.io") |
| 89 | + |
| 90 | +Can also be set using the *GIT_COMMIT_EMAIL* environment variable. |
| 91 | + |
| 92 | +**--git-commit-message-path *path*** |
| 93 | + |
| 94 | +Path to a template to use for Git commit messages (default "/app/config/commit.template") |
| 95 | + |
| 96 | +**--git-commit-sign-off** |
| 97 | + |
| 98 | +Whether to sign-off git commits |
| 99 | + |
| 100 | +**--git-commit-signing-key *key*** |
| 101 | + |
| 102 | +GnuPG key ID or path to Private SSH Key used to sign the commits |
| 103 | + |
| 104 | +Can also be set using the *GIT_COMMIT_SIGNING_KEY* environment variable. |
| 105 | + |
| 106 | +**--git-commit-signing-method *method*** |
| 107 | + |
| 108 | +Method used to sign Git commits ('openpgp' or 'ssh') (default "openpgp") |
| 109 | + |
| 110 | +Can also be set using the *GIT_COMMIT_SIGNING_METHOD* environment variable. |
| 111 | + |
| 112 | +**--git-commit-user *user*** |
| 113 | + |
| 114 | +Username to use for Git commits (default "argocd-image-updater") |
| 115 | + |
| 116 | +Can also be set using the *GIT_COMMIT_USER* environment variable. |
| 117 | + |
| 118 | +**--health-port *port*** |
| 119 | + |
| 120 | +Specifies the local port to bind the health server to. The health server is |
| 121 | +used to provide health and readiness probes when running as K8s workload. |
| 122 | +Use value *0* for *port* to disable launching the health server. |
| 123 | + |
| 124 | +**-h, --help** |
| 125 | + |
| 126 | +help for run |
| 127 | + |
| 128 | +**--interval *duration*** |
| 129 | + |
| 130 | +Sets the interval for checking whether there are new images available to |
| 131 | +*duration*. *duration* must be given as a valid duration identifier with |
| 132 | +a unit suffix, i.e. `2m` for 2 minutes or `30s` for 30 seconds. If no unit |
| 133 | +is given, milliseconds will be assumed. If set to `0`, ArgoCD Image Updater |
| 134 | +will exit after the first run, effectively disabling the interval. Default |
| 135 | +value is `2m0s`. |
| 136 | + |
| 137 | +Can also be set using the *IMAGE_UPDATER_INTERVAL* environment variable. |
| 138 | +The `--interval` flag takes precedence over the `IMAGE_UPDATER_INTERVAL` environment variable. |
| 139 | + |
| 140 | +The order of precedence for determining the update interval is as follows: |
| 141 | + |
| 142 | +1. **`--interval` flag:** If the `--interval` command-line flag is provided, its value will be used. |
| 143 | +2. **`IMAGE_UPDATER_INTERVAL` environment variable:** If the `--interval` flag is not set, the value of the `IMAGE_UPDATER_INTERVAL` environment variable will be used. |
| 144 | +3. **Default value:** If neither the `--interval` flag nor the `IMAGE_UPDATER_INTERVAL` environment variable is set, the default value will be used. |
| 145 | + |
| 146 | +**--kubeconfig *path*** |
| 147 | + |
| 148 | +Specify the Kubernetes client config file to use when running outside a |
| 149 | +Kubernetes cluster, i.e. `~/.kube/config`. When specified, Argo CD Image |
| 150 | +Updater will use the currently active context in the configuration to connect |
| 151 | +to the Kubernetes cluster. |
| 152 | + |
| 153 | +**--loglevel *level*** |
| 154 | + |
| 155 | +Set the log level to *level*, where *level* can be one of `trace`, `debug`, |
| 156 | +`info`, `warn` or `error`. |
| 157 | + |
| 158 | +Can also be set using the *IMAGE_UPDATER_LOGLEVEL* environment variable. |
| 159 | + |
| 160 | +**--match-application-label *selector*** |
| 161 | + |
| 162 | +Only process applications that have a valid annotation and match the given |
| 163 | +*label* selector. The *selector* is a string that matches the standard kubernetes |
| 164 | +[label selector syntax][]. For e.g., `custom.label/name=xyz` would be a valid label |
| 165 | +that can be supplied through this parameter. Any applications carrying this |
| 166 | +exact label will be considered as candidates for image updates. This parameter |
| 167 | +currently does not support pattern matching on label values (e.g `customer.label/name=*-staging`). |
| 168 | +You can specify equality, inequality, or set based requirements or a combination. |
| 169 | +For e.g., `app,app!=foo,custom.label/name=xyz,customer in (a,b,c)` |
| 170 | + |
| 171 | +**--match-application-name *pattern*** |
| 172 | + |
| 173 | +Only process applications that have a valid annotation and matches the given |
| 174 | +*pattern*. The *pattern* is a simple glob pattern and supports file system |
| 175 | +style wildcards, i.e. `*-staging` would match any application name with a |
| 176 | +suffix of `-staging`. Can be specified multiple times to define more than |
| 177 | +one pattern, from which at least one has to match. |
| 178 | + |
| 179 | +**--max-concurrency *number*** |
| 180 | + |
| 181 | +Process a maximum of *number* applications concurrently. To disable concurrent |
| 182 | +application processing, specify a number of `1`. |
| 183 | + |
| 184 | +**--metrics-port *port*** |
| 185 | + |
| 186 | +port to start the metrics server on, 0 to disable (default 8081) |
| 187 | + |
| 188 | +**--once** |
| 189 | + |
| 190 | +A shortcut for specifying `--interval 0 --health-port 0`. If given, |
| 191 | +Argo CD Image Updater will exit after the first update cycle. |
| 192 | + |
| 193 | +**--registries-conf-path *path*** |
| 194 | + |
| 195 | +Load the registry configuration from file at *path*. Defaults to the path |
| 196 | +`/app/config/registries.conf`. If no configuration should be loaded, and the |
| 197 | +default configuration should be used instead, specify the empty string, i.e. |
| 198 | +`--registries-conf-path=""`. |
| 199 | + |
| 200 | +**--warmup-cache** |
| 201 | + |
| 202 | +whether to perform a cache warm-up on startup (default true) |
| 203 | + |
| 204 | +[label selector syntax]: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors |
0 commit comments