-
Notifications
You must be signed in to change notification settings - Fork 127
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
[ADDON] - Flux #26
Comments
is it possible to add the same behavour as argocd with the flag argocd_manage_add_ons |
@atali yep that is what we will look to do. I don't believe we will be able to pass values from from resource created via TF to Flux however like we do with the ArgoCD application values map. We refer to this functionality as the Gitops bridge |
Any news here regarding flux support ? :-) |
Hi. Is any work being done in this area? |
cc: @csantanapr who is working on this. @joaocc we are working on finalizing the revamped design and blueprint for gitops-bridge which will include support for both argocd and flux. You can expect flux support to be added soon after. In the mean time, if you want to take a stab at adding a module flux I think we would welcome that. |
I was trying to understand if there were any changes to the current v1.9.x design of this blueprints addons model (ie, single monolith-file), and/or if there was any branch already being tested. If not, I can try to create one. |
I am almost ready to push an initial draft version to a branch fork. I have a current question regarding IRSA. However, in my understanding, the If it is confirmed that we can only map one role in Is my understanding correct (@csantanapr, @askulkarni2, @bryantbiggs)? Or is there any way to configure I already created an issue (aws-ia/terraform-aws-eks-blueprints-addon#23) to discuss the ability to specify extra roles, but it doesn't seem to be easy to do in a way that doesn't break compact with existing modules. Maybe @bryantbiggs can support a v2.0 where this is possible (will add ticket to discus this) In the meanwhile I will try to propose an initial implementation with a single role, as it is better than not having any :) |
I think this is getting to be a bit of an xy-problem. What method have you taken to enable FluxCD support? |
I originally installed it directly via the addon module as it wasn't supported in the addons module. |
Per FluxCD:
Of which they list two methods - CLI or w/ their Terraform provider. Why not use the bootstrap Terraform resource https://registry.terraform.io/providers/fluxcd/flux/latest/docs/resources/bootstrap_git ? |
Yeap this is what we use. There is no need to have Flux bootstraping as part of this project. |
I'm starting to agree with that as well - I hadn't spent time looking into FluxCD integration until just now and after seeing this, I wonder what value it provides here What permissions do the Flux IRSA roles require? Are those going to be custom to each specific implementation? |
@brenwhyte, if you look at the same doc (https://registry.terraform.io/providers/fluxcd/flux/latest/docs/guides/install-helm-release) the also mention some valid reasons for installing it via helm:
For context on why we are not using the CLI for bootstrapping, and this may be just our case, and maybe for historical reasons (or lack of time to find a better way), bootstrapping from CLI to a git repo which already had content lead to flux creating a parallel git tree, which forced us to manually fix it. Also, in terms of credentials, internally we prefer to not require PATs to deploy servers, if an ssh-key is all we require. At some point we decided it was better to install via helm early in the EKS setup process, and create the secrets and initial seed resources via kubernetes_manifests. Since we were already using other addons we are already deploying (cert-manager, external-dns, external-secrets, efs-csi, cluster-autoscaler, ...), and since the IRSA bits are very nice in avoiding work and ensuring consistency, we started looking into adding it to the addons, and sharing this back to the community. If @brenwhyte, @bryantbiggs and others in the project think approach of installing FluxCD doesn't have a place in the addons project, we can simply retire the PR, and keep using it in our fork for internal uses. Another alternative would of course be to implement FluxCD in addons using the bootstrap provider, but that would add another provider to requirements, and would be less consistent with the rest of the addons. Answering to @bryantbiggs question, the documentation of FluxCD defines 2 roles on 3 sa-accounts, for access to ECR and for access to KMS (https://fluxcd.io/flux/installation/configuration/workload-identity/#aws-iam-roles-for-service-accounts). |
From their docs
I don't think those are the permissions they are stating as required, but just as examples |
Yes, indeed not required, but certainly arguable that accessing ECR (and OCI on S3) via IRSA would be one of the desired goals when deploying to EKS. Based on the feedback above, I did a bit more research, and there seems to be a set of work in providing exactly this type of capabilities for FluxCD (listed in fluxcd/flux2#3003 and in the docs https://fluxcd.io/flux/security/contextual-authorization/). in the case of AWS, they identify and support 7 use cases, 5 of them already supported.
But maybe I am not understanding the intent or strategy for the addons, and I am trying to add things that are too specific. |
The future plan is to not include argocd or fluxcd in this terraform module.
|
Add support for Flux as an add-on
https://fluxcd.io/docs/installation/#bootstrap-with-terraform
The text was updated successfully, but these errors were encountered: