Directory

Introduction

Directory type application loads manifests directly from .yml, .yaml, or .json files. Directory applications can be created via the platform UI, Argo CD Dashboard, CLI, or declaratively. Example declarative syntax:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
spec:
  destination:
    namespace: default
    server: https://kubernetes.default.svc
  project: default
  source:
    path: guestbook
    repoURL: https://github.com/argoproj/argocd-example-apps.git
    targetRevision: HEAD

No spec.source.directory field is required unless additional configuration options are needed. Argo CD automatically detects whether the source repository/path contains plain manifest files.

Advantages

  • Simplicity: Directly loads resources from manifest files without additional abstraction.

  • Low Maintenance: No configuration management overhead.

Use Cases

  • Managing multiple Kubernetes resources (e.g., Deployments, Services, ConfigMaps).

  • Small-scale projects, minimal resources, or rapid GitOps adoption.

  • Deploying raw YAML files without dynamic templating or complex configuration management.

WARNING

Directory type applications only support plain manifest files. If Argo CD detects Kustomize, Helm, or Jsonnet files in a Directory path, it will fail to render manifests.

References

For more detailed instructions, refer to: Directory