What’s New in Argo CD v3.3? Explore PreDelete Hooks, Shallow Clones, and KEDA Support
Argo CD v3.3 introduces long‑awaited features such as PreDelete hooks for cleanup before resource removal, resource‑name‑based ClusterResourceWhitelist, shallow Git clone support, first‑class KEDA integration with pause/resume and health checks, plus numerous UI, CLI, and performance enhancements.
Introduction
Argo CD v3.3 introduces new lifecycle hooks, configuration options, and performance enhancements that improve GitOps workflows on Kubernetes.
PreDelete Hook
The PreDelete hook (pull request #22288) runs custom resources before Argo CD deletes an application’s manifests. This completes the set of lifecycle hooks (PreSync, Sync, PostSync, PreDelete).
apiVersion: batch/v1
kind: Job
metadata:
name: cleanup-job
annotations:
argocd.argoproj.io/hook: PreDelete
spec:
template:
spec:
containers:
- name: cleanup
image: alpine
command: ["sh", "-c", "echo 'Running pre-delete cleanup...'"]
restartPolicy: NeverThe job executes a cleanup command before the associated resources are removed.
Inline Parameter Support
Inline parameters (pull request #24277) allow values to be supplied directly during the hydration process, eliminating the need for separate parameter files.
Improved Monorepo Support
The source hydrator now handles monorepo workflows more efficiently (pull request #25056), reducing friction when multiple applications share a single repository.
Performance Improvements
Source hydrator calls to the repo‑server are minimized (pull request #25150), resulting in faster and more efficient manifest injection.
ClusterResourceWhitelist with Resource Names
Version 3.3 adds the ability to whitelist specific resource names, addressing a limitation where only API groups and kinds could be specified. This enables fine‑grained RBAC for CustomResourceDefinitions.
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: my-project
spec:
clusterResourceWhitelist:
- group: apiextensions.k8s.io
kind: CustomResourceDefinition
resourceNames:
- crd1.example.com
- crd2.example.comShallow Clone Support for Repositories
The shallow‑clone feature (pull request #24931) lets Argo CD fetch only the required commit depth, reducing git fetch time for large repositories from minutes to seconds. Enable it when adding a repository:
argocd repo add https://example.com/repo.git --depthKEDA First‑Class Support
Argo CD now fully supports KEDA resources. You can pause and resume ScaledObject and ScaledJob directly from the UI (pull request #25302), and the health status of ScaledJob is reported correctly (pull request #25106).
Other Notable Changes
Redis credentials via volume mount – safer secret handling (pull request #24597).
Ceph CRD health check – monitor Ceph storage health in Argo CD (pull request #24111).
AppSet UI abstraction layer – first step toward a full ApplicationSet UI (pull request #24916).
CLI filter by API group (pull request #25495).
Configurable Kubernetes API timeout (pull request #25271).
Allow forked releases to custom Quay registries (pull request #25365).
UI split refresh button with dropdown for hard refresh (pull request #25445).
Conditional rendering of application view extensions (pull request #25132).
Icons for application actions (pull request #25344).
pprof endpoint for ApplicationSet (pull request #25044).
PullRequest merge operation support (pull request #24823).
Getting Started
Installation instructions and the full changelog are available on the Argo CD releases page: https://github.com/argoproj/argo-cd/releases
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
