* fix: Drop all references to exec unless the feature is enabled #9920
Signed-off-by: Patrick Kerwood <patrick@kerwood.dk>
* fixed tslint issues
Signed-off-by: Patrick Kerwood <patrick@kerwood.dk>
* Update docs/operator-manual/application.yaml
- Removed comment about what namePrefix does. (i.e. it does not add a prefix to the image)
- Added examples of other supported transformers. (based on looking at the source code)
- Added link to the kustomize docs where the transormers are described in more detail.
* Update kustomize casing to be consistent
Signed-off-by: whyvez <yves@premise.com>
* feat: support multiple extensions per resource group/kind
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* apply reviewers suggestions
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* apply reviewer notes: stream extension files one by one
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* wrap errors
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* skip symlinks
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
It seems like most of the work for the mentioned issue below is done
under the PR #9466 but from the issue description, it's probably
worth to mention the example as added here.
Related #9352
Signed-off-by: Sahdev Zala <spzala@us.ibm.com>
* fix: 'unexpected reserved bits' breaking web terminal (#9605)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* make things more like they were originally, since the mutex fixes the problem
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix typo, don't pass around a pointer when it isn't necessary
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* apply suggestions
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test: Use dedicated multi-arch workloads in e2e tests
Signed-off-by: jannfis <jann@mistrust.net>
* Use correct tag
Signed-off-by: jannfis <jann@mistrust.net>
* fix: Make change of tracking method work at runtime
Signed-off-by: jannfis <jann@mistrust.net>
* GetAppName() will figure tracking label or annotation on its own
Signed-off-by: jannfis <jann@mistrust.net>
* Correct test comments and add another test
Signed-off-by: jannfis <jann@mistrust.net>
* Add a read lock before getting cache settings
Signed-off-by: jannfis <jann@mistrust.net>
* Fix#9429: A couple of notes in the docs to explain that the default certificate is insecure.
Signed-off-by: Jim Talbut <jim.talbut@groupgti.com>
* Fixes#9429: More verbose, but complete, text for Getting Started.
Signed-off-by: Jim Talbut <jim.talbut@groupgti.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>
As far as I can tell, this isn't explicitly documented anywhere (some docs mentioned this label in reference to ConfigMaps) I only figure it out by looking at the code.
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: missing path segments for git file generator
given the path:
/one/two/file.yaml
This change adds the params:
path[1]=two
path.filename=file.yaml
path.filenameNormalized
The use case is for symmetry with other generators (e.g., merge with a directory generator using the key path[1]). As no existing parameter values are changed it should be non-breaking.
Signed-off-by: Noah Perks Sloan <noah@hackedu.io>
* fix: expose all path elements for directory generator
This makes it consistent with the files generator and removes un-intuitive behavior without any breaking change.
docs: clarify - can use either baseName or nth path element
docs: use "directory", like the name of the generator, where "folder" was mentioned
Signed-off-by: Noah Perks Sloan <noah@hackedu.io>
* git: prune any deleted refers before fetching
This commit modifies `nativeGitClient.Fetch()` to call `git remote prune origin` before fetching refs.
In some cases, an old branch may exist that conflicts with the name of a new branch. The old branch will have been deleted from `origin` but still exist locally in the `argocd-repo-server`.
Example: an old branch `feature/foo` conflicts with a new branch `feature/foo/bar`
In these cases, syncing an application results in the error:
```
rpc error: code = Internal desc = Failed to fetch default: `git fetch origin --tags --force` failed exit status 1: error: cannot lock ref 'refs/remotes/origin/feature/foo/bar': 'refs/remotes/origin/feature/foo' exists; cannot create 'refs/remotes/origin/feature/foo/bar' From https://github.com/org/repo ! [new branch] feature/foo/bar -> origin/feature/foo/bar (unable to update local ref) error: some local refs could not be updated; try running 'git remote prune origin' to remove any old, conflicting branches
```
Adding `git remote prune origin` before fetching, as recommended by the error message, should fix this issue.
The current workaround is to restart the `argocd-repo-server` which should flush the local repository folder. This works when Argo CD is installed using the Helm chart.
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
* fix: added extra protection to syncing app with replace (#9187)
* fix: added extra protection to syncing app with replace
Signed-off-by: ciiay <yicai@redhat.com>
* Code clean up
Signed-off-by: ciiay <yicai@redhat.com>
* Updated logic for isAppOfAppsPattern
Signed-off-by: ciiay <yicai@redhat.com>
* Updated text strings as per comment
Signed-off-by: ciiay <yicai@redhat.com>
* Fixed lint issue
Signed-off-by: ciiay <yicai@redhat.com>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
* chore: Simplified GetRepoHTTPClient function (#9396)
* chore: Simplified GetRepoHTTPClient function
Signed-off-by: ls0f <lovedboy.tk@qq.com>
* simplified code and improve unit test coverage
Signed-off-by: ls0f <lovedboy.tk@qq.com>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
* Only prune if fetch error message indicates that it is worthwhile, add unit tests
Confirmed that `Test_nativeGitClient_Fetch_Prune` fails without the bug fix, succeeds with it.
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
* fix: avoid k8s call before authorization for terminal endpoint (#9434)
* fix: avoid k8s API call before authorization in k8s endpoint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* check for bad project
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* more logging
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* handle 404, return 500 instead of 400 for other errors
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* use user input
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* refactor validation
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fixes, tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
* Match against "try running 'git remote prune origin'"
Signed-off-by: Kevin Snyder <kevin.snyder.codes@gmail.com>
Co-authored-by: Yi Cai <yicai@redhat.com>
Co-authored-by: ls0f <lovedboy.tk@qq.com>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: overrides should not appear in the manifest cache key
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix Helm regression
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix test again
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
ubuntu:22.04 bumped the ppc64el baseline to POWER9, rendering this
unusable on existing POWER8 systems. This allows customization similar
to the top-level Dockerfile.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* added environment variables page
Signed-off-by: Hari Sekhon <harisekhon@gmail.com>
* added Environment Variables page to User Guide
Signed-off-by: Hari Sekhon <harisekhon@gmail.com>
* reformatted table cells as multiline for clarity
Signed-off-by: Hari Sekhon <harisekhon@gmail.com>
* fixed typo
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* 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>
Commit cc6c625401 changed a RUN mkdir
command into a WORKDIR, which also affected the entrypoint. This
triggered an error in goreman which looks for Procfile (which is
installed here in the root directory) in the working directory.
Since COPY creates any missing directories in the destination path,
there is no need for a separate step to create it. This change leaves
WORKDIR as the default (the root directory) as before.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* 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 export repo-server environment to sidecar (#9393)
getPluginEnvs is both used for local plugins and sidecar plugins. For the later
do not include the environement variables of the repo-server in the supplied
variables.
Fixes: #9393
Signed-off-by: Pierre Crégut <pierre.cregut@orange.com>
* feat: Add plugin call variables to sidecar plugin discovery (#9273)
Gives access to variables declared in the call of the plugin in the application
manifest to the discover command run on the CMP server.
Variables are prefixed with ARGOCD_ENV_ to avoid security issues (plugin call
overiding important variables).
Fixes#9273
Signed-off-by: Pierre Crégut <pierre.cregut@orange.com>
* docs: document plugin prefixed env vars
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* restructure, clarify env vars from main container behavior
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* grammer
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* grammer
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* no link - the cert is bad
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fixes
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: avoid k8s API call before authorization in k8s endpoint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* check for bad project
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* more logging
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* handle 404, return 500 instead of 400 for other errors
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* use user input
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* refactor validation
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fixes, tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: support pod exec terminal logging
Signed-off-by: smcavallo <smcavallo@hotmail.com>
* enhanced validation and logging when resource not found
Signed-off-by: smcavallo <smcavallo@hotmail.com>
* fix lint
Signed-off-by: smcavallo <smcavallo@hotmail.com>
* log warning when pod or container not found
Signed-off-by: smcavallo <smcavallo@hotmail.com>
* go/log-injection fixes
Signed-off-by: smcavallo <smcavallo@hotmail.com>
* log levels and lowercase message
Signed-off-by: smcavallo <smcavallo@hotmail.com>
the helm chart values should be copied as-is into the `notifications` section of the argo-cd chart
Signed-off-by: Pavel Savchenko <asfaltboy@gmail.com>
* fix: do not allow symlinks from directory-type applications
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>
feat: Add cli support for additional linux based architectures, s390x + ppc64le (#8991)
Signed-off-by: David J. M. Karlsen <david@davidkarlsen.com>
* add more architectures for linux
Signed-off-by: David J. M. Karlsen <david@davidkarlsen.com>
* drop aix arch as it won't compile
Signed-off-by: David J. M. Karlsen <david@davidkarlsen.com>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* fix(ui): missing manifests and logs (#9231)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: make exec feature opt-in
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix codegen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* use create instead of get for exec to match k8s
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* add RBAC instructions for exec
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* delete old line
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* remove unnecessary caveat
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: Prevent crash on server reload if opentelemtry is not enabled
Signed-off-by: jannfis <jann@mistrust.net>
* Move variable declaration into loop
Signed-off-by: jannfis <jann@mistrust.net>
We use argo extensively in production, appsets, notif controller, and now multi cluster, so figured add our name to the list
Signed-off-by: Michael Asper <asper@imaware.health>
* Detailed steps for Azure AD App Registration Auth using OIDC
* Detailed steps for Azure AD App Registration Auth using OIDC
* Validation steps for both Web and CLI
Signed-off-by: kulmam92 <kulmam92@gmail.com>
* Images for Azure AD App Registration Auth using OIDC
Images for Azure AD App Registration Auth using OIDC
Signed-off-by: kulmam92 <kulmam92@gmail.com>
* add more context for scope
Signed-off-by: kulmam92 <kulmam92@gmail.com>
* fix: fall back to only branch if default branch is missing in gitea
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* throw meaningful error, use different org for test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: fall back to only branch if default branch is missing in gitea
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* throw meaningful error, use different org for test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test: tests for SSHCreds env var generation
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: sort imports
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: add support for otel grpc tracing
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* chore: rebase code to master
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* feat: add otelgrpc to cmpserver
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* feat: add util trace package
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* fix: fix tracer context
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* chore: move tracer initialization part to the loop
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* docs: upgrade notes for new RBAC resource in 2.4
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: use resources, not verbs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: better phrasing
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: add header to emphasize that the RBAC is just an example
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: upgrade notes for CMP changes in 2.4
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: simplify test tempdir
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test: add test for traversal
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: do not unset passCredentials when it's not specified (#9102)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: codegen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: more tests, no-update detection for kustomize
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: fix test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.
Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
defer func() {
if err := os.RemoveAll(dir); err != nil {
t.Fatal(err)
}
}
is also tedious, but `t.TempDir` handles this for us nicely.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@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>
* chore: remove helm2
Reorder test/container/Dockerfile to mitigate issue of being unable to create
.gitconfig since the homedir is not present
chore: cleanup helm2 and tests related to it
Remove helm2 init. Fix unused import
Use helm 3 structure for CRDs
Remove helm2-dependency testdata
Address PR comments
Add back values-production and value.yaml on helm tests
Remove helm2 from openapi.
Signed-off-by: Shyukri Shyukriev <shyukri.shyukriev@mariadb.com>
modified: util/helm/cmd_test.go
* fix: generated openapi
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
The io.Closer returned from the call to creds.Environ() removes the
underlying file. The desired behavior here is to clean up the
credentials files only after the plugin code has been run, which now
happens one level up in the call stack.
Fixes#7995
Signed-off-by: D. Ryan Hild <rhild@starbucks.com>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: bump helm version to 3.8.1
Signed-off-by: Miguel A. Alvarado V <alvaradoma@gmail.com>
* fix: Adding simple sanitize for repo name
Signed-off-by: Miguel A. Alvarado V <alvaradoma@gmail.com>
* feat: expose default metrics port in manifest definitions.
Out of the box, Applicationset presents some controller-runtime metrics on port 8080. However, the metric port is not defined as a container port in manifest files, therefore, they are not accessible. This
commit aims to make it accessible.
Co-authored-by: Erkan Zileli <erkan.zileli@trendyol.com>
Signed-off-by: Celal Öner <celal.oner@trendyol.com>
* chore: add Trendyol to the list of users.
Signed-off-by: Celal Öner <celal.oner@trendyol.com>
* chore(docs): add ServiceMonitor manifest example for newly added metrics.
Signed-off-by: Celal Öner <celal.oner@trendyol.com>
* fix: regenerate manifest file via make file.
Co-authored-by: Erkan Zileli <erkan.zileli@trendyol.com>
Signed-off-by: Celal Öner <celal.oner@trendyol.com>
Co-authored-by: Erkan Zileli <erkan.zileli@trendyol.com>
* feat: add caching to application js bundle since it has a unique name
Signed-off-by: Jonah Back <jonah@jonahback.com>
* chore: simplify check and add tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
* feat: New SCM and pull request ApplicationSet generators for Gitea
An initial implementation of Pull Request and SCM generators for Gitea.
API paging, and repo labels have not been implemented.
Signed-off-by: Dan Molik <dan@danmolik.com>
* chore: white space in hack/test.sh
re-trigger linting check
Signed-off-by: Dan Molik <dan@danmolik.com>
* chore: add gitea_scm and gitea_pr tests
Signed-off-by: Dan Molik <dan@danmolik.com>
* bug: ensure gitea scm haspath detects directories correctly
Signed-off-by: Dan Molik <dan@danmolik.com>
* chore: setup go 1.17 before lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: use specific golang version
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: update error message for test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: use message that's common to different k8s versions
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: use markdown include to fix broken docs (#8913)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: trigger CI
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: codeql check should run on merge commit
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: trigger CI
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix: don't run codeql on push event for dependabot branches
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
The k3d flag --k3s-server-arg changed to --k3s-arg and '--disable=traefik' does not work without a node filter: '--disable=traefik@server:*'
Signed-off-by: ksch84 <ksch84@protonmail.com>
* add to approvers
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* fix issue with format condition test
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* Trigger Build
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* work with specific jinja version
Signed-off-by: pashavictorovich <pavel@codefresh.io>
The application object can have labels so that its easier to group together certain applications in the ArgoCD UI. Although labels can be specified, there is no mention of that in the documentation.
Signed-off-by: jeunii <46089687+jeunii@users.noreply.github.com>
Podman and older versions of docker do not support multiple args
on a single line. It was recently added to docker in this commit
https://github.com/moby/buildkit/pull/1692 and podman still dose not have support
for it.
Signed-off-by: zachaller <zachaller@hotmail.com>
* 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>
Environment variable with "=" in its value is not passed to sidecar
config management plugin, but ignored.
Signed-off-by: Ilya Lesikov <ilya@lesikov.com>
* chore: add snyk scan to image build workflow
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: remove yaml accidentally left in file
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: run container scan after push
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: no separate push step
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: revert unnecessary change
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: fix working dir for Snyk scans
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: add snyk scan to image build workflow
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: remove yaml accidentally left in file
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: run container scan after push
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: no separate push step
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: revert unnecessary change
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Remove extra print of error message
* Enable SilenceUsage to not display full help message with error
Signed-off-by: Daniel Helfand <helfand.4@gmail.com>
* docs: add crenshaw-dev to approvers
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs: add leoluz as approver
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Document changes needed to upgrade in waves.
Signed-off-by: David Parsley <david@welldhealth.com>
* Add info on patching argocd-cm
Signed-off-by: David Parsley <david@welldhealth.com>
- data.oicd has no effect on the integration
- SSO flow did not initiate without putting the URL for argocd at `data.url` in `argocd-cm.yaml`. This is specified in the keycloak integration instructions as well.
Signed-off-by: Mit Suthar <msuthar@splunk.com>
* feat: For ```app diff``` cli refactored code to calculate and Print diff in to function findandPrintDiff to support diff functionality while syncing app, Added yes/no prompt to take confirmation while syncing app after previewing diffchanges
Signed-off-by: rishabh625 <rishabhmishra625@gmail.com>
* feat: diff changes initialized diffoption struct at declaration and removed nil checks and yesNo prompt as commented in review
Signed-off-by: rishabh625 <rishabhmishra625@gmail.com>
* feat: Incorporated review changes, changed flag names and text,made printdiff function to return bool,added texts while previewing diff
Signed-off-by: rishabh625 <rishabhmishra625@gmail.com>
* Update cmd/argocd/commands/app.go
Correcting prompt text
Co-authored-by: jannfis <jann@mistrust.net>
Signed-off-by: rishabh625 <rishabhmishra625@gmail.com>
Co-authored-by: jannfis <jann@mistrust.net>
* chore: update dependencies before starting e2e server
The e2e test server will show errors if there are irregular vendor and UI dependencies. This PR updates the Makefile to update the dependencies before starting the e2e server.
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* increase timeout while checking for e2e server
Signed-off-by: Chetan Banavikalmutt <chetanrns1997@gmail.com>
* chore: bump go-git version to help avoid CVE-2020-9283
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* chore: tidy
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>
* docs: Correct typo to match with YAML input in Ingress documentation
Signed-off-by: Ryota <rytswd@gmail.com>
* Retrigger CI pipeline
Signed-off-by: Ryota <rytswd@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>
* add values example and gcp support
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* add values example and gcp support
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* 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>
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. -->
# Secrets aren't available for dependabot on push. https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow#error-403-resource-not-accessible-by-integration-when-using-dependabot
branches-ignore:
- 'dependabot/**'
pull_request:
schedule:
- cron:'0 19 * * 0'
concurrency:
group:${{ github.workflow }}-${{ github.ref }}
cancel-in-progress:true
jobs:
CodeQL-Build:
if:github.repository == 'argoproj/argo-cd'
# CodeQL runs on ubuntu-latest and windows-latest
runs-on:ubuntu-latest
@@ -15,15 +23,6 @@ jobs:
steps:
- name:Checkout repository
uses:actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth:2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
# 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
Feature enables engineers to start a shell in the running application container without leaving the web interface. Just find the required Kubernetes
Pod using the Application Details page, click on it and select the Terminal tab. The shell starts automatically and enables you to execute the required
commands, and helps to troubleshoot the application state.
### Access Control For Pod Logs & Web Terminal
Argo CD is used to manage the critical infrastructure of multiple organizations, which makes security the top priority of the project. We've listened to
your feedback and introduced additional access control settings that control access to Kubernetes Pod logs and the new Web Terminal feature.
#### Pod Logs UI
Since 2.4.9, the LOGS tab in pod view is visible in the UI only for users with explicit allow get logs policy.
#### Known pod logs UI issue prior to 2.4.9
Upon pressing the "LOGS" tab in pod view by users who don't have an explicit allow get logs policy, the red "unable to load data: Internal error" is received in the bottom of the screen, and "Failed to load data, please try again" is displayed.
### OpenTelemetry Tracing Integration
The new feature allows emitting richer telemetry data that might make identifying performance bottlenecks easier. The new feature is available for argocd-server
and argocd-repo-server components and can be enabled using the --otlp-address flag.
### Power PC and IBM Z Support
The list of supported architectures has been expanded, and now includes IBM Z (s390x) and PowerPC (ppc64le). Starting with the v2.4 release the official quay.io
repository is going to have images for amd64, arm64, ppc64le, and s390x architectures.
### Other Notable Changes
Overall v2.4 release includes more than 300 hundred commits from nearly 90 contributors. Here is a short sample of the contributions:
* Enforce the deployment to remote clusters only
* Native support of GCP authentication for GKE
* Secured Redis connection
* ApplicationSet Gitea support
## v2.3.3 (2022-03-29)
- fix: prevent excessive repo-server disk usage for large repos (#8845) (#8897)
- fix: Set QPS and burst rate for resource ops client (#8915)
## v2.3.2 (2022-03-22)
- fix: application resource APIs must enforce project restrictions
## v2.3.1 (2022-03-10)
- fix: Retry checkbox unchecked unexpectedly; Sync up with YAML (#8682) (#8720)
- chore: Bump stable version of application set addon (#8744)
### 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)
- fix: Argo CD should not use cached git/helm revision during app creation/update validation (#7244)
## v2.1.2 (2021-10-02)
- fix: cluster filter popping out of box (#7135)
- fix: gracefully shutdown metrics server when dex config changes (#7138)
- fix: upgrade gitops engine version to v0.4.1 (#7088)
- fix: repository name already exists when multiple helm dependencies (#7096)
## v2.1.1 (2021-08-25)
### Bug Fixes
@@ -753,7 +1029,7 @@ 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
* User Community meeting: [Every other Wednesday](https://calendar.google.com/calendar/u/0/embed?src=argoproj@gmail.com) | [Agenda](https://docs.google.com/document/d/1xkoFkVviB70YBzSEa4bDnu-rUZ1sIFtwKKG1Uw8XsY8)
* User Community meeting: [First Wednesday of the month](https://calendar.google.com/calendar/u/0/embed?src=argoproj@gmail.com) | [Agenda](https://docs.google.com/document/d/1ttgw98MO45Dq7ZUHpIiOIEfbyeitKHNfMjbY5dLLMKQ)
Participation in the Argo CD project is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)
@@ -46,6 +42,7 @@ 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)
@@ -72,3 +69,6 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h
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/)
1. [Getting Started with ArgoCD for GitOps Deployments](https://youtu.be/AvLuplh1skA)
1. [Using Argo CD & Datree for Stable Kubernetes CI/CD Deployments](https://youtu.be/17894DTru2Y)
// If the finalizer length changed (due to filtering out an Argo finalizer), update the finalizer list on the app
iflen(newFinalizers)!=len(app.Finalizers){
app.Finalizers=newFinalizers
r.Recorder.Eventf(&applicationSet,corev1.EventTypeNormal,"Updated","Updated Application %q finalizer before deletion, because application has an invalid destination",app.Name)
appLog.Log(log.InfoLevel,"Updating application finalizer before deletion, because application has an invalid destination")
# How the Cluster Decision Resource generator works for clusterDecisionResource
1. The Cluster Decision Resource generator reads a configurable status format:
```yaml
status:
clusters:
- name:cluster-01
- name:cluster-02
```
This is a common status format. Another format that could be read looks like this:
```yaml
status:
decisions:
- clusterName:cluster-01
namespace:cluster-01
- clusterName:cluster-02
namespace:cluster-02
```
2. Any resource that has a list of key / value pairs, where the value matches ArgoCD cluster names can be used.
3. The key / value pairs found in each element of the list will be available to the template. As well, `name` and `server` will still be available to the template.
4. The Service Account used by the ApplicationSet controller must have access to `Get` the resource you want to retrieve the duck type definition from
5. A configMap is used to identify the resource to read status of generated ArgoCD clusters from. You can use multiple resources by creating a ConfigMap for each one in the ArgoCD namespace.
```yaml
apiVersion:v1
kind:ConfigMap
metadata:
name:my-configmap
data:
apiVersion:group.io/v1
kind:mykinds
statusListKey:clusters
matchKey:name
```
*`apiVersion` - This is the apiVersion of your resource
*`kind` - This is the plural kind of your resource
*`statusListKey` - Default is 'clusters', this is the key found in your resource's status that is a list of ArgoCD clusters.
*`matchKey` - Is the key name found in the cluster list, `name` and `clusterName` are the keys in the examples above.
# Applying the example
1. Connect to a cluster with the ApplicationSet controller running
2. Edit the Role for the ApplicationSet service account, and grant it permission to `list` the `placementdecisions` resources, from apiGroups `cluster.open-cluster-management.io/v1alpha1`
```yaml
- apiGroups:
- "cluster.open-cluster-management.io/v1alpha1"
resources:
- placementdecisions
verbs:
- list
```
3. Apply the following controller and associated ManagedCluster CRD's:
log.Warningf("You must choose either resourceName=%v, labelSelector.matchLabels=%v or labelSelect.matchExpressions=%v",resourceName,labelSelector.MatchLabels,labelSelector.MatchExpressions)
returnnil,fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator")
expectedError:fmt.Errorf("unable to process file 'cluster-config/production/config.json': unable to parse file: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go value of type map[string]interface {}"),
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.