1212 # # Image config
1313 IMAGE_REPO : ' {{ .IMAGE_REPO | default "ghcr.io/agntcy" }}'
1414
15- DIRECTORY_IMAGE_TAG : ' {{ .DIRECTORY_IMAGE_TAG | default "v0.2.7 " }}'
16- DIRECTORY_CHART_TAG : ' {{ .DIRECTORY_CHART_TAG | default "v0.2.7 " }}'
15+ DIRECTORY_IMAGE_TAG : ' {{ .DIRECTORY_IMAGE_TAG | default "v0.4.0 " }}'
16+ DIRECTORY_CHART_TAG : ' {{ .DIRECTORY_CHART_TAG | default "v0.4.0 " }}'
1717 DIRECTORY_NAMESPACE : ' {{ .DIRECTORY_NAMESPACE | default "default" }}'
1818
1919 REMOVE_CONTAINERS : ' {{ .REMOVE_CONTAINERS | default "true" }}'
4141 else
4242 printf $DIRCTL_BIN_PATH
4343 fi
44- DIRCTL_BIN_VERSION : ' {{ .DIRCTL_BIN_VERSION | default "v0.2.7 " }}'
44+ DIRCTL_BIN_VERSION : ' {{ .DIRCTL_BIN_VERSION | default "v0.4.0 " }}'
4545
4646tasks :
4747 k8s:port-forward:setup :
@@ -65,13 +65,31 @@ tasks:
6565
6666 test-env:deploy :
6767 desc : Deploy Agntcy directory test env
68+ vars :
69+ HELM_VALUES : ' ./components/helm/values.yaml'
70+
71+ # Generate credentials
72+ HTPASSWD_USERNAME : ' apiserver'
73+ HTPASSWD_PASSWORD :
74+ sh : openssl rand -hex 16
75+ HTPASSWD_AUTH_HEADER :
76+ sh : echo -n "apiserver:{{ .HTPASSWD_PASSWORD }}" | base64
77+ HTPASSWD_SYNC_USERNAME : ' sync-user'
78+ HTPASSWD_SYNC_PASSWORD :
79+ sh : openssl rand -hex 16
6880 cmds :
6981 - |
7082 helm upgrade agntcy-dir \
7183 oci://{{ .IMAGE_REPO }}/dir/helm-charts/dir \
7284 --version {{ .DIRECTORY_CHART_TAG }} \
85+ -f {{ .HELM_VALUES }} \
7386 --set apiserver.image.tag="{{ .DIRECTORY_IMAGE_TAG }}" \
74- --set apiserver.config.oci.registry_address="agntcy-dir-zot:5000" \
87+ --set apiserver.config.store.oci.registry_address="agntcy-dir-zot:5000" \
88+ --set apiserver.config.store.oci.auth_config.username="{{ .HTPASSWD_USERNAME }}" \
89+ --set apiserver.config.store.oci.auth_config.password="{{ .HTPASSWD_PASSWORD }}" \
90+ --set apiserver.config.sync.auth_config.username="{{ .HTPASSWD_SYNC_USERNAME }}" \
91+ --set apiserver.config.sync.auth_config.password="{{ .HTPASSWD_SYNC_PASSWORD }}" \
92+ --set apiserver.zot.authHeader="{{ .HTPASSWD_AUTH_HEADER }}" \
7593 --namespace {{ .DIRECTORY_NAMESPACE }} \
7694 --create-namespace \
7795 --install \
@@ -88,21 +106,45 @@ tasks:
88106 desc : Deploy Directory network peers
89107 deps :
90108 - download:dirctl-bin
91- env :
92- DIRECTORY_LOGGER_LOG_LEVEL : ERROR
109+ vars :
110+ HELM_VALUES : ' ./components/helm/values.yaml'
111+
112+ # Generate credentials
113+ HTPASSWD_USERNAME : ' apiserver'
114+ HTPASSWD_PASSWORD :
115+ sh : openssl rand -hex 16
116+ HTPASSWD_AUTH_HEADER :
117+ sh : echo -n "apiserver:{{ .HTPASSWD_PASSWORD }}" | base64
118+ HTPASSWD_SYNC_USERNAME : ' sync-user'
119+ HTPASSWD_SYNC_PASSWORD :
120+ sh : openssl rand -hex 16
93121 cmds :
94122 - |
95- test -f /tmp/node.privkey || openssl genpkey -algorithm ED25519 -out /tmp/node.privkey
96- bootstrap_peerid=$({{ .DIRCTL_BIN_PATH }}/dirctl network info /tmp/node.privkey)
123+ # Generate private key if it doesn't exist
124+ - |
125+ test -f /tmp/node.privkey || {{.DIRCTL_BIN_PATH}}/dirctl network init --output /tmp/node.privkey
126+
127+ # Generate the bootstrap peer ID and export it to the environment file
128+ - |
129+ bootstrap_peerid=$({{.DIRCTL_BIN_PATH}}/dirctl network info /tmp/node.privkey)
97130 echo "PEER ID: ${bootstrap_peerid}"
98131 echo BOOTSTRAP_PEER_ID="${bootstrap_peerid}" > .env
132+
133+ - |
99134 helm upgrade agntcy-dir \
100135 oci://{{ .IMAGE_REPO }}/dir/helm-charts/dir \
101136 --version {{ .DIRECTORY_CHART_TAG }} \
137+ -f {{ .HELM_VALUES }} \
138+ -f ./components/config/bootstrap.yaml \
102139 --set apiserver.image.tag="{{ .DIRECTORY_IMAGE_TAG }}" \
140+ --set apiserver.config.store.oci.registry_address="agntcy-dir-zot:5000" \
141+ --set apiserver.config.routing.directory_api_address="agntcy-dir-apiserver.bootstrap.svc.cluster.local:8888" \
103142 --set apiserver.privKey="$(cat /tmp/node.privkey)" \
104- --set apiserver.config.oci.registry_address="agntcy-dir-zot:5000" \
105- -f ./components/config/bootstrap.yaml \
143+ --set apiserver.config.store.oci.auth_config.username="{{ .HTPASSWD_USERNAME }}" \
144+ --set apiserver.config.store.oci.auth_config.password="{{ .HTPASSWD_PASSWORD }}" \
145+ --set apiserver.config.sync.auth_config.username="{{ .HTPASSWD_SYNC_USERNAME }}" \
146+ --set apiserver.config.sync.auth_config.password="{{ .HTPASSWD_SYNC_PASSWORD }}" \
147+ --set apiserver.zot.authHeader="{{ .HTPASSWD_AUTH_HEADER }}" \
106148 --namespace bootstrap \
107149 --create-namespace \
108150 --install \
@@ -114,18 +156,40 @@ tasks:
114156 desc : Deploy Directory network peers
115157 deps :
116158 - test-env:bootstrap:deploy
159+ vars :
160+ HELM_VALUES_PATH : ' ./components/helm/values.yaml'
161+ # Generate credentials
162+ HTPASSWD_USERNAME : ' apiserver'
163+ HTPASSWD_PASSWORD :
164+ sh : openssl rand -hex 16
165+ HTPASSWD_AUTH_HEADER :
166+ sh : echo -n "apiserver:{{ .HTPASSWD_PASSWORD }}" | base64
167+ HTPASSWD_SYNC_USERNAME : ' sync-user'
168+ HTPASSWD_SYNC_PASSWORD :
169+ sh : openssl rand -hex 16
170+
117171 cmds :
172+ # Deploy the peer servers using Helm
118173 - for :
119174 matrix :
120175 PEER : ['peer1', 'peer2', 'peer3']
121176 cmd : |
122177 export $(cat .env)
178+
123179 helm upgrade agntcy-dir \
124- oci://{{ .IMAGE_REPO }}/dir/helm-charts/dir \
180+ oci://{{ .IMAGE_REPO }}/dir/helm-charts/dir \
181+ -f {{ .HELM_VALUES_PATH }} \
125182 --version {{ .DIRECTORY_CHART_TAG }} \
126- --set apiserver.image.tag=" {{ .DIRECTORY_IMAGE_TAG }}" \
183+ --set apiserver.config.store.oci.registry_address="agntcy-dir-zot. {{ .ITEM.PEER }}.svc.cluster.local:5000 " \
127184 --set apiserver.config.routing.bootstrap_peers[0]="/dns4/agntcy-dir-apiserver-routing.bootstrap.svc.cluster.local/tcp/8999/p2p/${BOOTSTRAP_PEER_ID}" \
128- --set apiserver.config.oci.registry_address="agntcy-dir-zot:5000" \
185+ --set apiserver.config.routing.directory_api_address="agntcy-dir-apiserver.{{ .ITEM.PEER }}.svc.cluster.local:8888" \
186+ --set-json 'apiserver.extraVolumes=[{"name":"zot-config-storage","hostPath":{"path":"/opt/zot-config-{{ .ITEM.PEER }}","type":"DirectoryOrCreate"}}]' \
187+ --set-json 'apiserver.zot.extraVolumes=[{"name":"zot-config-storage","hostPath":{"path":"/opt/zot-config-{{ .ITEM.PEER }}","type":"DirectoryOrCreate"}}]' \
188+ --set apiserver.config.store.oci.auth_config.username="{{ .HTPASSWD_USERNAME }}" \
189+ --set apiserver.config.store.oci.auth_config.password="{{ .HTPASSWD_PASSWORD }}" \
190+ --set apiserver.zot.authHeader="{{ .HTPASSWD_AUTH_HEADER }}" \
191+ --set apiserver.config.sync.auth_config.username="{{ .HTPASSWD_SYNC_USERNAME }}" \
192+ --set apiserver.config.sync.auth_config.password="{{ .HTPASSWD_SYNC_PASSWORD }}" \
129193 --namespace "{{ .ITEM.PEER }}" \
130194 --create-namespace \
131195 --install \
0 commit comments