Skip to content
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

Explore ArgoCD operator #474

Open
nabuskey opened this issue Jan 7, 2025 · 2 comments
Open

Explore ArgoCD operator #474

nabuskey opened this issue Jan 7, 2025 · 2 comments

Comments

@nabuskey
Copy link
Collaborator

nabuskey commented Jan 7, 2025

Let's look into what we can do with the argocd operator. We don't need to run this in the cluster, we could just invoke it for what we need within the CLI.

Questions:

  • Can we use this as a way to set static passwords?
  • Can we use this as a way to deploy other applications at bootstrap time?

https://github.com/argoproj-labs/argocd-operator

@cmoulliard
Copy link
Contributor

cmoulliard commented Jan 8, 2025

The purpose of this Argocd operator (= kubernetes operator) is to install and configure the different resources of Argocd (Server, Redis, Application(Set) controllers, etc). As such, it replaces the deployment modes using Helm, static files etc

What do you want to do exactly ? What is your use case or user story ?

@nabuskey

@cmoulliard
Copy link
Contributor

Here is an example of ArgoCD CR deployed on openshift to set up OpenShift GitOps = Argocd

apiVersion: argoproj.io/v1beta1
kind: ArgoCD
metadata:
  name: argocd
  namespace: openshift-gitops
  finalizers:
    - argoproj.io/finalizer
spec:
  server:
    autoscale:
      enabled: false
    grpc:
      ingress:
        enabled: false
    ingress:
      enabled: false
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 125m
        memory: 128Mi
    route:
      enabled: true
      tls:
        termination: reencrypt
    service:
      type: ''
  grafana:
    enabled: false
    ingress:
      enabled: false
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 250m
        memory: 128Mi
    route:
      enabled: false
  monitoring:
    enabled: false
  notifications:
    enabled: true
  prometheus:
    enabled: false
    ingress:
      enabled: false
    route:
      enabled: false
  initialSSHKnownHosts: {}
  sso:
    dex:
      openShiftOAuth: true
      resources:
        limits:
          cpu: 500m
          memory: 256Mi
        requests:
          cpu: 250m
          memory: 128Mi
    provider: dex
  applicationSet:
    resources:
      limits:
        cpu: '2'
        memory: 1Gi
      requests:
        cpu: 250m
        memory: 512Mi
    webhookServer:
      ingress:
        enabled: false
      route:
        enabled: false
  rbac:
    defaultPolicy: ''
    policy: |
      g, system:cluster-admins, role:admin
      g, cluster-admins, role:admin
    scopes: '[groups]'
  extraConfig:
    resource.customizations.health.PersistentVolumeClaim: |
      hs = {}
      if obj.status ~= nil then
        if obj.status.phase ~= nil then
          if obj.status.phase == "Pending" then
            hs.status = "Healthy"
            hs.message = obj.status.phase
            return hs
          end
          if obj.status.phase == "Bound" then
            hs.status = "Healthy"
            hs.message = obj.status.phase
            return hs
          end
        end
      end
      hs.status = "Progressing"
      hs.message = "Waiting for PVC"
      return hs
  repo:
    resources:
      limits:
        cpu: '1'
        memory: 1Gi
      requests:
        cpu: 250m
        memory: 256Mi
  sourceNamespaces:
    - demo
    - cmoullia
    - amunozhe
    - iocanel
  resourceExclusions: |
    - apiGroups:
      - tekton.dev
      clusters:
      - '*'
      kinds:
      - TaskRun
  ha:
    enabled: false
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 250m
        memory: 128Mi
  tls:
    ca: {}
  redis:
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 250m
        memory: 128Mi
  controller:
    processors: {}
    resources:
      limits:
        cpu: '2'
        memory: 2Gi
      requests:
        cpu: 250m
        memory: 1Gi
    sharding: {}
status:
  server: Running
  notificationsController: Running
  host: argocd-server-openshift-gitops.apps.qshift.snowdrop.dev
  applicationController: Running
  applicationSetController: Running
  sso: Running
  repo: Running
  phase: Available
  redis: Running

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants