-
Notifications
You must be signed in to change notification settings - Fork 290
/
Copy pathargo-cd-2.7.yaml
113 lines (98 loc) · 4.29 KB
/
argo-cd-2.7.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package:
name: argo-cd-2.7
version: 2.7.17
epoch: 0
description: Declarative continuous deployment for Kubernetes.
copyright:
- license: Apache-2.0
dependencies:
provides:
- argo-cd=2.7.999
environment:
contents:
packages:
- busybox
- ca-certificates-bundle
- go
- nodejs-18
- python3
- yarn
pipeline:
- uses: git-checkout
with:
expected-commit: 13d723df9cd59b3a49ee54ab7c38f759dbc56179
repository: https://github.com/argoproj/argo-cd
tag: v${{package.version}}
- uses: go/bump
with:
deps: github.com/docker/[email protected] k8s.io/[email protected] go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected] go.opentelemetry.io/[email protected] go.opentelemetry.io/otel/exporters/otlp/otlptrace/[email protected] go.opentelemetry.io/otel/[email protected] golang.org/x/[email protected] github.com/cloudflare/[email protected]
replaces: github.com/whilp/git-urls=github.com/chainguard-dev/[email protected]
- 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
- uses: strip
subpackages:
- name: ${{package.name}}-repo-server
description: "ArgoCD repo server"
dependencies:
runtime:
- argo-cd-2.7-compat
- git
- git-lfs
- gnupg
- gpg
- gpg-agent
- tzdata
- helm
- kustomize
- openssh
provides:
- argo-cd-repo-server=2.7.999
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
- 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
dependencies:
provides:
- argo-cd-compat=2.7.999
update:
enabled: true
github:
identifier: argoproj/argo-cd
strip-prefix: v
tag-filter: v2.7.