I had trouble finding the documentation to use the cluster name for destination, instead of the full URL. This is really useful.
Use case: we manage multiple clusters, destination.name is a better way to set destination.
Signed-off-by: Thomas Decaux <ebuildy@gmail.com>
Signed-off-by: ebuildy <ebuildy@gmail.com>
The latest tag hasn't been updated in almost a year, and as a result, the ubuntu repositories are out of date and are throwing errors. This updates the example to use a fixed version, which are updated much more frequently.
Signed-off-by: Phil Wright- Christie <philwc@gmail.com>
Signed-off-by: Phil Wright- Christie <philwc@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* fix: application stuck in infinite reconciliation loop if using wrong project
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* add missing unit test
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix: #9812 UI can now get clusters with slashes in name
Fixes#9812
If a cluster name has a slash in it, the API would not be able
to fetch that cluster and would display "in-cluster (undefined)"
for that application. This fixes that issue by URI-encoding
the cluster name on the UI side and URI-decoding the cluster name
on the API side.
Signed-off-by: Edmund Rhudy <erhudy@users.noreply.github.com>
* Retrigger CI pipeline
Signed-off-by: Edmund Rhudy <erhudy@users.noreply.github.com>
Signed-off-by: Edmund Rhudy <erhudy@users.noreply.github.com>
With Kiali v1.57.1 an additional status condition was added:
```
- lastTransitionTime: '2022-10-14T11:56:24Z'
message: ''
reason: ''
status: 'False'
type: Failure
```
Based on the discussion in https://github.com/kiali/kiali/issues/5560 this should not lead to a degraded health state.
This will no longer return Degraded as a catch-all and use the `type` and `status` fields of the condition to determine the CR health.
Signed-off-by: Allex Veldman <allexveldman+github@gmail.com>
Signed-off-by: Allex Veldman <allexveldman+github@gmail.com>
The "Webhook and Manifest Paths Annotation" section of the documentation
contained a number of grammar and spelling issues as well as what appeared
to be some unintentionally pasted text.
This commit attempts to address these issues.
Signed-off-by: Lars Kellogg-Stedman <lars@oddbit.com>
Signed-off-by: Lars Kellogg-Stedman <lars@oddbit.com>
* test: Remove circular symlinks from testdata
Signed-off-by: jannfis <jann@mistrust.net>
* Another test case
Signed-off-by: jannfis <jann@mistrust.net>
* Use defer for changing back to original workdir
Signed-off-by: jannfis <jann@mistrust.net>
* Abort the test on error in defer
Signed-off-by: jannfis <jann@mistrust.net>
* fix: use serviceaccount name instead of struct
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
* fix: change name of param from sa to serviceAccount
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
* fix: create serviceaccount token for v1.24 clusters
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
* change create to get in err
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
* chore: eliminate go-mpatch dependency
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: abstract out resource list function
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: don't exit the program in anything but the main function
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: better error messages
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: better error messages
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: missing Helm params
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* use absolute paths, fix tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix race in test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: do not allow symlinks from directory-type applications
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: add new util file
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: use t.TempDir for simpler tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* address comments
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: upgrade to go 1.17.8
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: use 1.17 so it's always latest in the series
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: prevent file traversal using helm file values param and application details api
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* apply reviewer notes: move resolve.go into separate package; use uuid to generate random file
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* feat(cli): Allow to view previously terminated container logs
This is useful when we want to see the snapshot of previously terminated container logs.
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
* chore: Generate docs
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
* feat: support disabling manifest generation using config management tools
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* rename EnableManifestGenerationForSourceType to EnableSourceTypes
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
In order to get Dex working with an OIDC provider, I had to structure the Dex config according to the [Dex Documentation](https://dexidp.io/docs/connectors/oidc/#configuration).
This means placing the OIDC configuration within their own `config` element in the `dex.config`, rather than listing them on the same level as the generic connector settings.
* chore: use go install instead of deprecated go get
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: readme fixes
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: fallback to fetch default only on error
Ignoring commit SHA breaks gerrit when the commit is not merged
Signed-off-by: Yujun Zhang <yujunz@nvidia.com>
* revert util/git/client.go changes
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
I found it non-intuitive to have to tell our users to use `--grpc-web-root-path /`
when logging in when the defaults should have just worked.
This commit updates the Host-based ambassador mappings to avoid that, making
plain `argocd login <host>` calls work.
Signed-off-by: Franklin "Snaipe" Mathieu <me@snai.pe>
* update go version
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* update go version
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* change version in docs
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* docs: add chart field to application.yaml
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: more clarification
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: add skipCrds flag for helm charts
* replace additionalTemplateArgs with includeCrds flag
* add testcase for skip crds
Signed-off-by: patst <patrick.steinig@googlemail.com>
* feat: add skipCrds flag for helm charts
* replace additionalTemplateArgs with includeCrds flag
* add testcase for skip crds
Signed-off-by: patst <patrick.steinig@googlemail.com>
* feat: add skipCrds flag for helm charts
* replace additionalTemplateArgs with includeCrds flag
* add testcase for skip crds
Signed-off-by: patst <patrick.steinig@googlemail.com>
* feat: add skipCrds flag for helm charts
* make sure include crds is not added for helm2
Signed-off-by: patst <patrick.steinig@googlemail.com>
* docs: reorganize and clarify CMP docs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: note that an empty plugin block is acceptable
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: support XDG Base directory standard
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* chore: set XDG_CONFIG_HOME env var for docs generation
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* chore: regenerate cli docs
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* feat: allow escaping dollar in Envsubst
Signed-off-by: Thomas Dy <thatsmydoing@gmail.com>
* docs: add variable escape documentation
Signed-off-by: Thomas Dy <thatsmydoing@gmail.com>
so as to allow operators to prevent Argo CD from passing valueFiles
to helm template if they don't exist in the source under the specified path.
Signed-off-by: Oscar Craviotto <craviotto@avellaneda.com>
When configuring an external OIDC provider which uses a private PKI
for its certificates it was not possible to properly verify the certificate
being served. Also, when using ArgoCD in insecure mode, e.g. when running
behind istio for providing mTLS, this resulted in errors.
Signed-off-by: Clive Jevons <clive@jevons-it.net>
* Docs: Helm plugins via initContainers
Related: #7066
Include an alternative method for installing Helm plugins that don't require users to maintain their own version of the ArgoCD container image.
Signed-off-by: Didrik Finnøy <djfinnoy@protonmail.com>
* add codeblock
Signed-off-by: Didrik Finnøy <djfinnoy@protonmail.com>
* change helm repo name in example code
Signed-off-by: Didrik Finnøy <djfinnoy@protonmail.com>
* docs: add a link from the base security doc to the operator manual security page
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: better copy
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: bump doc version
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: add nil check, add revision tests, add docs about webhook behavior
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: move single-use function into test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: add comment about why some tests are absent
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: fix text names
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Remove python3-pip and deps
Use hack/installers since AWS doesn't provide pip packages for v2
Side effect: image downsize 842 MB -> 483MB
Signed-off-by: Shyukri Shyukriev <shyukri.shyukriev@mariadb.com>
* When adding Kubernetes labels as Prometheus labels, replace with all the invalid Prometheus label chars
Signed-off-by: Xabier Larrakoetxea <me@slok.dev>
* Add Fonoa company to users doc
Signed-off-by: Xabier Larrakoetxea <me@slok.dev>
* Add comment and link to the Prometheus label valid characters
Signed-off-by: Xabier Larrakoetxea <me@slok.dev>
* fix: during import, if stop-operation flag is provided, then nil operation field of application
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: during import, if stop-operation flag is provided, then nil operation field of application
Signed-off-by: May Zhang <may_zhang@intuit.com>
* run goimports -local
Signed-off-by: May Zhang <may_zhang@intuit.com>
* updated docs
Signed-off-by: May Zhang <may_zhang@intuit.com>
Adding argocd-vault-replacer as another hashicorp vault tool with different abilities from the IBM version. Primary differences:
* Ability to use kubernetes authentication
* Textual replacement rather than understanding the YAML so secrets can be anywhere, not just in limited locations.
* Ability to process the secrets into other forms (e.g. base64 encode)
Signed-off-by: Alan Clucas <alan@clucas.org>
Co-authored-by: jannfis <jann@mistrust.net>
* docs: mention finalizer in app-of-apps doc
As it's easy to overlook the need for a specific finalizer in the Application CR to ensure cascading deletion I added an extra section describing the need and linking to the ArgoCD Docs for further information about App deletion.
Signed-off-by: PixelJonas <5434875+PixelJonas@users.noreply.github.com>
* doc: fix typo in cluster-bootstrappring docs
small typo fix
Signed-off-by: PixelJonas <5434875+PixelJonas@users.noreply.github.com>
* fix SyncWindow link when using baseherf
Signed-off-by: ln3333 <liangxu@outlook.com>
* fix: SyncWindow link not honoring basehref
Signed-off-by: ln3333 <liangxu@outlook.com>
* fix: return a codes.NotFound error when trying to get a non-existent repository
Signed-off-by: Simon Ninon <simon.ninon@gmail.com>
* move s.db.RepositoryExists call after the permission check
Signed-off-by: Simon Ninon <simon.ninon@gmail.com>
* update ArgoDB mock and add unit tests
Signed-off-by: Simon Ninon <simon.ninon@gmail.com>
* group diff should set resource id use new interface
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* add cluster destination should support name
Signed-off-by: pashavictorovich <pavel@codefresh.io>
Add echo to the end of the kubectl command to fetch initial admin secrets so that '%' new line character is not printed at the end of the secret.
Signed-off-by: mustafa89 <mustafa.mujahid@outlook.com>
Co-authored-by: Mustafa Mujahid <mustafa.mujahid@tradebyte.com>
The commit introduces the following changes:
1. Update the admin settings resource-overrides CLI to work with jqPathExpressions
2. Allow jqPathExpressions to be set from the UI
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
It is not immediately clear what the `<current-user-password>` should be as shown by this issue: https://github.com/argoproj/argo-cd/issues/4096.
This comment should make it more clear that when users are setting passwords as the default `admin` user, they should be using the `admin` password here.
Signed-off-by: John Chen <johnchen456@gmail.com>
* fix: repository name already exists when multiple helm dependencies from same private repo server
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: add test cases
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: clean up
Signed-off-by: May Zhang <may_zhang@intuit.com>
* docs: add configuration guide for using Google Load Balancers with GKE
Signed-off-by: alvarogonzalez-packlink <alvarogonzalez@packlink.com>
* docs: fix format on notes and warnings
Signed-off-by: alvarogonzalez-packlink <alvarogonzalez@packlink.com>
The instructions for telling the CLI how to automatically use
port-forward were intertwined with the instructions for registering a
repo; this separates them.
This also moves the port-forward flags instructions to the first place
in the doc a user would need them.
Signed-off-by: Josh Gavant <joshgavant@gmail.com>
* Update declarative-setup.md
added `type: git` to the secrets
* warning about labels getting lost
when using sealed-secrets the labels will get lost and has to be readded
When creating an application directly through the CLI or a `kubectl
apply`, it's relatively obvious which application is invalid (provided
you aren't applying several at once) as you're there creating it
interactively.
It's less clear when applications are generated by the application set
controller. When that happens, you need to go looking in the controller
logs, where you'll find something like:
> time="2021-08-10T11:36:02Z" level=error msg="application spec is
> invalid: InvalidSpecError: application destination
> {https://kubernetes.default.svc default} is not permitted in project
> 'my-project'"
which doesn't have any connection back to the application being
generated. This is particularly tricky to track down if you're searching
your logs via some sort of aggregator rather than watching `kubectl logs
-f`.
After this change, the log produced would be:
> time="2021-08-10T11:36:02Z" level=error msg="application spec for
> guestbook is invalid: InvalidSpecError: application destination
> {https://kubernetes.default.svc default} is not permitted in project
> 'my-project'"
There's probably fancier ways this information could be presented (e.g.
if application sets were represented in the UI and knew about failures
to apply their generated applications), but this logging change seems
like a cheap way to make this situation more debuggable.
Signed-off-by: Chris Sinjakli <chris@sinjakli.co.uk>
The cluster collector includes one more metric for kubernetes cluster connection
which rely on `SyncError`.
Ticket: #6855
Signed-off-by: Spiros Economakis <spiros.oikonomakis@gmail.com>
* fix: argocd core commands should not drop existing persistent flags
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* run cli codegen
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix: use secure way to generate initial password
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: use secure way to generate initial password
Signed-off-by: May Zhang <may_zhang@intuit.com>
* docs: Add documentation on using OIDC with Dex
Signed-off-by: Connor Kelly <connor.r.kelly@gmail.com>
* docs: Add documentation on using OIDC with Dex -- fix typo
Signed-off-by: Connor Kelly <connor.r.kelly@gmail.com>
* Fix warning box for Dex OIDC group configuration knob
Signed-off-by: Connor Kelly <connor.r.kelly@gmail.com>
* fix(ui): Bump argo-ui to hide filter suggestions on enter and show on typing
Signed-off-by: Remington Breeze <remington@breeze.software>
* remove unneccessary yarn.lock changes
Signed-off-by: Remington Breeze <remington@breeze.software>
* fix: docs about custom image user, change it from argocd to 999
Signed-off-by: Charles Cai <charles.cai@sap.com>
* update: docs for upgrading version
Signed-off-by: Charles Cai <charles.cai@sap.com>
Co-authored-by: Charles Cai <charles.cai@sap.com>
* Correct usage info for `argocd account delete-token`
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: Correct usage info for `argocd account delete-token`
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: Correct usage info for `argocd account delete-token`
Signed-off-by: May Zhang <may_zhang@intuit.com>
* chore: pre filter groups before enforcing
Part of: #4296
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
* chore: prevent serialization if it is a mapclaims
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
* add comments
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
* refactor: enhance application resources filter panels
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* use fixed position for resources filter on application details page
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix(ui): Allow filters in input that are not listed in suggestions
Signed-off-by: Remington Breeze <remington@breeze.software>
* Add back accidentally removed line
Signed-off-by: Remington Breeze <remington@breeze.software>
* feat: add --headless flag to Argo CD CLI command
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* docs: add headless installation manifests and documentation
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* Apply reviewer notes
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* Remove port forwarding logs
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* add "--insecure-skip-tls-verify" on helm pull when Creds.InsecureSkipVerify is set to true
* Requested change of alax
Co-authored-by: Pieter van der Meer <Pieter@dataworkz.nl>
* Allow argocd-notification ingress to repo-server
This change allows an argocd-notification installation using the provided
manifests to ingress to the repo-server.
I am not sure if there is a prevailing opinion about how to manage a
cross project network policy for these related components so I thought
I would put up a PR to spark that discussion. This could live in a separate
NetworkPolicy object managed by the argocd-notifications manifests but I
thought it wuold be better for the possible ingresses for the argocd project
to all live in the argo-cd manifests. I know that notifications are an optional
component, so maybe this is better provided as a separate manifest that can
be strategic merged in? (I am a kustomize user).
Regardless, I think this policy is something that be maintained by argoproj
in some form to reduce release burden of users trying to hand maintain network
policies.
Signed-off-by: Tyler Dixon <tdixon@buf.build>
* make manifests
Signed-off-by: Tyler Dixon <tdixon@buf.build>
* chore: Skip cluster e2e tests if already run
Signed-off-by: jannfis <jann@mistrust.net>
* Use defer to record test run
Signed-off-by: jannfis <jann@mistrust.net>
* feat: add custom resource health checks for trident.netapp.io/TridentOrchestrator and trident.netapp.io/TridentBackendConfig
Signed-off-by: Balazs Zachar <zachar.balazs@gmail.com>
* feat: extend TridentOrchestrator check with degraded state (based on official documentation)
Signed-off-by: Balazs Zachar <zachar.balazs@gmail.com>
* chore: Update Golang builder to 1.16.5
Signed-off-by: jannfis <jann@mistrust.net>
* Use variables to refer to Go version in workflows
Signed-off-by: jannfis <jann@mistrust.net>
* feat: Supported set metadata annotations with `argocd-util appgenerate-spec` command
Signed-off-by: takumakume <takuma.kume@pepabo.com>
* docs: Added `--annotations` option of `argocd-util app generate-spec` command
Signed-off-by: takumakume <takuma.kume@pepabo.com>
* fix: `--annotations` option changes the `.metadata` section, so change it to the appropriate place
Signed-off-by: takumakume <takuma.kume@pepabo.com>
* docs: Added `--annotations` option of `argocdapp create` command
Signed-off-by: takumakume <takuma.kume@pepabo.com>
* fix: set an empty value if there is no `=` in `--annotations`
Signed-off-by: takumakume <takuma.kume@pepabo.com>
* docs: added an example `--annotations` are `=` delimited
Signed-off-by: takumakume <takuma.kume@pepabo.com>
Unless the argocd-dex-server-network-policy NetworkPolicy was meant to
authorize ALL TCP traffic, which seems unlikely, this is a typo.
Signed-off-by: Antonin Bas <abas@vmware.com>
* docs: add hblixt as reviewer
As per 6/21 meeting, proposed and accepted as reviewer.
Thanks for the confidence, looking forward to contributing even more!
* docs: re-add ishitasequeira
* feat: add first class support to access repositories using proxy
Currently, users need to set the proxy URLs as env variables in the repo server. This is not user-friendly and also error-prone. This PR adds support to maintain proxy URLs along with repository configs in the argocd-cm. Argo CD uses this proxy to access your repository. In case the custom proxy is absent, it defaults to reading the proxy from the env variables.
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* set both http & https proxy variables
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* docs: Argo CD installation manifest file to run test against a real cluster
Signed-off-by: arout <arout@redhat.com>
* Use more expressive sentence
Signed-off-by: arout <arout@redhat.com>
* fix: Fail gracefully when unable to unmarshal cluster secret
Signed-off-by: jannfis <jann@mistrust.net>
* Do not log error details
Signed-off-by: jannfis <jann@mistrust.net>
* Do not return invalid clusters on list
Signed-off-by: jannfis <jann@mistrust.net>
* Additional test
Signed-off-by: jannfis <jann@mistrust.net>
fix: userinfo /v1/session/userinfo should return authenticated=false if token has expired (#6282)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* feat: use RLock and RUnlock for project to improve performance
Signed-off-by: Yujun Zhang <zhangyujun@gmail.com>
* chore: go mod vendor && go mod tidy
Signed-off-by: Yujun Zhang <yujunz@nvidia.com>
Why do we need this change?
=======================
On April 20th, 2021 onelogin removed their v1 implementation of openid. You will get a 410 error if you try to use this url. As such update documentation to rely upon v2 api
What effects does this change have?
=======================
* Updates the onelogin documentation to correctly setup with the v2 implementation of openid
Signed-off-by: Joshua Jackson <joshua.jackson@jobvite-inc.com>
Currently, the usage of standard lua library is always disabled, making it difficult to implement complex health check scripts.
This feat allow admins to control the usage of standard library by setting "health.lua.useOpenLibs" (merged-keys convention)/"resource.customizations.useOpenLibs.<group_kind>"
(split-keys convention) field in argocd-cm ConfigMap.
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
This commit adds support to export and import applicationset objects along with other Argo CD resources
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* fix: add helm dependecies with custom CA
Signed-off-by: Shubham Agarwal <shubhamagarawal19@gmail.com>
* fixed go lint error
Signed-off-by: Shubham Agarwal <shubhamagarawal19@gmail.com>
* ignore existing repos
Signed-off-by: Shubham Agarwal <shubhamagarawal19@gmail.com>
* fix: Enable helm OCI to work for lots of different URLs without having to create a repo for each one
Signed-off-by: May Zhang <may_zhang@intuit.com>
* Revert "fix: Enable helm OCI to work for lots of different URLs without having to create a repo for each one"
This reverts commit a8ae8cf1b9.
* fix: only adding the dependency repo which does not exist in the repo list
Co-authored-by: May Zhang <may_zhang@intuit.com>
* fix(redis-ha): Adding explicit bind to redis and sentinel config to support IPv4 clusters. Closes#5957
Signed-off-by: Ryan Umstead <ryan.umstead@blackrock.com>
* initial draft of adding tests for OCI
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: initial draft of adding tests for OCI
Signed-off-by: May Zhang <may_zhang@intuit.com>
* bring up registry for tests
Signed-off-by: May Zhang <may_zhang@intuit.com>
* bring up registry for tests
Signed-off-by: May Zhang <may_zhang@intuit.com>
* bring up registry for tests
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: just to test if PR is working
Signed-off-by: May Zhang <may_zhang@intuit.com>
* adding additional helm oci dependencies tests
Signed-off-by: May Zhang <may_zhang@intuit.com>
* Fix k8s version in Ingress Configuration doc
Signed-off-by: Isaac Lopez <syak7771@gmail.com>
* docs: Fix k8s version in ingress api
Signed-off-by: Isaac Lopez <syak7771@gmail.com>
This allows to override the Kubernetes configuration used to set up the
Port Forward.
Closes [ISSUE 5905]
Signed-off-by: Raphaël Pinson <raphael.pinson@camptocamp.com>
Allow adding build options that are specific to a kustomize version instead of using the same default options for each version.
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
Since Go 1.11, "go get" uses the modules system. This changes
the location the package is downloaded.
Additionally, "go get -u" does more work than required; changing
this to "go get -d" speeds up the process.
Finally, since Go 1.13 "go get" can also check out tags directly,
avoiding an additional checkout.
Signed-off-by: Patric Stout <github@truebrain.nl>
* fix: add prefix sync for CLI argocd app flag --retry-limit, --retry-backoff-duration, --retry-backoff-factor and --retry-backoff-max-duration
Signed-off-by: May Zhang <may_zhang@intuit.com>
Using exit-code flag we could control the exit status of the command when there's a diff.
Example:
argocd app diff sample --local /path --exit-code=false
The above command will return exit code 0 even if it finds a diff.
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* chore: Fix manifest generation in release and make quay.io the lead
Signed-off-by: jannfis <jann@mistrust.net>
* Fix docker push command
Signed-off-by: jannfis <jann@mistrust.net>
* Separate "online" mode from "production" mode in yarn build
Signed-off-by: William Tam <email.wtam@gmail.com>
* Signed-off-by: William Tam <email.wtam@gmail.com>
Fix typo
* fix: error when reset kustomize parameters from UI
Signed-off-by: May Zhang <may_zhang@intuit.com>
* Revert "fix: error when reset kustomize parameters from UI"
This reverts commit 126f210a
Signed-off-by: May Zhang <may_zhang@intuit.com>
* fix: error when reset kustomize parameters from UI
Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-03-20 11:05:22 -07:00
1405 changed files with 119344 additions and 24721 deletions
If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a question in argocd slack [channel](https://argoproj.github.io/community/join-slack).
<!-- If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a question in argocd slack [channel](https://argoproj.github.io/community/join-slack). -->
Checklist:
@@ -16,19 +16,19 @@ Checklist:
**Describe the bug**
A clear and concise description of what the bug is.
<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
A list of the steps required to reproduce the issue. Best of all, give us the URL to a repository that exhibits this issue.
<!-- A list of the steps required to reproduce the issue. Best of all, give us the URL to a repository that exhibits this issue. -->
**Expected behavior**
A clear and concise description of what you expected to happen.
<!-- A clear and concise description of what you expected to happen. -->
**Screenshots**
If applicable, add screenshots to help explain your problem.
<!-- If applicable, add screenshots to help explain your problem. -->
# TODO: clean up old images once github supports it: https://github.community/t5/How-to-use-Git-and-GitHub/Deleting-images-from-Github-Package-Registry/m-p/41202/thread-id/9811
# TODO: clean up old images once github supports it: https://github.community/t5/How-to-use-Git-and-GitHub/Deleting-images-from-GitHub-Package-Registry/m-p/41202/thread-id/9811
### Argo CD ApplicationSet and Notifications are now part of Argo CD
Two popular [Argoproj Labs](https://github.com/argoproj-labs) projects [Argo CD ApplicationSet](https://github.com/argoproj/applicationset) and
[Argo CD Notifications](https://github.com/argoproj-labs/argocd-notifications) are now part of Argo CD! The default Argo CD installation manifests now
bundle both projects out of the box. Going forward you can expect more tightened integration of these projects into Argo CD.
### New sync and diff strategies
Users can now configure the Application resource to instruct Argo CD to consider the ignore difference setup during the sync process.
In order to do so, add the new sync option RespectIgnoreDifferences=true in the Application resource. Once the sync option is added,
Argo CD won't change ignored fields during the syncing process.
Configuring ignored fields is also easier now. Instead of listing fields one by one users can now leverage the
managedFields metadata to instruct Argo CD about trusted managers and automatically ignore any fields owned by them. A new diff customization
(managedFieldsManagers) is now available allowing users to specify managers the application should trust and to ignore all fields owned by those managers.
Read more about these changes at [New sync and diff strategies in ArgoCD](https://blog.argoproj.io/new-sync-and-diff-strategies-in-argocd-44195d3f8b8c) blog post.
### ARM Images
An officially supported ARM 64 image is now available. Enjoy running Argo CD on your Raspberry Pi! Additionally, the image size was reduced by nearly ~50%
and is only 200MB now. The ARM version of `argocd` CLI is also available and published as a Github release artifact.
### Compact Tree View And Click Application Navigation
The application details page now supports compact application resources tree visualization. Using the "Group Nodes" button, you can collapse the similar resources
into a single group node to remove the clutter and make it easier to understand the state of application resources. You still can get detailed information about the collapsed resources by clicking on the group node. The list of collapsed resources will be available in a sliding panel. Compact resource tree is still too big?
You can use the zoom in and zoom out feature to make it smaller - or even larger!
You no longer need to move back and forth between the application details page and the application list page. Instead you can navigate directly to the required application by clicking the search icon in the application details page title.
### Upgraded Config Management Tools
Both bundled Helm and Kustomize binaries have been upgraded to the latest versions. Kustomize has been upgraded from 4.2.0 to 4.4.1 and Helm has been upgraded from 3.7.1 to 3.8.0.
### Bug Fixes and Performance Enhancements
* Config management tools enhancements:
* The skipCrds flag and ability to ignore missing values files for Helm (#8012, #8003)
* Additional environment variables for Kustomize (#8096)
* Argo CD CLI follows the XDG Base directory standard (#7638)
* Redis is no longer used during SSO login (#8241)
### Features
- feat: Add app list and details page views to navigation history (#7776) (#7937)
- feat: Add skipCrds flag for helm charts (#8012)
- feat: Add visual indicator for newly created pods (#8006)
- feat: Added a new Helm option ignoreMissingValueFiles (#7767) (#8003)
- feat: Allow configuring system wide ignore differences for all resources (#8224)
- feat: Allow escaping dollar in Envsubst (#7961)
- feat: Allow external links on Application (#3487) (#8231)
- feat: Allow selecting application on detail page (#8176)
- feat: Bundle applicationset-controller with argocd (#8148)
- feat: Enable specifying root ca for oidc (#6712)
- feat: Expose ARGOCD_APP_NAME to the `kustomize build` command (#8096)
- feat: Ignore differences owned by trusted managers from managedFields (#7869)
- feat: New sync option to use ignore diff configs during sync (#8078)
- feat: Provide address flag for admin dashboard command (#8095)
- feat: Store "Group Nodes" button state in application details preferences (#8036)
- feat: Support specifying cluster by name in addition to API server URL in Cluster API (#8077)
- feat: Support XDG Base directory standard (#7638) (#7791)
- feat: Use encrypted cookie to store OAuth2 state nonce (instead of redis) (#8241)
- feat: Build images on PR and conditionally build arm64 image on push (#8108)
### Bug Fixes
- fix: Add "Restarting MinIO" status to MiniO Tenant health check (#8191)
- fix: Add all resources in list view (#7295)
- fix: Adding pagination to grouped nodes sliding panel#7837 (#7915)
- fix: Allow all resources to add external links (#7923)
- fix: Always call ValidateDestination (#7976)
- fix: Application exist panic when execute api call (#8188)
- fix: Application-icons-alignment (#8054)
- fix: Controller panics if resource manifest has incorrect annotation (#8022)
- fix: Correctly handle project field during partial cluster update (#7994)
- fix: Default value for retry validation #8055 (#8064)
- fix: Fix a possible crash when parsing RBAC (#8165)
- fix: Grouped node list missing resources on Compact resources view #8014 (#8018)
- fix: Issue with headless installation (#7958)
- fix: Issue with project scoped resources (#8048)
- fix: Kubernetes labels normalization for Prometheus (#7925)
- fix: Nested Refresh dropdown does not work on Application Details page #1524 (#7950)
- fix: Network line colors and menu icon alignment (#8059)
- fix: Opening app details shows UI error on some apps (#8016) (#8019)
- fix: Parse to correct uint32 type (#8177)
- fix: Prevent possible nil-pointer deref in normalizer (#8185)
- fix: Prevent possible out-of-bounds access when loading policies (#8186)
- fix: Provide a semantic version parsed version for KUBE_VERSION (#8250)
- fix: Refreshing label toast (#7979)
- fix: Resource details page crashes when resource is not deployed and hide managed fields is selected (#7971)
- fix: Retry disabled text (#8004)
- fix: Route health check stuck in 'Progressing' (#8170)
- fix: Sync window panel is crashed if resource name not contain letters (#8053)
- fix: Targetervision compatible without prefix refs/heads or refs/tags (#7939)
- fix: Trailing line in Filter Dropdown Menus #7821 (#8001)
- fix: Webhook URL matching edge cases (#7981)
- fix(ui): Use consistent case for diff modes (#7945)
- fix: Use gRPC timeout for sidecar CMPs (#8131) (#8236)
### Other
- chore: Bump go-jsonnet to v0.18.0 (#8011)
- chore: Escape proj in regex (#7985)
- chore: Exclude argocd-server rbac for core-install (#8234)
- chore: Log out the resource triggering reconciliation (#8192)
- chore: Migrate to use golang-jwt/jwt v4.2.0 (#8136)
- chore: Move resolveRevision from api-server to repo-server (#7966)
- chore: Update notifications version (#8267)
- chore: Update slack version (#8299)
- chore: Update to Redis 6.2.4 (#8157)
- chore: Upgrade awscli to 2.4.6 and remove python deps (#7947)
- chore: Upgrade base image to ubuntu:21.10 (#8230)
- chore: Upgrade dex to v2.30.2 (https://github.com/dexidp/dex/issues/2326) (#8237)
- chore: Upgrade gitops engine (#8288)
- chore: Upgrade golang to 1.17.6 (#8229)
- chore: Upgrade helm to most recent version (v3.7.2) (#8226)
- chore: Upgrade k8s client to v1.23 (#8213)
- chore: Upgrade kustomize to most recent version (v4.4.1) (#8227)
- refactor: Introduce 'byClusterName' secret index to speedup cluster server URL lookup (#8133)
- refactor: Move project filtering to server side (#8102)
## v2.2.3 (2022-01-18)
- fix: Application exist panic when execute api call (#8188)
- fix: Route health check stuck in 'Progressing' (#8170)
- refactor: Introduce 'byClusterName' secret index to speedup cluster server URL lookup (#8133)
- chore: Update to Redis 6.2.4 (#8157) (#8158)
## v2.2.2 (2021-12-31)
- fix: Issue with project scoped resources (#8048)
- fix: Escape proj in regex (#7985)
- fix: Default value for retry validation #8055 (#8064)
- fix: Sync window panel is crashed if resource name not contain letters (#8053)
- fix: Upgrade github.com/argoproj/gitops-engine to v0.5.2
- fix: Retry disabled text (#8004)
- fix: Opening app details shows UI error on some apps (#8016) (#8019)
- fix: Correctly handle project field during partial cluster update (#7994)
- fix: Cluster API does not support updating labels and annotations (#7901)
## v2.2.1 (2021-12-16)
- fix: Resource details page crashes when resource is not deployed and hide managed fields is selected (#7971)
The project scoped repositories andclusters is a feature that simplifies registering the repositories and cluster credentials.
Instead of requiring operators to set up in advance all clusters and git repositories that can be used, developers can now do
this on their own in a self-service manner.
### Config Management PluginsV2
The Config Management PluginsV2 is set of enhancement of the existing config management plugins feature.
The list includes improved installation experience, ability to package plugin into a separate image and
improved plugin manifests discovery.
### Resource tracking
Argo CD has traditionally tracked the resources it manages by the well-known "app.kubernetes.io/instance" property.
While using this property works ok in simple scenarios, it also has several limitations. ArgoCD now allows you to use
a new annotation (argocd.argoproj.io/tracking-id) for tracking your resources. Using this annotation is a much more flexible approach
as there are no conflicts with other Kubernetes tools, and you can easily install multiple Argo CD instances on the same clusters.
### Bug Fixes and Performance Enhancements
* Argo CD API server caches RBAC checks that significantly improves the GET /api/v1/applications API performance (#7587)
* Argo CD RBAC supports regex matches (#7165)
* Health check support for KubeVirt (#7176), Cassandra (#7017), Openshift Route (#7112), DeploymentConfig (#7114), Confluent (#6957) and SparkApplication (#7434) CRDs.
* Persistent banner (#7312) with custom positioning (#7462)
* Cluster name support in project destinations (#7198)
* around 30 more features and a total of 84 bug fixes
## v2.1.7 (2021-12-14)
- fix: issue with keepalive (#7861)
- fix nil pointer dereference error (#7905)
- fix: env vars to tune cluster cache were broken (#7779)
- fix: upgraded gitops engine to v0.4.2 (fixes #7561)
## v2.1.6 (2021-11-16)
- fix: don't use revision caching during app creation (#7508)
@@ -198,7 +520,7 @@ In addition to new features and enhancements, we’ve fixed more than 50 bugs an
## v1.7.5 (2020-09-15)
- fix: app create with -f should not ignore other options (#4322)
- fix: limit concurrent list requests accross all clusters (#4328)
- fix: limit concurrent list requests across all clusters (#4328)
- fix: fix possible deadlock in /v1/api/stream/applications and /v1/api/application APIs (#4315)
- fix: WatchResourceTree does not enforce RBAC (#4311)
- fix: app refresh API should use app resource version (#4303)
@@ -332,7 +654,7 @@ use cases, such as bootstrapping a Kubernetes cluster, or decentralized manageme
#### Other
- refactoring: Gitops engine (#3066)
- refactoring: GitOps engine (#3066)
## v1.5.8 (2020-06-16)
@@ -395,7 +717,7 @@ customizations, custom resource health checks, and more.
### Other
* New Project and Application CRD settings ([#2900](https://github.com/argoproj/argo-cd/issues/2900), [#2873](https://github.com/argoproj/argo-cd/issues/2873)) that allows customizing Argo CD behavior.
* Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with Openshift.
* Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with OpenShift.
#### Enhancements
@@ -427,7 +749,7 @@ customizations, custom resource health checks, and more.
* fix for helm repo add with flag --insecure-skip-server-verification (#3420)
* fix: app diff --local support for helm repo. #3151 (#3407)
* fix: Syncing apps incorrectly states "app synced", but this is not true (#3286)
* fix: for jsonnet when it is localed in nested subdirectory and uses import (#3372)
* fix: for jsonnet when it is located in nested subdirectory and uses import (#3372)
- fix: Correct usage text for repo add command regarding insecure repos (#3068)
@@ -650,10 +972,10 @@ More documentation and tools are coming in patch releases.
The Argo CD deletes all **in-flight** hooks if you terminate running sync operation. The hook state assessment change implemented in this release the Argo CD enables detection of
an in-flight state for all Kubernetes resources including `Deployment`, `PVC`, `StatefulSet`, `ReplicaSet` etc. So if you terminate the sync operation that has, for example,
`StatefulSet` hook that is `Progressing` it will be deleted. The long-running jobs are not supposed to be used as a sync hook and you should consider using
+ Resource action equivalent to `kubectl rollout restart` (#2177)
@@ -1005,7 +1327,7 @@ Support for Git LFS enabled repositories - now you can store Helm charts as tar
- Wait for CRD creation during sync process (#1940)
- Added a button to select out of sync items in the sync panel (#1902)
- Proper handling of an excluded resource in an application (#1621)
- Stop repeating logs on stoped container (#1614)
- Stop repeating logs on stopped container (#1614)
- Fix git repo url parsing on application list view (#2174)
- Fix nil pointer dereference error during app reconciliation (#2146)
- Fix history api fallback implementation to support app names with dots (#2114)
@@ -1061,7 +1383,7 @@ optimized which significantly reduced the number of Git requests. With v1.1 rele
#### User Defined Application Metadata
User-defined Application metadata enables the user to define a list of useful URLs for their specific application and expose those links on the UI
(e.g. reference tp a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing
(e.g. reference to a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing
systems by making it easier to find other components inside and outside Argo CD.
### Deprecation Notice
@@ -1425,7 +1747,7 @@ has a minimum client version of v0.12.0. Older CLI clients will be rejected.
* Deprecate componentParameterOverrides in favor of source specific config (#1207)
* Support talking to Dex using local cluster address instead of public address (#1211)
* Use Recreate deployment strategy for controller (#1315)
* Honor os environment variables for helm commands (#1306) (@1337andre)
* Honor OS environment variables for helm commands (#1306) (@1337andre)
* Disable CGO_ENABLED for server/controller binaries (#1286)
* Documentation fixes and improvements (@twz123, @yann-soubeyrand, @OmerKahani, @dulltz)
- Fix CRD creation/deletion handling (#1249)
@@ -1917,8 +2239,8 @@ RBAC policy rules, need to be rewritten to include one extra column with the eff
+ Override parameters
## v0.1.0 (2018-03-12)
+ Define app in Github with dev and preprod environment using KSonnet
+ Define app in GitHub with dev and preprod environment using KSonnet
+ Add cluster Diff App with a cluster Deploy app in a cluster
+ Deploy a new version of the app in the cluster
+ App sync based on Github app config change - polling only
+ App sync based on GitHub app config change - polling only
+ Basic UI: App diff between Git and k8s cluster for all environments Basic GUI
@@ -45,6 +45,11 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h
### Blogs and Presentations
1. [Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo](https://github.com/terrytangyuan/awesome-argo)
1. [Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD](https://blog.akuity.io/unveil-the-secret-ingredients-of-continuous-delivery-at-enterprise-scale-with-argo-cd-7c5b4057ee49)
1. [GitOps Without Pipelines With ArgoCD Image Updater](https://youtu.be/avPUQin9kzU)
1. [Combining Argo CD (GitOps), Crossplane (Control Plane), And KubeVela (OAM)](https://youtu.be/eEcgn_gU3SM)
1. [How to Apply GitOps to Everything - Combining Argo CD and Crossplane](https://youtu.be/yrj4lmScKHQ)
1. [Couchbase - How To Run a Database Cluster in Kubernetes Using Argo CD](https://youtu.be/nkPoPaVzExY)
1. [Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts](https://youtu.be/XNXJtxkUKeY)
1. [Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews](https://youtu.be/cpAaI8p4R60)
@@ -52,10 +57,9 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h
1. [Creating Temporary Preview Environments Based On Pull Requests With Argo CD And Codefresh](https://codefresh.io/continuous-deployment/creating-temporary-preview-environments-based-pull-requests-argo-cd-codefresh/)
1. [Tutorial: Everything You Need To Become A GitOps Ninja](https://www.youtube.com/watch?v=r50tRQjisxw) 90m tutorial on GitOps and Argo CD.
1. [Comparison of Argo CD, Spinnaker, Jenkins X, and Tekton](https://www.inovex.de/blog/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x/)
1. [Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2](https://medium.com/ibm-cloud/simplify-and-automate-deployments-using-gitops-with-ibm-multicloud-manager-3-1-2-4395af317359)
1. [Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2](https://www.ibm.com/cloud/blog/simplify-and-automate-deployments-using-gitops-with-ibm-multicloud-manager-3-1-2)
1. [GitOps for Kubeflow using Argo CD](https://v0-6.kubeflow.org/docs/use-cases/gitops-for-kubeflow/)
1. [GitOps Toolsets on Kubernetes with CircleCI and Argo CD](https://www.digitalocean.com/community/tutorials/webinar-series-gitops-tool-sets-on-kubernetes-with-circleci-and-argo-cd)
1. [Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager](https://www.ibm.com/blogs/bluemix/2019/02/simplify-and-automate-deployments-using-gitops-with-ibm-multicloud-manager-3-1-2/)
1. [CI/CD in Light Speed with K8s and Argo CD](https://www.youtube.com/watch?v=OdzH82VpMwI&feature=youtu.be)
1. [Machine Learning as Code](https://www.youtube.com/watch?v=VXrGp5er1ZE&t=0s&index=135&list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU). Among other things, describes how Kubeflow uses Argo CD to implement GitOPs for ML
1. [Argo CD - GitOps Continuous Delivery for Kubernetes](https://www.youtube.com/watch?v=aWDIQMbp1cc&feature=youtu.be&t=1m4s)
@@ -67,3 +71,5 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h
1. [Setting up Argo CD with Helm](https://www.arthurkoziel.com/setting-up-argocd-with-helm/)
1. [Applied GitOps with Argo CD](https://thenewstack.io/applied-gitops-with-argocd/)
1. [Solving configuration drift using GitOps with Argo CD](https://www.cncf.io/blog/2020/12/17/solving-configuration-drift-using-gitops-with-argo-cd/)
1. [Decentralized GitOps over environments](https://blogs.sap.com/2021/05/06/decentralized-gitops-over-environments/)
1. [How GitOps and Operators mark the rise of Infrastructure-As-Software](https://paytmlabs.com/blog/2021/10/how-to-improve-operational-work-with-operators-and-gitops/)
"summary":"ListApps returns list of apps in the repe",
"summary":"ListApps returns list of apps in the repo",
"operationId":"RepositoryService_ListApps",
"parameters":[
{
@@ -2661,6 +2744,16 @@
"type":"string",
"name":"revision",
"in":"query"
},
{
"type":"string",
"name":"appName",
"in":"query"
},
{
"type":"string",
"name":"appProject",
"in":"query"
}
],
"responses":{
@@ -2857,6 +2950,18 @@
"description":"Github App Enterprise base url if empty will default to https://api.github.com.",
"name":"githubAppEnterpriseBaseUrl",
"in":"query"
},
{
"type":"string",
"description":"HTTP/HTTPS proxy to access the repository.",
"name":"proxy",
"in":"query"
},
{
"type":"string",
"description":"Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity.",
"name":"project",
"in":"query"
}
],
"responses":{
@@ -3053,7 +3158,7 @@
},
{
"type":"string",
"description":"the selector to to restrict returned list to applications only with matched labels.",
"description":"the selector to restrict returned list to applications only with matched labels.",
"name":"selector",
"in":"query"
},
@@ -3477,6 +3582,20 @@
}
}
},
"clusterClusterID":{
"type":"object",
"title":"ClusterID holds a cluster server URL or cluster name",
"properties":{
"type":{
"type":"string",
"title":"type is the type of the specified cluster identifier ( \"server\" - default, \"name\" )"
},
"value":{
"type":"string",
"title":"value holds the cluster server URL or cluster name"
}
}
},
"clusterClusterResponse":{
"type":"object"
},
@@ -3517,6 +3636,13 @@
"type":"object",
"title":"Help settings",
"properties":{
"binaryUrls":{
"type":"object",
"title":"the URLs for downloading argocd binaries",
"additionalProperties":{
"type":"string"
}
},
"chatText":{
"type":"string",
"title":"the text for getting chat help, defaults to \"Chat now!\""
@@ -3599,6 +3725,9 @@
"oidcConfig":{
"$ref":"#/definitions/clusterOIDCConfig"
},
"passwordPattern":{
"type":"string"
},
"plugins":{
"type":"array",
"items":{
@@ -3614,9 +3743,18 @@
"statusBadgeEnabled":{
"type":"boolean"
},
"trackingMethod":{
"type":"string"
},
"uiBannerContent":{
"type":"string"
},
"uiBannerPermanent":{
"type":"boolean"
},
"uiBannerPosition":{
"type":"string"
},
"uiBannerURL":{
"type":"string"
},
@@ -3668,6 +3806,32 @@
}
}
},
"projectDetailedProjectsResponse":{
"type":"object",
"properties":{
"clusters":{
"type":"array",
"items":{
"$ref":"#/definitions/v1alpha1Cluster"
}
},
"globalProjects":{
"type":"array",
"items":{
"$ref":"#/definitions/v1alpha1AppProject"
}
},
"project":{
"$ref":"#/definitions/v1alpha1AppProject"
},
"repositories":{
"type":"array",
"items":{
"$ref":"#/definitions/v1alpha1Repository"
}
}
}
},
"projectEmptyResponse":{
"type":"object"
},
@@ -3948,6 +4112,12 @@
"type":"object",
"title":"RepoAppDetailsQuery contains query information for app details request",
"properties":{
"appName":{
"type":"string"
},
"appProject":{
"type":"string"
},
"source":{
"$ref":"#/definitions/v1alpha1ApplicationSource"
}
@@ -4274,6 +4444,10 @@
"description":"Operation is the type of operation which lead to this ManagedFieldsEntry being created.\nThe only valid values for this field are 'Apply' and 'Update'.",
"type":"string"
},
"subresource":{
"description":"Subresource is the name of the subresource used to update that object, or\nempty string if the object was updated through the main resource. The\nvalue of this field is used to distinguish between managers, even if they\nshare the same name. For example, a status update will be distinct from a\nregular update using the same manager name.\nNote that the APIVersion field is not related to the Subresource field and\nit always corresponds to the version of the main resource.",
"type":"string"
},
"time":{
"$ref":"#/definitions/v1Time"
}
@@ -4428,7 +4602,7 @@
},
"v1ObjectReference":{
"type":"object",
"title":"ObjectReference contains enough information to let you inspect or modify the referred object.\n---\nNew uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.\n 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.\n 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular\n restrictions like, \"must refer only to types A and B\" or \"UID not honored\" or \"name must be restricted\".\n Those cannot be well described when embedded.\n 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.\n 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity\n during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple\n and the version of the actual struct is irrelevant.\n 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type\n will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.\nInstead of using this type, create a locally provided and used type that is well-focused on your reference.\nFor example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object",
"title":"ObjectReference contains enough information to let you inspect or modify the referred object.\n---\nNew uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.\n 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.\n 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular\n restrictions like, \"must refer only to types A and B\" or \"UID not honored\" or \"name must be restricted\".\n Those cannot be well described when embedded.\n 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.\n 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity\n during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple\n and the version of the actual struct is irrelevant.\n 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type\n will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.\nInstead of using this type, create a locally provided and used type that is well-focused on your reference.\nFor example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+structType=atomic",
"properties":{
"apiVersion":{
"type":"string",
@@ -4461,8 +4635,8 @@
}
},
"v1OwnerReference":{
"description":"OwnerReference contains enough information to let you identify an owning\nobject. An owning object must be in the same namespace as the dependent, or\nbe cluster-scoped, so there is no namespace field.",
"type":"object",
"title":"OwnerReference contains enough information to let you identify an owning\nobject. An owning object must be in the same namespace as the dependent, or\nbe cluster-scoped, so there is no namespace field.\n+structType=atomic",
"properties":{
"apiVersion":{
"description":"API version of the referent.",
@@ -4794,6 +4968,10 @@
"$ref":"#/definitions/v1alpha1HelmFileParameter"
}
},
"ignoreMissingValueFiles":{
"type":"boolean",
"title":"IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values"
},
"parameters":{
"type":"array",
"title":"Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation",
@@ -4801,10 +4979,18 @@
"$ref":"#/definitions/v1alpha1HelmParameter"
}
},
"passCredentials":{
"type":"boolean",
"title":"PassCredentials pass credentials to all domains (Helm's --pass-credentials)"
},
"releaseName":{
"type":"string",
"title":"ReleaseName is the Helm release name to use. If omitted it will use the application name"
"title":"ValuesFiles is a list of Helm value files to use when generating a template",
@@ -4884,6 +5070,14 @@
"type":"string"
}
},
"forceCommonAnnotations":{
"type":"boolean",
"title":"ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps"
},
"forceCommonLabels":{
"type":"boolean",
"title":"ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps"
},
"images":{
"type":"array",
"title":"Images is a list of Kustomize image override specifications",
@@ -5089,6 +5283,17 @@
"type":"object",
"title":"Cluster is the definition of a cluster resource",
"properties":{
"annotations":{
"type":"object",
"title":"Annotations for cluster secret metadata",
"additionalProperties":{
"type":"string"
}
},
"clusterResources":{
"description":"Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.",
"type":"boolean"
},
"config":{
"$ref":"#/definitions/v1alpha1ClusterConfig"
},
@@ -5098,6 +5303,13 @@
"info":{
"$ref":"#/definitions/v1alpha1ClusterInfo"
},
"labels":{
"type":"object",
"title":"Labels for cluster secret metadata",
"additionalProperties":{
"type":"string"
}
},
"name":{
"type":"string",
"title":"Name of the cluster. If omitted, will use the server address"
@@ -5109,6 +5321,10 @@
"type":"string"
}
},
"project":{
"type":"string",
"title":"Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity"
},
"refreshRequestedAt":{
"$ref":"#/definitions/v1Time"
},
@@ -5176,6 +5392,13 @@
"type":"object",
"title":"ClusterInfo contains information about the cluster",
"properties":{
"apiVersions":{
"type":"array",
"title":"APIVersions contains list of API versions supported by the cluster",
"items":{
"type":"string"
}
},
"applicationsCount":{
"type":"string",
"format":"int64",
@@ -5248,6 +5471,9 @@
"init":{
"$ref":"#/definitions/v1alpha1Command"
},
"lockRepo":{
"type":"boolean"
},
"name":{
"type":"string"
}
@@ -5643,10 +5869,25 @@
},
"v1alpha1OverrideIgnoreDiff":{
"type":"object",
"title":"TODO: describe this type",
"title":"OverrideIgnoreDiff contains configurations about how fields should be ignored during diffs between\nthe desired state and live state",
"properties":{
"jSONPointers":{
"type":"array",
"title":"JSONPointers is a JSON path list following the format defined in RFC4627 (https://datatracker.ietf.org/doc/html/rfc6902#section-3)",
"items":{
"type":"string"
}
},
"jqPathExpressions":{
"type":"array",
"title":"JQPathExpressions is a JQ path list that will be evaludated during the diff process",
"items":{
"type":"string"
}
},
"managedFieldsManagers":{
"type":"array",
"title":"ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the\ndesired state defined in the SCM and won't be displayed in diffs",
"items":{
"type":"string"
}
@@ -5681,7 +5922,7 @@
},
"policies":{
"type":"array",
"title":"Policies Stores a list of casbin formated strings that define access policies for the role in the project",
"title":"Policies Stores a list of casbin formatted strings that define access policies for the role in the project",
"items":{
"type":"string"
}
@@ -5692,6 +5933,10 @@
"type":"object",
"title":"RepoCreds holds the definition for repository credentials",
"properties":{
"enableOCI":{
"type":"boolean",
"title":"EnableOCI specifies whether helm-oci support should be enabled for this repo"
},
"githubAppEnterpriseBaseUrl":{
"type":"string",
"title":"GithubAppEnterpriseBaseURL specifies the GitHub API URL for GitHub app authentication. If empty will default to https://api.github.com"
@@ -5726,6 +5971,10 @@
"type":"string",
"title":"TLSClientCertKey specifies the TLS client cert key for authenticating at the repo server"
},
"type":{
"description":"Type specifies the type of the repoCreds. Can be either \"git\" or \"helm. \"git\" is assumed if empty or absent.",
"type":"string"
},
"url":{
"type":"string",
"title":"URL is the URL that this credentials matches to"
@@ -5804,6 +6053,14 @@
"type":"string",
"title":"Password contains the password or PAT used for authenticating at the remote repository"
},
"project":{
"type":"string",
"title":"Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity"
},
"proxy":{
"type":"string",
"title":"Proxy specifies the HTTP/HTTPS proxy used to access the repo"
},
"repo":{
"type":"string",
"title":"Repo contains the URL to the remote repository"
@@ -5978,6 +6235,12 @@
"group":{
"type":"string"
},
"jqPathExpressions":{
"type":"array",
"items":{
"type":"string"
}
},
"jsonPointers":{
"type":"array",
"items":{
@@ -5987,6 +6250,13 @@
"kind":{
"type":"string"
},
"managedFieldsManagers":{
"type":"array",
"title":"ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the\ndesired state defined in the SCM and won't be displayed in diffs",
"items":{
"type":"string"
}
},
"name":{
"type":"string"
},
@@ -6089,6 +6359,9 @@
"items":{
"$ref":"#/definitions/v1alpha1KnownTypeField"
}
},
"useOpenLibs":{
"type":"boolean"
}
}
},
@@ -6479,6 +6752,10 @@
"schedule":{
"type":"string",
"title":"Schedule is the time the window will begin, specified in cron format"
},
"timeZone":{
"type":"string",
"title":"TimeZone of the sync that will be applied to the schedule"
command.Flags().Int64Var(&appResyncPeriod,"app-resync",defaultAppResyncPeriod,"Time period in seconds for application resync.")
command.Flags().StringVar(&repoServerAddress,"repo-server",common.DefaultRepoServerAddr,"Repo server address.")
command.Flags().IntVar(&repoServerTimeoutSeconds,"repo-server-timeout-seconds",60,"Repo server RPC call timeout seconds.")
command.Flags().IntVar(&statusProcessors,"status-processors",1,"Number of application status processors")
command.Flags().IntVar(&operationProcessors,"operation-processors",1,"Number of application operation processors")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat","text","Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel","info","Set the logging level. One of: debug|info|warn|error")
command.Flags().Int64Var(&appResyncPeriod,"app-resync",int64(env.ParseDurationFromEnv("ARGOCD_RECONCILIATION_TIMEOUT",defaultAppResyncPeriod*time.Second,0,math.MaxInt64).Seconds()),"Time period in seconds for application resync.")
command.Flags().StringVar(&repoServerAddress,"repo-server",env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER",common.DefaultRepoServerAddr),"Repo server address.")
command.Flags().IntVar(&repoServerTimeoutSeconds,"repo-server-timeout-seconds",env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS",60,0,math.MaxInt64),"Repo server RPC call timeout seconds.")
command.Flags().IntVar(&statusProcessors,"status-processors",env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS",20,0,math.MaxInt32),"Number of application status processors")
command.Flags().IntVar(&operationProcessors,"operation-processors",env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS",10,0,math.MaxInt32),"Number of application operation processors")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat",env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT","text"),"Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel",env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL","info"),"Set the logging level. One of: debug|info|warn|error")
command.Flags().IntVar(&glogLevel,"gloglevel",0,"Set the glog logging level")
command.Flags().IntVar(&metricsPort,"metrics-port",common.DefaultPortArgoCDMetrics,"Start metrics server on given port")
command.Flags().DurationVar(&metricsCacheExpiration,"metrics-cache-expiration",0*time.Second,"Prometheus metrics cache expiration (disabled by default. e.g. 24h0m0s)")
command.Flags().IntVar(&selfHealTimeoutSeconds,"self-heal-timeout-seconds",5,"Specifies timeout between application self heal attempts")
command.Flags().DurationVar(&metricsCacheExpiration,"metrics-cache-expiration",env.ParseDurationFromEnv("ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION",0*time.Second,0,math.MaxInt64),"Prometheus metrics cache expiration (disabled by default. e.g. 24h0m0s)")
command.Flags().IntVar(&selfHealTimeoutSeconds,"self-heal-timeout-seconds",env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS",5,0,math.MaxInt32),"Specifies timeout between application self heal attempts")
command.Flags().Int64Var(&kubectlParallelismLimit,"kubectl-parallelism-limit",20,"Number of allowed concurrent kubectl fork/execs. Any value less the 1 means no limit.")
command.Flags().BoolVar(&repoServerPlaintext,"repo-server-plaintext",false,"Disable TLS on connections to repo server")
command.Flags().BoolVar(&repoServerStrictTLS,"repo-server-strict-tls",false,"Whether to use strict validation of the TLS cert presented by the repo server")
command.Flags().BoolVar(&repoServerPlaintext,"repo-server-plaintext",env.ParseBoolFromEnv("ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT",false),"Disable TLS on connections to repo server")
command.Flags().BoolVar(&repoServerStrictTLS,"repo-server-strict-tls",env.ParseBoolFromEnv("ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS",false),"Whether to use strict validation of the TLS cert presented by the repo server")
command.Flags().StringSliceVar(&metricsAplicationLabels,"metrics-application-labels",[]string{},"List of Application labels that will be added to the argocd_application_labels metric")
Long:"ArgoCD ConfigManagementPlugin Server is an internal service which runs as sidecar container in reposerver deployment. It can be configured by following options.",
command.Flags().StringVar(&argocdRepoServer,"argocd-repo-server","argocd-repo-server:8081","Argo CD repo server address")
command.Flags().BoolVar(&argocdRepoServerPlaintext,"argocd-repo-server-plaintext",false,"Use a plaintext client (non-TLS) to connect to repository server")
command.Flags().BoolVar(&argocdRepoServerStrictTLS,"argocd-repo-server-strict-tls",false,"Perform strict validation of TLS certificates when connecting to repo server")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat","text","Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel","info","Set the logging level. One of: debug|info|warn|error")
command.Flags().Int64Var(¶llelismLimit,"parallelismlimit",0,"Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit.")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat",env.StringFromEnv("ARGOCD_REPO_SERVER_LOGFORMAT","text"),"Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel",env.StringFromEnv("ARGOCD_REPO_SERVER_LOGLEVEL","info"),"Set the logging level. One of: debug|info|warn|error")
command.Flags().Int64Var(¶llelismLimit,"parallelismlimit",int64(env.ParseNumFromEnv("ARGOCD_REPO_SERVER_PARALLELISM_LIMIT",0,0,math.MaxInt32)),"Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit.")
command.Flags().IntVar(&listenPort,"port",common.DefaultPortRepoServer,"Listen on given port for incoming connections")
command.Flags().IntVar(&metricsPort,"metrics-port",common.DefaultPortRepoServerMetrics,"Start metrics server on given port")
command.Flags().BoolVar(&disableTLS,"disable-tls",false,"Disable TLS on the gRPC endpoint")
command.Flags().BoolVar(&disableTLS,"disable-tls",env.ParseBoolFromEnv("ARGOCD_REPO_SERVER_DISABLE_TLS",false),"Disable TLS on the gRPC endpoint")
command.Flags().StringVar(&maxCombinedDirectoryManifestsSize,"max-combined-directory-manifests-size",env.StringFromEnv("ARGOCD_REPO_SERVER_MAX_COMBINED_DIRECTORY_MANIFESTS_SIZE","10M"),"Max combined size of manifest files in a directory-type Application")
command.Flags().StringVar(&baseHRef,"basehref","/","Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /")
command.Flags().StringVar(&rootPath,"rootpath","","Used if Argo CD is running behind reverse proxy under subpath different from /")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat","text","Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel","info","Set the logging level. One of: debug|info|warn|error")
command.Flags().BoolVar(&insecure,"insecure",env.ParseBoolFromEnv("ARGOCD_SERVER_INSECURE",false),"Run server without TLS")
command.Flags().StringVar(&staticAssetsDir,"staticassets",env.StringFromEnv("ARGOCD_SERVER_STATIC_ASSETS","/shared/app"),"Directory path that contains additional static assets")
command.Flags().StringVar(&baseHRef,"basehref",env.StringFromEnv("ARGOCD_SERVER_BASEHREF","/"),"Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /")
command.Flags().StringVar(&rootPath,"rootpath",env.StringFromEnv("ARGOCD_SERVER_ROOTPATH",""),"Used if Argo CD is running behind reverse proxy under subpath different from /")
command.Flags().StringVar(&cmdutil.LogFormat,"logformat",env.StringFromEnv("ARGOCD_SERVER_LOGFORMAT","text"),"Set the logging format. One of: text|json")
command.Flags().StringVar(&cmdutil.LogLevel,"loglevel",env.StringFromEnv("ARGOCD_REPO_SERVER_LOGLEVEL","info"),"Set the logging level. One of: debug|info|warn|error")
command.Flags().IntVar(&glogLevel,"gloglevel",0,"Set the glog logging level")
command.Flags().StringVar(&repoServerAddress,"repo-server",common.DefaultRepoServerAddr,"Repo server address")
command.Flags().StringVar(&dexServerAddress,"dex-server",common.DefaultDexServerAddr,"Dex server address")
command.Flags().StringVar(&repoServerAddress,"repo-server",env.StringFromEnv("ARGOCD_SERVER_REPO_SERVER",common.DefaultRepoServerAddr),"Repo server address")
command.Flags().StringVar(&dexServerAddress,"dex-server",env.StringFromEnv("ARGOCD_SERVER_DEX_SERVER",common.DefaultDexServerAddr),"Dex server address")
command.Flags().IntVar(&listenPort,"port",common.DefaultPortAPIServer,"Listen on given port")
command.Flags().IntVar(&metricsPort,"metrics-port",common.DefaultPortArgoCDAPIServerMetrics,"Start metrics on given port")
command.Flags().IntVar(&repoServerTimeoutSeconds,"repo-server-timeout-seconds",60,"Repo server RPC call timeout seconds.")
command.Flags().StringVar(&frameOptions,"x-frame-options","sameorigin","Set X-Frame-Options header in HTTP responses to `value`. To disable, set to \"\".")
command.Flags().BoolVar(&repoServerPlaintext,"repo-server-plaintext",false,"Use a plaintext client (non-TLS) to connect to repository server")
command.Flags().BoolVar(&repoServerStrictTLS,"repo-server-strict-tls",false,"Perform strict validation of TLS certificates when connecting to repo server")
command.Flags().IntVar(&repoServerTimeoutSeconds,"repo-server-timeout-seconds",env.ParseNumFromEnv("ARGOCD_SERVER_REPO_SERVER_TIMEOUT_SECONDS",60,0,math.MaxInt64),"Repo server RPC call timeout seconds.")
command.Flags().StringVar(&frameOptions,"x-frame-options",env.StringFromEnv("ARGOCD_SERVER_X_FRAME_OPTIONS","sameorigin"),"Set X-Frame-Options header in HTTP responses to `value`. To disable, set to \"\".")
command.Flags().BoolVar(&repoServerPlaintext,"repo-server-plaintext",env.ParseBoolFromEnv("ARGOCD_SERVER_REPO_SERVER_PLAINTEXT",false),"Use a plaintext client (non-TLS) to connect to repository server")
command.Flags().BoolVar(&repoServerStrictTLS,"repo-server-strict-tls",env.ParseBoolFromEnv("ARGOCD_SERVER_REPO_SERVER_STRICT_TLS",false),"Perform strict validation of TLS certificates when connecting to repo server")
command.Flags().IntVar(&replicas,"replicas",0,"Application controller replicas count. Inferred from number of running controller pods if not specified")
command.Flags().BoolVar(&portForwardRedis,"port-forward-redis",true,"Automatically port-forward ha proxy redis from current namespace?")
command.PersistentFlags().StringVar(&pathOpts.LoadingRules.ExplicitPath,pathOpts.ExplicitFileFlag,pathOpts.LoadingRules.ExplicitPath,"use a particular kubeconfig file")
command.Flags().StringVar(&bearerToken,"bearer-token","","Authentication token that should be used to access K8S API server")
command.Flags().StringVarP(&outputFormat,"output","o","yaml","Output format. One of: json|yaml")
command.Flags().IntVar(&replicas,"replicas",0,"Application controller replicas count. Inferred from number of running controller pods if not specified")
command.Flags().BoolVar(&portForwardRedis,"port-forward-redis",true,"Automatically port-forward ha proxy redis from current namespace?")
command.Flags().BoolVar(&dryRun,"dry-run",true,"Print what will be performed")
command.Flags().BoolVar(&clusterResources,"cluster-resources",false,"Indicates if cluster level resources should be managed.")
command.Flags().IntVar(&namespacesCount,"max-namespace-count",0,"Max number of namespaces that cluster should managed managed namespaces is less or equal to specified count")
command.Flags().IntVar(&replicas,"replicas",0,"Application controller replicas count. Inferred from number of running controller pods if not specified")
command.Flags().BoolVar(&portForwardRedis,"port-forward-redis",true,"Automatically port-forward ha proxy redis from current namespace?")
command.PersistentFlags().StringVar(&pathOpts.LoadingRules.ExplicitPath,pathOpts.ExplicitFileFlag,pathOpts.LoadingRules.ExplicitPath,"use a particular kubeconfig file")
command.Flags().StringVar(&bearerToken,"bearer-token","","Authentication token that should be used to access K8S API server")
command.Flags().BoolVar(&generateToken,"generate-bearer-token",false,"Generate authentication token that should be used to access K8S API server")
command.Flags().StringVar(&clusterOpts.ServiceAccount,"service-account","argocd-manager",fmt.Sprintf("System namespace service account to use for kubernetes resource management. If not set then default \"%s\" SA will be used",clusterauth.ArgoCDManagerServiceAccount))
command.Flags().StringVar(&clusterOpts.SystemNamespace,"system-namespace",common.DefaultSystemNamespace,"Use different system namespace")
command.Flags().StringVarP(&outputFormat,"output","o","yaml","Output format. One of: json|yaml")
log.Fatalf("Failed to initalize Argo CD service: %v",err)
}
})
toolsCommand.PersistentFlags().StringVar(&argocdRepoServer,"argocd-repo-server","argocd-repo-server:8081","Argo CD repo server address")
toolsCommand.PersistentFlags().BoolVar(&argocdRepoServerPlaintext,"argocd-repo-server-plaintext",false,"Use a plaintext client (non-TLS) to connect to repository server")
toolsCommand.PersistentFlags().BoolVar(&argocdRepoServerStrictTLS,"argocd-repo-server-strict-tls",false,"Perform strict validation of TLS certificates when connecting to repo server")
Long:"List actions available for given resource action using the lua scripts configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields",
Long:"Executes resource action using the lua script configured in the 'resource.customizations' field of 'argocd-cm' ConfigMap and outputs updated fields",
command.Flags().StringVar(&appName,"name","","A name for the app, ignored if a file is set (DEPRECATED)")
command.Flags().BoolVar(&upsert,"upsert",false,"Allows to override application with the same name even if supplied application spec is different from existing spec")
command.Flags().StringVarP(&fileURL,"file","f","","Filename or URL to Kubernetes manifests for the app")
command.Flags().StringArrayVarP(&labels,"label","l",[]string{},"Labels to apply to the app")
command.Flags().BoolVar(&ignoreMissingValueFiles,"ignore-missing-value-files",false,"Unset the helm ignore-missing-value-files option (revert to false)")
command.Flags().BoolVar(&refresh,"refresh",false,"Refresh application data when retrieving")
command.Flags().BoolVar(&hardRefresh,"hard-refresh",false,"Refresh application data as well as target manifests cache")
command.Flags().BoolVar(&exitCode,"exit-code",true,"Return non-zero exit code when there is a diff")
command.Flags().StringVar(&local,"local","","Compare live app to a local manifests")
command.Flags().StringVar(&revision,"revision","","Compare live app to a particular revision")
command.Flags().StringVar(&localRepoRoot,"local-repo-root","/","Path to the repository root. Used together with --local allows setting the repository root")
command.Flags().StringArrayVar(&labels,"label",[]string{},"Sync only specific resources with a label. This option may be specified repeatedly.")
command.Flags().UintVar(&timeout,"timeout",defaultCheckTimeoutSeconds,"Time out after this many seconds")
command.Flags().Int64Var(&retryLimit,"retry-limit",0,"Max number of allowed sync retries")
command.Flags().DurationVar(&retryBackoffDuration,"retry-backoff-duration",common.DefaultSyncRetryDuration,"Retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().DurationVar(&retryBackoffMaxDuration,"retry-backoff-max-duration",common.DefaultSyncRetryMaxDuration,"Max retry backoff duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().Int64Var(&retryBackoffFactor,"retry-backoff-factor",common.DefaultSyncRetryFactor,"Factor multiplies the base duration after each failed retry")
command.Flags().DurationVar(&retryBackoffDuration,"retry-backoff-duration",argoappv1.DefaultSyncRetryDuration,"Retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().DurationVar(&retryBackoffMaxDuration,"retry-backoff-max-duration",argoappv1.DefaultSyncRetryMaxDuration,"Max retry backoff duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().Int64Var(&retryBackoffFactor,"retry-backoff-factor",argoappv1.DefaultSyncRetryFactor,"Factor multiplies the base duration after each failed retry")
command.Flags().BoolVar(&force,"force",false,"Use a force apply")
command.Flags().BoolVar(&replace,"replace",false,"Use a kubectl create/replace instead apply")
command.Flags().BoolVar(&async,"async",false,"Do not wait for application to sync before continuing")
command.Flags().StringVar(&local,"local","","Path to a local directory. When this flag is present no git queries will be made")
command.Flags().StringVar(&localRepoRoot,"local-repo-root","/","Path to the repository root. Used together with --local allows setting the repository root")
message:=fmt.Sprintf("WARNING: This will create a service account `argocd-manager` on the cluster referenced by context `%s` with full cluster level admin privileges. Do you want to continue [y/N]? ",contextName)
command.Flags().BoolVar(&clusterOpts.Upsert,"upsert",false,"Override an existing cluster with the same name even if the spec differs")
command.Flags().StringVar(&clusterOpts.ServiceAccount,"service-account","",fmt.Sprintf("System namespace service account to use for kubernetes resource management. If not set then default \"%s\" SA will be created",clusterauth.ArgoCDManagerServiceAccount))
command.Flags().StringVar(&clusterOpts.SystemNamespace,"system-namespace",common.DefaultSystemNamespace,"Use different system namespace")
command.Flags().StringSliceVar(&namespaces,"namespaces",[]string{},"Namespaces that the schedule will be applied to. Comma separated, wildcards supported (e.g. --namespaces default,\\*-prod)")
command.Flags().StringSliceVar(&clusters,"clusters",[]string{},"Clusters that the schedule will be applied to. Comma separated, wildcards supported (e.g. --clusters prod,staging)")
command.Flags().BoolVar(&manualSync,"manual-sync",false,"Allow manual syncs for both deny and allow windows")
command.Flags().StringVar(&timeZone,"time-zone","UTC","Time zone of the sync window")
command.Flags().StringSliceVar(&applications,"applications",[]string{},"Applications that the schedule will be applied to. Comma separated, wildcards supported (e.g. --applications prod-\\*,website)")
command.Flags().StringSliceVar(&namespaces,"namespaces",[]string{},"Namespaces that the schedule will be applied to. Comma separated, wildcards supported (e.g. --namespaces default,\\*-prod)")
command.Flags().StringSliceVar(&clusters,"clusters",[]string{},"Clusters that the schedule will be applied to. Comma separated, wildcards supported (e.g. --clusters prod,staging)")
command.Flags().StringVar(&timeZone,"time-zone","UTC","Time zone of the sync window. (e.g. --time-zone \"America/New_York\")")
command.Flags().StringVar(&githubAppPrivateKeyPath,"github-app-private-key-path","","private key of the GitHub Application")
command.Flags().StringVar(&repo.GitHubAppEnterpriseBaseURL,"github-app-enterprise-base-url","","base url to use when using GitHub Enterprise (e.g. https://ghe.example.com/api/v3")
command.Flags().BoolVar(&upsert,"upsert",false,"Override an existing repository with the same name even if the spec differs")
command.Flags().BoolVar(&repo.EnableOCI,"enable-oci",false,"Specifies whether helm-oci support should be enabled for this repo")
command.Flags().StringVar(&repo.Type,"type",common.DefaultRepoType,"type of the repository, \"git\" or \"helm\"")
command.PersistentFlags().StringSliceVarP(&clientOpts.Headers,"header","H",[]string{},"Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers)")
command.PersistentFlags().BoolVar(&clientOpts.PortForward,"port-forward",config.GetBoolFlag("port-forward"),"Connect to a random argocd-server port using port forwarding")
command.PersistentFlags().StringVar(&clientOpts.PortForwardNamespace,"port-forward-namespace",config.GetFlag("port-forward-namespace",""),"Namespace name which should be used for port forwarding")
command.PersistentFlags().IntVar(&clientOpts.HttpRetryMax,"http-retry-max",0,"Maximum number of retries to establish http connection to Argo CD server")
command.PersistentFlags().BoolVar(&clientOpts.Core,"core",false,"If set to true then CLI talks directly to Kubernetes instead of talking to Argo CD API server")
command.Flags().StringVar(&opts.env,"env","","Application environment to monitor")
command.Flags().StringVar(&opts.revision,"revision","","The tracking source branch, tag, commit or Helm chart version the application will sync to")
command.Flags().IntVar(&opts.revisionHistoryLimit,"revision-history-limit",common.RevisionHistoryLimit,"How many items to keep in revision history")
command.Flags().IntVar(&opts.revisionHistoryLimit,"revision-history-limit",argoappv1.RevisionHistoryLimit,"How many items to keep in revision history")
command.Flags().BoolVar(&opts.helmPassCredentials,"helm-pass-credentials",false,"Pass credentials to all domain")
command.Flags().StringArrayVar(&opts.helmSets,"helm-set",[]string{},"Helm set values on the command line (can be repeated to set several values: --helm-set key1=val1 --helm-set key2=val2)")
command.Flags().StringArrayVar(&opts.helmSetStrings,"helm-set-string",[]string{},"Helm set STRING values on the command line (can be repeated to set several values: --helm-set-string key1=val1 --helm-set-string key2=val2)")
command.Flags().StringArrayVar(&opts.helmSetFiles,"helm-set-file",[]string{},"Helm set values from respective files specified via the command line (can be repeated to set several values: --helm-set-file key1=path1 --helm-set-file key2=path2)")
command.Flags().StringVar(&opts.syncPolicy,"sync-policy","","Set the sync policy (one of: none, automated (aliases of automated: auto, automatic))")
command.Flags().StringArrayVar(&opts.syncOptions,"sync-option",[]string{},"Add or remove a sync option, e.g add `Prune=false`. Remove using `!` prefix, e.g. `!Prune=false`")
command.Flags().BoolVar(&opts.Validate,"validate",true,"Validation of repo and cluster")
command.Flags().StringArrayVar(&opts.kustomizeCommonLabels,"kustomize-common-label",[]string{},"Set common labels in Kustomize")
command.Flags().StringArrayVar(&opts.kustomizeCommonAnnotations,"kustomize-common-annotation",[]string{},"Set common labels in Kustomize")
command.Flags().BoolVar(&opts.kustomizeForceCommonLabels,"kustomize-force-common-label",false,"Force common labels in Kustomize")
command.Flags().BoolVar(&opts.kustomizeForceCommonAnnotations,"kustomize-force-common-annotation",false,"Force common annotations in Kustomize")
command.Flags().StringVar(&opts.directoryExclude,"directory-exclude","","Set glob expression used to exclude files from application source path")
command.Flags().StringVar(&opts.directoryInclude,"directory-include","","Set glob expression used to include files from application source path")
command.Flags().Int64Var(&opts.retryLimit,"retry-limit",0,"Max number of allowed sync retries")
command.Flags().DurationVar(&opts.retryBackoffDuration,"retry-backoff-duration",common.DefaultSyncRetryDuration,"Retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().DurationVar(&opts.retryBackoffMaxDuration,"retry-backoff-max-duration",common.DefaultSyncRetryMaxDuration,"Max retry backoff duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().Int64Var(&opts.retryBackoffFactor,"retry-backoff-factor",common.DefaultSyncRetryFactor,"Factor multiplies the base duration after each failed retry")
command.Flags().Int64Var(&opts.retryLimit,"sync-retry-limit",0,"Max number of allowed sync retries")
command.Flags().DurationVar(&opts.retryBackoffDuration,"sync-retry-backoff-duration",argoappv1.DefaultSyncRetryDuration,"Sync retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().DurationVar(&opts.retryBackoffMaxDuration,"sync-retry-backoff-max-duration",argoappv1.DefaultSyncRetryMaxDuration,"Max sync retry backoff duration. Input needs to be a duration (e.g. 2m, 1h)")
command.Flags().Int64Var(&opts.retryBackoffFactor,"sync-retry-backoff-factor",argoappv1.DefaultSyncRetryFactor,"Factor multiplies the base duration after each failed sync retry")
command.Flags().StringVar(&opts.AwsClusterName,"aws-cluster-name","","AWS Cluster name if set then aws cli eks token command will be used to access cluster")
command.Flags().StringVar(&opts.AwsRoleArn,"aws-role-arn","","Optional AWS role arn. If set then AWS IAM Authenticator assumes a role to perform cluster operations instead of the default AWS credential provider chain.")
command.Flags().StringArrayVar(&opts.Namespaces,"namespace",nil,"List of namespaces which are allowed to manage")
command.Flags().BoolVar(&opts.ClusterResources,"cluster-resources",false,"Indicates if cluster level resources should be managed. The setting is used only if list of managed namespaces is not empty.")
command.Flags().StringVar(&opts.Name,"name","","Overwrite the cluster name")
command.Flags().StringVar(&opts.Project,"project","","project of the cluster")
command.Flags().Int64Var(&opts.Shard,"shard",-1,"Cluster shard number; inferred from hostname if not set")
command.Flags().StringVar(&opts.ExecProviderCommand,"exec-command","","Command to run to provide client credentials to the cluster. You may need to build a custom ArgoCD image to ensure the command is available at runtime.")
command.Flags().StringArrayVar(&opts.ExecProviderArgs,"exec-command-args",nil,"Arguments to supply to the --exec-command executable")
command.Flags().Int64Var(&opts.GithubAppInstallationId,"github-app-installation-id",0,"installation id of the GitHub Application")
command.Flags().StringVar(&opts.GithubAppPrivateKeyPath,"github-app-private-key-path","","private key of the GitHub Application")
command.Flags().StringVar(&opts.GitHubAppEnterpriseBaseURL,"github-app-enterprise-base-url","","base url to use when using GitHub Enterprise (e.g. https://ghe.example.com/api/v3")
command.Flags().StringVar(&opts.Proxy,"proxy","","use proxy to access repository")
returnfmt.Errorf("invalid plugin configuration file. atleast one of discover.find.command or discover.find.glob or discover.fineName should be non-empty")
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.