cnoe-io / idpbuilder

Spin up a complete internal developer platform with only Docker required as a dependency.
https://cloud-native.slack.com/archives/C05TN9WFN5S
Apache License 2.0
182 stars 57 forks source link

[Suggestion] Remove the hard coded ingress yaml resources to use instead a helm chart deployed using argoCD #34

Open cmoulliard opened 1 year ago

cmoulliard commented 1 year ago

Suggestion

Remove the hard coded ingress yaml resources to use instead a helm chart deployed using argoCD

How to reproduce

helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace -f values.yaml

- Check in your browser that you can access the argoCD UI: `https://argocd.idpbuilder.cnoe.io.local:8443/`

## Next step

Replace the Helm command with an Application CR. Something like (NOT TESTED):

apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: ingress-nginx-helm namespace: argocd spec: destination: namespace: ingress-nginx server: "https://kubernetes.default.svc" source: chart: ingress-nginx repoURL: https://kubernetes.github.io/ingress-nginx targetRevision: 4.8.2 helm: releaseName: ingress-nginx values: | controller: allowSnippetAnnotations: true service: type: NodePort hostPort:

Use host ports 80 and 443

        enabled: true
      watchIngressWithoutClass: true
      extraArgs:
        enable-ssl-passthrough: ""
      nodeSelector:
        # This selector is needed as it has been declared as kind kubeletExtraArgs => node-labels: "ingress-ready=true"
        ingress-ready: "true"
      tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/master
          operator: Equal
        - effect: NoSchedule
          key: node-role.kubernetes.io/control-plane
          operator: Equal

project: idpbuilder-embedded-gitserver syncPolicy: automated: prune: true selfHeal: true syncOptions:

nimakaviani commented 1 year ago

yeah, this aligns well with the previous conversation in using Argo Apps for anything other than Argo CD and Argo Workflows that needs to be installed.