---
next_cursor: eyJzY29yZSI6MCwic2VxIjoxMTM2LCJzaW5jZSI6bnVsbCwidG9vbCI6ImFyZ29jZCIsInYiOjF9
has_more: true
next: https://sincecutoff.com/v1/changes.md?tool=argocd&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxMTM2LCJzaW5jZSI6bnVsbCwidG9vbCI6ImFyZ29jZCIsInYiOjF9
items: 10
---
# sincecutoff.com changes: argocd

## Argo CD PullRequest resource merge action (argocd, 2026-02-02)
Published 2026-10-16
- slug: argo-cd-pullrequest-resource-merge-action-4e3c395e0822
- score: 0.94

How to use it:

When the Argo CD application contains the target PullRequest resource in the `open` state, run its `merge` action to set its state to `merged`.

Examples:

```
argocd app actions run <app-name> merge --kind PullRequest --group promoter.argoproj.io --namespace <resource-namespace> --resource-name <resource-name>
```

- why_it_matters: Merge a GitOps Promoter PullRequest resource from Argo CD.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/24823>, <https://argo-cd.readthedocs.io/en/release-3.4/user-guide/commands/argocd_app_actions_run/>, <https://github.com/argoproj/argo-cd/blob/v3.3.0/resource_customizations/promoter.argoproj.io/PullRequest/actions/discovery.lua>
- gotchas: "Version: v3.3.0"; "<app-name> (required): Application name."; "merge (required): Action name; the PullRequest action is discovered as `merge`."; "--kind (required): Resource kind; use `PullRequest`."; "--group: Resource API group; use `promoter.argoproj.io`."; "--namespace: Filter by resource namespace."; "--resource-name: Filter by resource name."; "Prerequisite: The action is enabled for a PullRequest resource whose `spec.state` is `open`; the action sets `spec.state` to `merged`."; "Prerequisite: `argocd app actions run` requires `--kind`; the documented CLI syntax and flags were found in Argo CD v3.4 docs, not v3.3.0 docs."

## Argo CD Redis credentials can be read from mounted files (argocd, 2026-02-02)
Published 2026-10-16
- slug: argo-cd-redis-credentials-can-be-read-from-mounted-files-b7b36ffe5d63
- score: 0.93

How to use it:

When configuring Redis-connected Argo CD components to use mounted file credentials, create a Secret with `auth` and mount it into each component. Set `REDIS_CREDS_DIR_PATH` to the mount directory; file credentials take precedence over credential environment variables.

Examples:

```
apiVersion: v1
kind: Secret
metadata:
  name: <secret-name>
  namespace: argocd
type: Opaque
stringData:
  auth: "<redis-password>"
  auth_username: "<redis-username>"
  sentinel_auth: "<sentinel-password>"
  sentinel_username: "<sentinel-username>"
```

```
spec:
  containers:
  - name: <component-container>
    env:
    - name: REDIS_CREDS_DIR_PATH
      value: "/var/run/secrets/redis"
    volumeMounts:
    - name: redis-creds
      mountPath: "/var/run/secrets/redis"
      readOnly: true
  volumes:
  - name: redis-creds
    secret:
      secretName: <secret-name>
```

- why_it_matters: Configure Argo CD components to read Redis credentials from a mounted Kubernetes Secret.
- before: Configure Redis credentials through environment variables such as `REDIS_PASSWORD`.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/24597>, <https://argo-cd.readthedocs.io/en/release-3.3/faq/>
- gotchas: "Version: v3.3.0"; "REDIS_CREDS_DIR_PATH (required): Environment variable containing the mounted credential directory path; when specified, file credentials take precedence and environment-variable values are ignored."; "auth (required): Redis password file."; "auth_username: Redis username file."; "sentinel_auth: Redis Sentinel password file."; "sentinel_username: Redis Sentinel username file."; "Prerequisite: Mount the credential Secret into each Redis-connected Argo CD component that needs access. Components named by the docs: application-controller, repo-server, and server."; "The FAQ uses `REDIS_CREDS_DIR_PATH`; the PR description also names `REDIS_CREDS_FILE_PATH`."; "`auth` is mandatory; the other listed credential files are optional."; "When `REDIS_CREDS_DIR_PATH` is specified, file credentials take precedence and environment-variable values are ignored."; "The supplied example manifest excerpt does not include a complete component volume mount configuration."; "Docs conflict: The release-note PR description names REDIS_CREDS_FILE_PATH, while the v3.3 FAQ specifies REDIS_CREDS_DIR_PATH; use the documented v3.3 name."

## Argo CD supports PreDelete hooks (argocd, 2026-02-02)
Published 2026-10-16
- slug: argo-cd-supports-predelete-hooks-70c82cdb5ebe
- score: 0.96

How to use it:

When an Argo CD Application is deleted, define a `PreDelete` hook to run cleanup before its resources are deleted. It does not run during normal sync, including pruning.

Examples:

```
apiVersion: batch/v1
kind: Job
metadata:
  name: <cleanup-job>
  annotations:
    argocd.argoproj.io/hook: PreDelete
spec:
  template:
    spec:
      containers:
        - name: cleanup
          image: <image>
          command: ["<cleanup-command>"]
      restartPolicy: Never
```

```
# Helm chart template annotation:
helm.sh/hook: pre-delete
```

- why_it_matters: Run a cleanup hook before deleting an Application's resources.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/22288>, <https://github.com/argoproj/argo-cd/blob/v3.3.0/docs/user-guide/sync-waves.md>, <https://github.com/argoproj/argo-cd/blob/v3.3.0/docs/user-guide/helm.md>
- gotchas: "Version: v3.3.0"; "argocd.argoproj.io/hook (required): Set to `PreDelete` to run the resource before Application resources are deleted."; "helm.sh/hook: Set to `pre-delete` in a Helm chart; documented as equivalent to the Argo CD `PreDelete` hook annotation."; "metadata.annotations (required): Place the hook annotation on the resource manifest."; "Prerequisite: Use an Argo CD version that supports PreDelete hooks; this change is documented in v3.3.0."; "Prerequisite: The hook must be defined in the Application's manifests. Argo CD waits for PreDelete hooks to reach Healthy before continuing deletion."; "PreDelete runs only when the entire Application is deleted, not during normal sync operations, including pruning."

## argocd app get-resource filters by group (argocd, 2026-02-02)
Published 2026-10-16
- slug: argocd-app-get-resource-filters-by-group-736ef0d5a97f
- score: 0.94

How to use it:

When you need to retrieve an application resource filtered to an API group, run `argocd app get-resource` with the application name, required resource kind, and `--group`.

Examples:

```
argocd app get-resource <APPNAME> --kind <KIND> --group <GROUP>
```

- why_it_matters: Retrieve an application resource when you need to restrict the result to an API group.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/25495>, <https://github.com/argoproj/argo-cd/blob/v3.3.0/docs/user-guide/commands/argocd_app_get-resource.md>
- gotchas: "Version: v3.3.0"; "APPNAME (required): Application name positional argument."; "--kind (required): Kind of resource."; "--group: Group."

## argocd app list filters applications by path (argocd, 2026-02-02)
Published 2026-10-16
- slug: argocd-app-list-filters-applications-by-path-4f892980e6c8
- score: 0.97

How to use it:

When you need applications matching a repository path, run `argocd app list -P <path>`; `-P` and `--path` are documented aliases for listing apps by path.

Examples:

```
argocd app list -P <path>
```

- why_it_matters: List applications from the Argo CD CLI that match a repository path.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/24834>, <https://argo-cd.readthedocs.io/en/release-3.3/user-guide/commands/argocd_app_list/>
- gotchas: "Version: v3.3.0"; "-P, --path <string>: List apps by path."

## Source Hydrator supports inline Helm source parameters (argocd, 2026-02-02)
Published 2026-10-16
- slug: source-hydrator-supports-inline-helm-source-parameters-7d0be0f084f0
- score: 0.96

How to use it:

When configuring a Source Hydrator Application to render a Helm chart with environment-specific values, put the Helm settings under `spec.sourceHydrator.drySource.helm`; the hydrator uses that inline source configuration when rendering.

Examples:

```
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-helm-app
spec:
  sourceHydrator:
    drySource:
      repoURL: https://github.com/argoproj/argocd-example-apps
      path: helm-guestbook
      targetRevision: HEAD
      helm:
        valueFiles:
          - values-prod.yaml
        parameters:
          - name: image.tag
            value: v1.2.3
        releaseName: my-release
    syncSource:
      targetBranch: environments/prod
      path: helm-guestbook-hydrated
```

- why_it_matters: Configure a Source Hydrator Application to render a Helm chart with environment-specific values.
- before: Source Hydrator supported basic Git repository fields (`repoURL`, `targetRevision`, `path`) in `DrySource`, but not Helm-specific configuration such as value files or parameters.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.3.0>, <https://github.com/argoproj/argo-cd/pull/24277>, <https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.0/docs/user-guide/source-hydrator.md>
- gotchas: "Version: v3.3.0"; "Availability: Source Hydrator is identified as an alpha feature in the PR description."; "spec.sourceHydrator.drySource.repoURL (required): Repository URL containing the source."; "spec.sourceHydrator.drySource.path: Path to the source within the repository."; "spec.sourceHydrator.drySource.targetRevision (required): Revision of the dry source."; "spec.sourceHydrator.drySource.helm.valueFiles: Helm values files used to override chart values."; "spec.sourceHydrator.drySource.helm.parameters[].name: Helm parameter name to set."; "spec.sourceHydrator.drySource.helm.parameters[].value: Value for the named Helm parameter."; "spec.sourceHydrator.drySource.helm.releaseName: Helm release name override."; "spec.sourceHydrator.syncSource.targetBranch (required): Branch receiving hydrated manifests."; "spec.sourceHydrator.syncSource.path (required): Output path for hydrated manifests; must be a non-root repository directory."; "Prerequisite: Source Hydrator is disabled by default. Enable the commit server and set `hydrator.enabled: \"true\"` in `argocd-cmd-params-cm`, then restart the Argo CD controller and API server."; "Prerequisite: Install separate pull and push repository secrets for the source repository."

## Application toggle-auto-sync resource action (argocd, 2026-08-04)
Published 2026-10-16
- slug: application-toggle-auto-sync-resource-action-036002c5012a
- score: 0.97

How to use it:

When a role needs to toggle an Application's auto-sync without broad update access, grant the dedicated action permission and run `toggle-auto-sync` on the Application. Disabling saves the documented auto-sync settings, while enabling restores saved settings when present.

Examples:

```
p, role:dev, applications, action/argoproj.io/Application/toggle-auto-sync, */*, allow
```

```
argocd app actions run <APPNAME> toggle-auto-sync --kind Application --group argoproj.io
```

- why_it_matters: Grant a role permission to toggle autosync on an Application without granting broad application update permission.
- before: Toggling auto-sync required the broad `application update` permission.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.5.0>, <https://github.com/argoproj/argo-cd/pull/26477>, <https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/rbac.md>, <https://argo-cd.readthedocs.io/en/release-3.4/user-guide/commands/argocd_app_actions_run/>
- gotchas: "Version: v3.5.0"; "applications (required): RBAC resource on which the action permission applies."; "action/argoproj.io/Application/toggle-auto-sync (required): Action path; format is `action/<group>/<kind>/<action-name>`."; "<APPNAME> (required): Application name."; "toggle-auto-sync (required): Action name to run."; "--kind Application (required): Selects the resource kind; `--kind` is the required filter."; "--group argoproj.io: Selects the resource API group."; "--resource-name <RESOURCE>: Filters by resource name."; "--namespace <NAMESPACE>: Filters by resource namespace."; "--all: Runs the action on all matching resources when more than one matches."; "Prerequisite: Resource actions are controlled with the RBAC `action` action; the permission path uses `action/<group>/<kind>/<action-name>`."; "Prerequisite: The CLI command requires `--kind`; other resource filters are optional. Actions run only on resources represented in Git and cannot run on child resources."

## ApplicationSet controller SCM proxy flags (argocd, 2026-08-04)
Published 2026-10-16
- slug: applicationset-controller-scm-proxy-flags-d7b3600fecd0
- score: 0.98

How to use it:

When the ApplicationSet controller must reach GitHub, GitLab, Gitea, or Bitbucket Server APIs through a proxy, set `--scm-proxy-url` and optionally `--scm-no-proxy` (or their documented environment variables). These settings route outbound SCM API requests; use `--proxy-url` for Kubernetes API traffic.

Examples:

```
argocd-applicationset-controller \
  --scm-proxy-url=http://<proxy-host>:<port> \
  --scm-no-proxy=<host-or-CIDR>[,<host-or-CIDR>...]
```

```
ARGOCD_APPLICATIONSET_CONTROLLER_SCM_PROXY_URL=http://<proxy-host>:<port>
ARGOCD_APPLICATIONSET_CONTROLLER_SCM_NO_PROXY=<host-or-CIDR>[,<host-or-CIDR>...]
```

- why_it_matters: Generate ApplicationSets from SCM provider APIs through a proxy while keeping Kubernetes API traffic on its existing route.
- before: Use `--proxy-url` to route the controller's traffic through a proxy, including Kubernetes API requests.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.5.0>, <https://github.com/argoproj/argo-cd/pull/27788>, <https://argo-cd.readthedocs.io/en/release-3.5/operator-manual/applicationset/Generators-SCM-Provider/>, <https://argo-cd.readthedocs.io/en/release-3.5/operator-manual/server-commands/argocd-applicationset-controller/>
- gotchas: "Version: v3.5.0"; "--scm-proxy-url / ARGOCD_APPLICATIONSET_CONTROLLER_SCM_PROXY_URL (required): HTTP/HTTPS proxy URL for outbound SCM provider API requests; does not affect Kubernetes API connectivity."; "--scm-no-proxy / ARGOCD_APPLICATIONSET_CONTROLLER_SCM_NO_PROXY: Comma-separated hosts that bypass the SCM proxy."; "--proxy-url: Use this standard kubectl flag to proxy Kubernetes API traffic."; "Prerequisite: Use an HTTP/HTTPS proxy; documented provider coverage is GitHub, GitLab, Gitea, and Bitbucket Server."; "`--scm-proxy-url` affects outbound SCM API requests and does not affect Kubernetes API server connectivity."; "Proxy support is stated for GitHub, GitLab, Gitea, and Bitbucket Server."

## ApplicationSet SCM generators filter archived repositories (argocd, 2026-08-04)
Published 2026-10-16
- slug: applicationset-scm-generators-filter-archived-repositories-190a2a88c705
- score: 0.98

How to use it:

When configuring an ApplicationSet SCM generator for GitHub or Gitea, set `excludeArchivedRepos: true` to exclude archived repositories; for GitLab, set `includeArchivedRepos: true` to include them. Both fields default to false.

Examples:

```
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: <appset-name>
spec:
  generators:
    - scmProvider:
        github:
          organization: <github-organization>
          excludeArchivedRepos: true
```

```
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: <appset-name>
spec:
  generators:
    - scmProvider:
        gitlab:
          group: <gitlab-group-id-or-path>
          includeArchivedRepos: true
```

```
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: <appset-name>
spec:
  generators:
    - scmProvider:
        gitea:
          owner: <gitea-organization>
          excludeArchivedRepos: true
```

- why_it_matters: Configure an ApplicationSet SCM generator to include or exclude archived repositories.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.5.0>, <https://github.com/argoproj/argo-cd/pull/21505>, <https://github.com/argoproj/argo-cd/blob/v3.5.0/docs/operator-manual/applicationset/Generators-SCM-Provider.md>
- gotchas: "Version: v3.5.0"; "excludeArchivedRepos: Exclude archived repositories; defaults to false. Documented for GitHub and Gitea."; "includeArchivedRepos: Include archived repositories; defaults to false. Documented for GitLab."; "github.organization (required): Name of the GitHub organization to scan."; "gitlab.group (required): Name of the base GitLab group to scan; may be a group ID or full namespaced path."; "gitea.owner (required): Name of the Gitea organization to scan."; "The filter currently supports GitHub, GitLab, and Gitea."; "GitLab excludes archived repositories by default; its option allows archived repositories to be included."

## Argo CD Git tag path prefixes (argocd, 2026-08-04)
Published 2026-10-16
- slug: argo-cd-git-tag-path-prefixes-11b55db5aa36
- score: 0.98

How to use it:

When resolving a Git semver target within a tag path, set `tagPrefix` with `targetRevision`. Argo CD filters tags by that prefix, strips it for constraint evaluation, then restores it on the resolved version; semver constraints match tags, not branches.

Examples:

```
argocd app set <APPNAME> --revision '1.0.*' --tag-prefix 'component-b/'
```

```
spec:
  source:
    targetRevision: 1.0.*
    tagPrefix: component-b/
```

- why_it_matters: Resolve a semver target revision against tags scoped to a component or environment prefix.
- sources: <https://github.com/argoproj/argo-cd/releases/tag/v3.5.0>, <https://github.com/argoproj/argo-cd/pull/27290>, <https://github.com/argoproj/argo-cd/blob/v3.5.0/docs/user-guide/commands/argocd_app_set.md>, <https://github.com/argoproj/argo-cd/blob/v3.5.0/docs/user-guide/tracking_strategies.md>
- gotchas: "Version: v3.5.0"; "APPNAME (required): Application name."; "--revision: Tracking source branch, tag, commit, or Helm chart version; use a semver constraint for Git tag resolution."; "--tag-prefix: Filters Git tags by this prefix before evaluating `targetRevision` as a semver constraint."; "targetRevision (required): For this task, the semver constraint used to resolve a Git tag; constraints match tags, never branches."; "tagPrefix: Filters tags to those with the prefix, strips it before comparing against `targetRevision`, and re-adds it to the resolved version. No mutually exclusive values are documented."; "Semver constraints are matched against tags, never branches."; "The source describes basic support for Git tag path prefixes."

Next: https://sincecutoff.com/v1/changes.md?tool=argocd&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxMTM2LCJzaW5jZSI6bnVsbCwidG9vbCI6ImFyZ29jZCIsInYiOjF9
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
