Comments (8)
Unfortunately, as long as Git write-back is not yet implemented, app-of-apps pattern is not supported, I fear. Probably even if you disable self-heal on the parent app, on the next sync of the parent app containing further Application
resources, the changes made by Image Updater will be overwritten.
Good news is, that we already laid foundation for supporting parameters stored in application's Git repositor in Argo CD with argoproj/argo-cd#4084 - now we have to connect the pieces, and make Image Updater push this file to Git. When this is done, also app-of-apps use cases will be supported.
Sorry that I can't offer you a quick solution in this case.
from argocd-image-updater.
Hi @szucsitg, I think this sort of sync loop can occur if you have an app-of-apps pattern, with autosync and self-heal turned on at the parent application. Is this true in your case?
from argocd-image-updater.
Hello @jannfis,
We deploy the repository on the nth level of a dependency tree from another repo, and this repo is using Kustomize. All of our application are set with self-heal and prune.
If I turn off self-heal I guess this would fix the infinite loop, however in such case the Kustomize app which contains these Helm apps will be out of sync all the time.
Sidenote: also we use semver based auto-update for the Helm chart itself.
from argocd-image-updater.
I didn't know about this YAML override, so i learned something new 👍 i guess it would not work either if we move the override parameter to .argocd-app.yaml
. though I wonder how this YAML file would work in our case as we have currently multiple Application files within a folder.
from argocd-image-updater.
The YAML override is a "hidden" feature in Argo CD right now, which we implemented to later support Git write back from image updater in a non-intrusive way :)
There's a good point you've made. I think @alexmt and me discussed this scenario already (multiple apps spawned from same directory in Git), and came to the conclusion that we want to expand the YAML override to support this, i.e. by allowing application specific overrides through a file .argocd-app-<appname>.yaml
as well. But we wanted to start with something simple, just to see how this works out. But it's also good to see other use-cases, such as yours.
from argocd-image-updater.
I'm not sure our pattern is ideal, but we have a couple of layers of dependency, Helm mixed with Kustomize back and forth, where we even loop through dynamically templated Argo apps (in Helm). Therefore many cases we have multiple apps within the same folder. Also most of our Kustomize app are multi-folder ones.
from argocd-image-updater.
I just created an enhancement proposal for Argo CD: argoproj/argo-cd#5003
Feel free to contribute to this discussion :)
from argocd-image-updater.
With v0.9.0 being released (and hotfixed by v0.9.1), Git write-back is now available (with a strict dependency to Argo CD >= v2.0.0-rc1).
from argocd-image-updater.
Related Issues (20)
- starts getting timeout errors with ECR registeries until pod is restarted HOT 1
- Request for "latest pushed tag" update strategy HOT 1
- Cache hit
- Could not update application spec: could not get creds for repo '': credentials for '' are not configured in Argo CD settings HOT 1
- Image updating firing every 10 minutes instead of default 2 minutes
- Provide more details about error if connection to argocd fails.
- After successfully updating the image, the Helm values passed in the application are reset HOT 3
- Git Write-Back Target annotation doesn't seems commits to the kustomization file back to source path
- Error fetching metadata from Docker Hub
- {{ .OldTag }} does not match actual old tag being replaced
- Update strategy: newest-build not working HOT 2
- image updater post-sync hook
- could not get tags: Get "https://myharbor.domain/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority
- the image updater wants to connect to 52.219.169.162 (s3-r-w.eu-central-1.amazonaws.com) HOT 2
- Issue with Authentication in ArgoCD Image Updater for Docker Hub
- golangci-lint context loading failed: no go files to analyze
- ArgoCD does not consider images for arch "linux/arm64/v8" HOT 1
- Sequential Builds Overwriting Image Tags in Git Repository
- Digest Update Strategy Incorrectly Adding "Latest" Tag
- Bug between v0.12.2 to v0.13.0 in git write-back implementation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argocd-image-updater.