-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to include
other type of source in GitRepository
#854
Comments
I think that with the OCI features that are coming next in Flux, there is no more need for |
Hello @stefanprodan and thank you for you answer. I've done a lot of investigation about As a manifest editor, I would like to publish a set of YAML, the As a consumer, I would like to keep simplicity of the current workflow (Kustomize+GitRepository)… and I think, from my understanding it will be more complicated with OCI features because:
As an operator of a potential OCI registry, we don't want to have 1 entry in this registry for each combination of And finally, as an administrator, I use flux to provide to many teams ability to install and configure any system on demand. They just need to provide some configuration in a I follow this subject for a long time now (since the first release of Sorry for this really too long answer, I really wanted to share my concerns about the OCI feature, from an end-user perspective… who really like Flux! If you want, I'm available for a quick call to discuss and share feedbacks on this subject. And thank you again for the great work made in flux 🤩 ! |
Yes you can, OCI is no different from Git, so use SOPS.
Yes you can, like before "OCI is no different from Git".
For a HelmChart you provide the config with |
Thank you @stefanprodan for your answer. You're right, secrets/configMap/Immutability can be done but is not compatible with system where you store
Sorry, but inlined Here, you have a (really standard) apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../.base
- monitoring
- ingress
components:
- liveness-probe-modifications
- node-scheduling
- ../.base/components/application-features/foo-bar
- ../.base/components/ha
- ../.base/components/hpa
images:
- name: my/app
newName: gcr.io/davinkevin/foo/bar
configMapGenerator:
- behavior: merge
literals:
- a=one
- b=two
- c=three
name: application The associated structure in my IDE to make this clearer: FYI, And this would be for me the equivalent of |
Thanks @davinkevin for the detailed explanations. Would a new API type better solve this issue? something like: apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: Bundle
metadata:
name: foo-app-source
namespace: flux-system
spec:
include:
- source:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
name: foo-base
fromPath: deploy
toPath: apps/cluster/foo/base
- source:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
name: foo-config
fromPath: overlays/production
toPath: apps/cluster/foo/production |
If I understand it correctly, a bundle is a set of different source mixed together and it can be referenced as a source from a It looks good to me. We then remove the hierarchy between
With this, we would be able to have:
So, if I'm doing the math right, it could be way better for us 😇. Out of curiosity, do you have an idea about the reconciliation strategy attached to a On the paper, like this, it looks really good to me 😉, thank you for sharing this! If you want to discuss about our use case and our installation, feel free to ping me 😉. In the meantime, I've described it in a blogpost recently. |
@stefanprodan - your proposed API change is exactly what we need as well. In our deployments, we wish to deploy a base set of resources to our teams, but allow them to provide kustomize patches (e.g., add in their own ARNs, annotations, etc) - I think your proposal above would provide exactly the fix we need |
+1 to @stefanprodan's proposed solution. Provides exactly the solution we need to provide base layers to our teams and they are free to add overlays on top without concerning themselves with extra sources. |
For We would retrieve |
Keeping this on everyone's radar. Any traction on creating a new Bundle API? |
@stefanprodan have you some news about the new |
@stefanprodan +1 on this proposed API, it sounds really great. I was reading the gitrepo include source code trying to figure out what happens if the |
Cross-namespace references allowed pls 🙏 🙏 🙏 |
We have at present no plans to further support cross-namespace references anywhere in the Flux APIs. See also fluxcd/flux2#2092 (comment) |
@hiddeco Skimming through the ReferenceGrant proposal mentioned in that comment, it sounds like something equivalent, is that right? |
Yearly bump for updates on Bundle API 😄 |
This would be really useful for us. Our use case is reusing 1 bucket for multiple flux environments that need to be isolated from the other. So we have Since the IAM policy locks access tighthly, and Bucket CRD does not support multiple paths in |
Hello Flux Team 👋,
We are using currently the
include
attribute inGitRepository
to bypass some limitations (especially remove base withgit
) and for path reconciliation, but the current API allows us to use onlyGitRepository
into anotherGitRepository
, like this:And, we would like to be able to use something else than
repository
ininclude
, for example:Or even, in (near) future, being able to do the same with OCI registry like this:
If you need more feedback or use case we have from that, feel free to ask, I'll be happy to share in more details our structure.
PS: Flux is a super product, thank you for it!
The text was updated successfully, but these errors were encountered: