argocd-clusterset

command module
v0.0.0-...-a0a9fea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

README

argocd-clusterset

argocd-clusterset is a command-line tool and Kubernetes controller to sync EKS clusters into ArgoCD cluster secrets.

Consider this as a tool to add EKS cluster auto-discovery to ArgoCD.

Intended to be used with ArgoCD's ApplicationSet controller, as you have no other "official"ish way to automatically deploy to auto-discovered clusters.

It's also recommended to use ArgoCD 1.8+, as ArgoCD's scalability has considerably increased starting that version, to help support managing a lot of clusters and application that might be the case when you use this and ApplicationSets. Please read their blog post introducing ArgoCD 1.8-rc.1 for more information on the scalability improvement.

Usage

argocd-clusterset is pretty experimental, so there's no tagged releases yet.

You need to clone this repository, and follow the below steps to deploy this as a K8s controller:

$ NAME=$YOUR_DOCKER_USER/argocd-clusterset make docker-buildx

$ (cd config/default; kustomize edit set image controller=$YOUR_DOCKER_USER/argocd-clusterset:latest)

# 
# With kustomize:
#

$ kustomize build config/default | kubectl apply -f - --dry-run
$ kustomize build config/default | kubectl apply -f -

#
# With helm:
#

$ helm upgrade --install --name clusterset-controller charts/clusterset-controller

$ cat <<EOF | kubectl apply -f -
apiVersion: clusterset.mumo.co/v1alpha1
kind: ClusterSet
metadata:
  name: myclusterset1
spec:
  selector:
    eksTags:
      foo: "bar"
  template:
    metadata:
      labels:
        env: "prod"
EOF

Or to use it as a command-line tool, run:

$ make build

$ ./argocd-clusterset sync \
  --namespace ns-for-cluster-secrets \
  --eks-tags environment=production --eks-tags owner=yourteam

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the actions v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterset.mumo.co
Package v1alpha1 contains API Schema definitions for the actions v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterset.mumo.co
pkg
run

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL