Skip to content

Commit ff599ef

Browse files
author
Gordonby
committed
Adding transfer note
1 parent 4d10c18 commit ff599ef

File tree

1 file changed

+77
-14
lines changed

1 file changed

+77
-14
lines changed

.github/workflows/AppDeploy_JavaApp.yml

+77-14
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# This file is now been transferred to a new repository.
2-
# https://github.com/Azure-Samples/java-aks-keyvault-tls/blob/gb-workflow/.github/workflows/deployapp.yml
2+
# https://github.com/Azure-Samples/java-aks-keyvault-tls/blob/0.9-preview/.github/workflows/deployapp.yml
33
# Retarget any workflows to use the it instead of this one.
4+
# eg. uses: azure-samples/java-aks-keyvault-tls/.github/workflows/[email protected]
45

56
on:
67
workflow_call:
@@ -39,17 +40,16 @@ on:
3940
#- certmanager-staging
4041
#- certmanager-production
4142
#- appgw-selfsigned
42-
HELMAPPURI:
43-
default: "https://github.com/Azure-Samples/java-aks-keyvault-tls/raw/main/openjdk-demo-3.5.0.tgz"
43+
MINIHELMBRANCH:
44+
default: "main"
4445
required: false
4546
type: string
46-
FORCEHELMCLEANINSTALL:
47-
description: 'If App is already installed, remove explicitly before install'
48-
type: boolean
49-
default: false
47+
CERTMANAGERVERSION:
48+
default: "v1.5.3"
5049
required: false
50+
type: string
5151
UNINSTALLAFTERVERIFY:
52-
description: 'Uninstall app after tests'
52+
description: 'Uninstall app after tests [yes|no]'
5353
type: boolean
5454
default: true
5555
required: false
@@ -162,8 +162,19 @@ jobs:
162162
run: |
163163
az network dns record-set list -g $DNSRG -z $DNSDOMAIN --query "[?name=='$RECORDNAME'][{type:type,fqdn:fqdn,aRecords:aRecords,txtRecords:txtRecords}]"
164164
165-
- name: Force helm uninstall of existing application
166-
if: inputs.FORCEHELMCLEANINSTALL == true
165+
- name: Grab some Helm charts to install
166+
run: |
167+
BRANCH='${{ inputs.MINIHELMBRANCH }}'
168+
echo "$BRANCH"
169+
170+
if [ -z "$BRANCH" ]
171+
then
172+
BRANCH='main'
173+
fi
174+
175+
git clone -b $BRANCH https://github.com/Gordonby/minihelm.git helmcharts
176+
177+
- name: Check if App Helm Chart already installed
167178
env:
168179
APPNAME: "${{ inputs.APPNAME }}"
169180
run: |
@@ -178,8 +189,27 @@ jobs:
178189
sleep 1m
179190
fi
180191
192+
- name: Install Cert Manager
193+
if: startsWith(inputs.FRONTENDCERTTYPE, 'certmanager' )
194+
env:
195+
MANIFESTTESTURL: "https://github.com/jetstack/cert-manager/releases/download/${{ inputs.CERTMANAGERVERSION }}/cert-manager.yaml"
196+
run: |
197+
kubectl apply -f $MANIFESTTESTURL
198+
sleep 1m
199+
200+
- name: Install Cert Manager ClusterIssuer
201+
if: startsWith(inputs.FRONTENDCERTTYPE, 'certmanager' )
202+
env:
203+
EMAILAD: "[email protected]"
204+
run: |
205+
echo "Email Address for Lets Encrypt: $EMAILAD"
206+
helm upgrade --install smokecertissuer ./helmcharts/samples/certmanagerissuer --set email=$EMAILAD
207+
sleep 1m
208+
181209
- name: Verify Cert Manager ClusterIssuer
182210
if: startsWith(inputs.FRONTENDCERTTYPE, 'certmanager' )
211+
env:
212+
EMAILAD: "[email protected]"
183213
run: |
184214
case "${{ inputs.FRONTENDCERTTYPE }}" in
185215
"certmanager-staging") CERTSOURCE="letsEncrypt"; LEISSUER="letsencrypt-staging" ;;
@@ -188,13 +218,46 @@ jobs:
188218
189219
kubectl describe clusterissuer $LEISSUER
190220
221+
- name: Add a azure-config secret for use with externaldns
222+
env:
223+
DNSRESOURCEGROUP: "${{ inputs.DNSRG }}"
224+
RG: "${{ inputs.RG }}"
225+
AKSNAME: "${{ inputs.AKSNAME }}"
226+
run: |
227+
echo "AKS $AKSNAME"
228+
echo $DNSRESOURCEGROUP
229+
230+
KubeletId=$(az aks show -n $AKSNAME -g $RG --query "identityProfile.kubeletidentity.clientId" -o tsv)
231+
TenantId=$(az account show --query tenantId -o tsv)
232+
SubscriptionId=$(az account show --query id -o tsv)
233+
234+
JSONSECRETPATH="azure.json"
235+
cat<<EOF>$JSONSECRETPATH
236+
{
237+
"userAssignedIdentityID": "$KubeletId",
238+
"tenantId": "$TenantId",
239+
"useManagedIdentityExtension": true,
240+
"subscriptionId": "$SubscriptionId",
241+
"resourceGroup": "$DNSRESOURCEGROUP"
242+
}
243+
EOF
244+
245+
kubectl create secret generic azure-config-file --dry-run=client -o yaml --from-file=azure.json | kubectl apply -f -
246+
247+
- name: Add external dns config
248+
env:
249+
DOMAINFILTER: "${{ inputs.DNSDOMAIN }}"
250+
run: |
251+
echo $DOMAINFILTER
252+
helm upgrade --install externaldns ./helmcharts/samples/externaldns --set externaldns.domainfilter="$DOMAINFILTER"
253+
191254
- name: Install the Java sample app
192255
env:
193256
NAMESP: "default"
194257
APPNAME: "${{ inputs.APPNAME }}" #Using backend cert common name
195258
DOMAINSUFFIX: "${{ inputs.DNSDOMAIN }}"
196259
FRONTENDCERTNAME: "${{ inputs.APPNAME }}-fe"
197-
HELMAPPURI: "${{ inputs.HELMAPPURI }}"
260+
198261
run: |
199262
# REF: https://github.com/khowling/e2e-tls-java-aks
200263
@@ -218,8 +281,8 @@ jobs:
218281
export CSISECRET_CLIENTID=$(az aks show -g $RG --name $AKSNAME --query addonProfiles.azureKeyvaultSecretsProvider.identity.clientId -o tsv)
219282
echo $CSISECRET_CLIENTID
220283
221-
helm upgrade --install $APPNAME $HELMAPPURI --set nameOverride="${APPNAME}",frontendCertificateSource="${CERTSOURCE}",csisecrets.vaultname="${KVNAMELOWER}",csisecrets.tenantId="${KVTENANT}",csisecrets.clientId="${CSISECRET_CLIENTID}",dnsname="${DNSNAME}",appgw.frontendCertificateName="${APPNAME}-fe",appgw.rootCertificateName="${APPNAME}",letsEncrypt.issuer="${LEISSUER}",letsEncrypt.secretname="${APPNAME}-tls" --dry-run
222-
helm upgrade --install $APPNAME $HELMAPPURI --set nameOverride="${APPNAME}",frontendCertificateSource="${CERTSOURCE}",csisecrets.vaultname="${KVNAMELOWER}",csisecrets.tenantId="${KVTENANT}",csisecrets.clientId="${CSISECRET_CLIENTID}",dnsname="${DNSNAME}",appgw.frontendCertificateName="${APPNAME}-fe",appgw.rootCertificateName="${APPNAME}",letsEncrypt.issuer="${LEISSUER},letsEncrypt.secretname="${APPNAME}-tls""
284+
helm upgrade --install $APPNAME ./helmcharts/samples/javatlsappv3 --set nameOverride="${APPNAME}",frontendCertificateSource="${CERTSOURCE}",csisecrets.vaultname="${KVNAMELOWER}",csisecrets.tenantId="${KVTENANT}",csisecrets.clientId="${CSISECRET_CLIENTID}",dnsname="${DNSNAME}",appgw.frontendCertificateName="${APPNAME}-fe",appgw.rootCertificateName="${APPNAME}",letsEncrypt.issuer="${LEISSUER}",letsEncrypt.secretname="${APPNAME}-tls" --dry-run
285+
helm upgrade --install $APPNAME ./helmcharts/samples/javatlsappv3 --set nameOverride="${APPNAME}",frontendCertificateSource="${CERTSOURCE}",csisecrets.vaultname="${KVNAMELOWER}",csisecrets.tenantId="${KVTENANT}",csisecrets.clientId="${CSISECRET_CLIENTID}",dnsname="${DNSNAME}",appgw.frontendCertificateName="${APPNAME}-fe",appgw.rootCertificateName="${APPNAME}",letsEncrypt.issuer="${LEISSUER},letsEncrypt.secretname="${APPNAME}-tls""
223286
224287
- name: Wait for External DNS config
225288
env:
@@ -258,7 +321,7 @@ jobs:
258321
SECRETNAME: "${{ inputs.APPNAME }}-tls"
259322
run: |
260323
counter=1
261-
while [ $counter -le 15 ]
324+
while [ $counter -le 10 ]
262325
do
263326
kubectl get po
264327

0 commit comments

Comments
 (0)