Join us

Argo CD Projects and Examples

0_tf-q--KExhMrvjun.png

So far, we have seen about Argo CD applications and CLI with some practical examples. Now lets another interesting feature on Argo CD called, Projects. In this post let’s about Argo CD Projects and how to manage it with example scenarios.

Argo CD Series: https://foxutech.com/category/kubernetes/argocd/

Projects

Projects provide a logical grouping of applications, which is useful when Argo CD is used by multiple teams like Devops, application, etc. Projects provide the following features:

  • restrict what may be deployed (trusted Git source repositories)
  • restrict where apps may be deployed to (destination clusters and namespaces)
  • restrict what kinds of objects may or may not be deployed (e.g., RBAC, CRDs, DaemonSets, NetworkPolicy etc…)
  • defining project roles to provide application RBAC (bound to OIDC groups and/or JWT tokens)

By default, argo cd comes with “default” project.

Default Project

Every application belongs to a single project. If unspecified, an application belongs to the default project, which is created automatically and by default, permits deployments from any source repo, to any cluster, and all resource Kinds. The default project can be modified, but not deleted. When initially created, it’s specification is configured to be the most permissive:

Creating Projects

Additional projects can be created to give separate teams different levels of access to namespaces.

We can create the argocd applications declaratively, Cli and webUI. The following command creates a new project project-alpha which can deploy applications to namespace mynamespace of cluster https://kubernetes.default.svc. The permitted Git source repository is set to https://github.com/foxutech/kubernetes.git repository.

In this post we will be seeing how to manage via Argo CD CLI, for declarative example. Please check on following video:

Managing Projects

Permitted source Git repositories are managed using commands:

Permitted destination clusters and namespaces are managed with the commands (for clusters always provide server, the name is not used for matching):

# argocd proj add-destination <PROJECT> <CLUSTER>,<NAMESPACE>
# argocd proj remove-destination <PROJECT> <CLUSTER>,<NAMESPACE>

Continue reading on https://foxutech.com/argo-cd-projects-and-examples/

You can follow us on social media, to get some short knowledges regularly.


Only registered users can post comments. Please, login or signup.

Start blogging about your favorite technologies, reach more readers and earn rewards!

Join other developers and claim your FAUN account now!

Avatar

We are Foxutech

@foxutech
#devops #docker #github #rundeck #nagios #linux #containers #kubernetes #terraform #ansible #saltstack #security #automation #microservices #gitops #argocd #crossplane #prometheus
User Popularity
185

Influence

17k

Total Hits

11

Posts