A drop-in ArgoCD Docker image replacement with preinstalled age, KSOPS, gojsontoyaml, go-jsonnet, jsonnet-bundler and helm-secrets.
https://github.com/shivjm/docker-argocd/issues
See all available tags at GitHub (shivjm/docker-argocd).
Because their free plan limits you to exactly one Personal Access Token. I refuse to use the same token for all my GitHub repositories, and I refuse to upgrade solely to get more tokens.
Because I refuse to give Red Hat my home address just to host a Docker image.
Assuming an ArgoCD manifest can be found at install.yaml, you can use images
in kustomization.yaml to replace the official ArgoCD image like so:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: argocd
resources:
- ./install.yaml
# wherever a container specifies the `quay.io/argoproj/argocd` image,
# use the specified image and tag instead
images:
- name: quay.io/argoproj/argocd
newName: ghcr.io/shivjm/argocd
newTag: v2.1.0
Specify global.image.repository
and global.image.tag
when installing using the community-maintained Helm chart: helm install --atomic argocd argo/argo-cd --set global.image.repository=ghcr.io/shivjm/argocd,global.image.tag=v2.1.0
Provenance attestations are embedded in the image via BuildKit and can be inspected through docker buildx imagetools inspect. For example:
docker buildx imagetools inspect ghcr.io/shivjm/argocd:v2.5.11 --format "{{ json .Provenance.SLSA }}"
SBOM attestations are embedded and can be inspected in the same way. For example:
docker buildx imagetools inspect ghcr.io/shivjm/argocd:v2.5.11 --format "{{ range .SBOM.SPDX.packages }}{{ println .name .versionInfo }}{{ end }}" | bat