Git Product home page Git Product logo

Comments (6)

Joibel avatar Joibel commented on September 23, 2024

Vault Interop
Regarding ArgoCD Vault Plugin: This was one of the reasons for writing vault-replacer. Deploying a helm chart with values.yaml containing a replacable thing doesn't work in ArgoCD vault plugin, and cannot be made to.
Adding approle support to vault-replacer would be my fix for your scenario if I understand it correctly.
Overlays
Extending helm support in lovely for overlays would be easy and I'm happy to do that.
Kustomize overlays should already work, you just specify the location of the overlay. What doesn't work will be local relative paths outside of the current working directory, but this is because of Argo CD sandboxing of application deployments to prevent viewing of other application data. If you refer to a remote base it should work (although we don't support authentication at the moment (see #36).
Environment variables
I'm not sure what environment variables you want to do what. (Names are restricted by Argo CD (see #34))
The documented environment variables for merge or patching values.yaml or kustomization.yaml may be able to help you.
Please could you document what you'd like to see happen here?

from argocd-lovely-plugin.

rcarre avatar rcarre commented on September 23, 2024

Thanks @Joibel for your swift reply.

About Vault interop, I do confirm that adding approle support to vault-replacer is ok.

About overlays, you highlighted what's wrong in my case : What doesn't work will be local relative paths outside of the current working directory. In order to avoid duplicated configuration, instances configuration must be always setup as a deviation from a base setup. From this Top => Down model, I don't see how to manage all in a current working directory ...

About environment variables, this is the same idea : avoid hard coded duplicated configuration. Please have a look to the example below.
Let's consider an Ingress to access Prometheus GUI. The ingress manifest file is managed as a kustomize extra resource to Prometheus Helm chart.
The Ingress.spec.rules.host value does include the ${WILDCARD_FQDN} path of the k8s cluster where the ingress is gonna be deployed. What's the way to resolve such environment variable along Lovely plugin processing path ?

  • Dirty & short term solution

From ArgoCD 2.4, rename WILDCARD_FQDN into ARGOCD_ENV_WILDCARD_FQDN
In generate plugin command, add a first step to browse & envsubst the current working directory and then run lovely plugin

  • Mid term solution

As vault-replacer plugin does, build an envsubst-replacer running as preprocessing plugin of lovely plugin. Plugin envsubs-replacer should get the environment variable from a file in the current working directory.

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-signin: "https://oauth2.${WILDCARD_FQDN}/oauth2/start"
    nginx.ingress.kubernetes.io/auth-url: "http://${ARGOCD_OAUTH2_APP_NAME}-oauth2-proxy.${ARGOCD_OAUTH2_APP_NAMESPACE}.svc.cluster.local/oauth2/auth"
  name: "${ARGOCD_APP_NAME}-prometheus-oauth2"
spec:
  rules:
  - host: "${ARGOCD_APP_NAME}-prometheus-oauth2.${WILDCARD_FQDN}"
    http:
      paths:
      - backend:
          service:
            name: "${ARGOCD_APP_NAME}-prometheus-prometheus"
            port:
              number: 9090
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - "${ARGOCD_APP_NAME}-prometheus-oauth2.${WILDCARD_FQDN}"
    secretName: "${ARGOCD_APP_NAME}-tls-secret"

from argocd-lovely-plugin.

stale avatar stale commented on September 23, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from argocd-lovely-plugin.

stale avatar stale commented on September 23, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from argocd-lovely-plugin.

stale avatar stale commented on September 23, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from argocd-lovely-plugin.

stale avatar stale commented on September 23, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from argocd-lovely-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.