Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions argo-cd-3.3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
package:
name: argo-cd-3.3
version: "3.3.0"
epoch: 0
description: Declarative continuous deployment for Kubernetes.
copyright:
- license: Apache-2.0
dependencies:
provides:
- argo-cd=${{package.full-version}}

var-transforms:
- from: ${{package.version}}
match: ^(\d+\.\d+)\.\d+$
replace: "$1"
to: major-minor-version

environment:
contents:
packages:
- busybox
- ca-certificates-bundle
- go
- nodejs-20
- patch
- yarn

pipeline:
- uses: git-checkout
with:
repository: https://github.com/argoproj/argo-cd
tag: v${{package.version}}
expected-commit: fd6b7d5b3cba5e7aa7ad400b0fb905a81018a77b

- runs: |
cd ui
yarn install
yarn cache clean
NODE_ENV='production' NODE_ONLINE_ENV='online' NODE_OPTIONS=--max_old_space_size=8192 yarn build

cd ..

# Our global LDFLAGS conflict with a Makefile parameter
unset LDFLAGS
# Our global `-pie` flag results in a binary that cannot be copied to a non chainguard image
# Disable the `-pie` flag here since ArgoCD's helm charts like to copy around the multicall binary to different images (ie: dex)

unset GOFLAGS

make argocd-all

mkdir -p ${{targets.destdir}}/usr/bin
mv dist/argocd* ${{targets.destdir}}/usr/bin/

ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-server
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-repo-server
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-cmp-server
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-application-controller
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-notifications
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-applicationset-controller
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-k8s-auth
ln -s /usr/bin/argocd ${{targets.destdir}}/usr/bin/argocd-commit-server

- uses: strip

subpackages:
- name: ${{package.name}}-repo-server
description: "ArgoCD repo server"
dependencies:
runtime:
- ${{package.name}}-compat
- git
- git-lfs
- gnupg
- gpg
- gpg-agent
- tzdata
- helm~3
- kustomize
- openssh
provides:
- argo-cd-repo-server=${{package.full-version}}
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}"/usr/bin
cp hack/gpg-wrapper.sh "${{targets.subpkgdir}}"/usr/bin/gpg-wrapper.sh
cp hack/git-verify-wrapper.sh "${{targets.subpkgdir}}"/usr/bin/git-verify-wrapper.sh
cp entrypoint.sh "${{targets.subpkgdir}}"/usr/bin/uid_entrypoint.sh
mkdir -p "${{targets.contextdir}}"/etc/ssh
touch "${{targets.contextdir}}"/etc/ssh/ssh_known_hosts
test:
pipeline:
- uses: test/virtualpackage
with:
virtual-pkg-name: argo-cd-repo-server
real-pkg-name: ${{subpkg.name}}

- name: ${{package.name}}-compat
description: "Compatibility package for locating binaries according to upstream helm charts"
pipeline:
- runs: |
# ArgoCD manifests and helm charts all hardcode the executables path to /usr/local/bin/*
mkdir -p "${{targets.subpkgdir}}"/usr/local/bin
# This must be copied and not symlinked due to how `argocd` copies executables between (init)containers
# example: https://github.com/argoproj/argo-helm/blob/argo-cd-5.33.1/charts/argo-cd/templates/dex/deployment.yaml#L136-L143
cp ${{targets.destdir}}/usr/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd

ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-server
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-repo-server
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-cmp-server
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-application-controller
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-notifications
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-applicationset-controller
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-k8s-auth
ln -s /usr/local/bin/argocd "${{targets.subpkgdir}}"/usr/local/bin/argocd-commit-server
dependencies:
provides:
- argo-cd-compat=${{package.full-version}}
test:
pipeline:
- uses: test/virtualpackage
with:
virtual-pkg-name: argo-cd-compat
real-pkg-name: ${{subpkg.name}}

- name: ${{package.name}}-iamguarded-compat
description: "compat package with iamguarded argo-cd image"
dependencies:
provides:
- argo-cd-iamguarded-compat=${{package.full-version}}
runtime:
- argo-cd-${{vars.major-minor-version}}
- bash
- coreutils
- dash-binsh
pipeline:
- uses: iamguarded/build-compat
with:
package: argo-cd
version: ${{vars.major-minor-version}}
- runs: |
mkdir -p /opt/iamguarded/argo-cd/bin/
chmod g+rwX /opt/iamguarded
ln -sf /usr/bin/argocd /opt/iamguarded/argo-cd/bin/argocd
ln -sf /usr/bin/argocd-server /opt/iamguarded/argo-cd/bin/argocd-server
ln -sf /usr/bin/argocd-repo-server /opt/iamguarded/argo-cd/bin/argocd-repo-server
ln -sf /usr/bin/argocd-cmp-server /opt/iamguarded/argo-cd/bin/argocd-cmp-server
ln -sf /usr/bin/argocd-application-controller /opt/iamguarded/argo-cd/bin/argocd-application-controller
ln -sf /usr/bin/argocd-notifications /opt/iamguarded/argo-cd/bin/argocd-notifications
ln -sf /usr/bin/argocd-applicationset-controller /opt/iamguarded/argo-cd/bin/argocd-applicationset-controller
ln -sf /usr/bin/argocd-k8s-auth /opt/iamguarded/argo-cd/bin/argocd-k8s-auth
ln -sf /usr/bin/argocd-commit-server /opt/iamguarded/argo-cd/bin/argocd-commit-server
- uses: iamguarded/finalize-compat
with:
package: argo-cd
version: ${{vars.major-minor-version}}
test:
pipeline:
- uses: iamguarded/test-compat
with:
package: argo-cd
version: ${{vars.major-minor-version}}

update:
enabled: true
github:
identifier: argoproj/argo-cd
strip-prefix: v
tag-filter: v3.3.

test:
pipeline:
- name: ArgoCD Version Check
runs: |
argocd version --short --client || exit 1
argocd --help
argocd-application-controller --help
argocd-applicationset-controller --help
argocd-cmp-server --help
argocd-k8s-auth --help
argocd-notifications --help
argocd-repo-server --help
argocd-server version
argocd-server --help
argocd-commit-server --help
Loading