Skip to content

Commit 50f6204

Browse files
stephencsheltonaduth
authored andcommitted
Adding in kustomize based deploy, and application.yaml
* Adding in url for argocd application deploy * Adding in final changes * revert * testing * testing * testing * Switching this back again * Anything in here * Seeing if there is any useful output here * Seeing if this makes the logs happier * more testing * more testing * testing * bundle * add bundle check * change nokogiri * add frozen gemfile to bundler * Adding in kustomize based deploy, and application.yaml Co-authored-by: Mitchell Henke <mitchell.henke@gsa.gov> See merge request lg/identity-pki!27
1 parent ddd252b commit 50f6204

File tree

2 files changed

+584
-128
lines changed

2 files changed

+584
-128
lines changed

.gitlab-ci.yml

Lines changed: 19 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ variables:
99
DASHBOARD_IMAGE_TAG: 'main'
1010
PIVCAC_CI_SHA: 'sha256:04f6efe81f49a29ab112faad41e096220af5ffca3b66ea2486e1d1611afff215'
1111
CI: 'true'
12+
APPLICATION_MANIFEST: k8files/application.yaml
1213

1314
default:
1415
image: '${ECR_REGISTRY}/pivcac/ci@${PIVCAC_CI_SHA}'
@@ -306,139 +307,29 @@ review-app:
306307
- kubectl config get-contexts
307308
- export CONTEXT=$(kubectl config get-contexts | grep reviewapp | awk '{print $1}' | head -1)
308309
- kubectl config use-context "$CONTEXT"
309-
- |-
310-
export IDP_CONFIG=$(cat <<EOF
311-
{
312-
"kubernetesReviewApp": "true",
313-
"postgres": {
314-
"sslmode": "prefer",
315-
"name": "idp",
316-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-pg.review-apps"
317-
},
318-
"postgresWorker": {
319-
"sslmode": "prefer",
320-
"name": "idp",
321-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-pg.review-apps"
322-
},
323-
"railsOffline": "true",
324-
"redis": {
325-
"irsAttemptsApiUrl": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379/2",
326-
"throttleUrl": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379/1",
327-
"url": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379"
328-
},
329-
"assetHost": "https://$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
330-
"domainName": "$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
331-
"loginDatacenter": "true",
332-
"loginDomain": "identitysandbox.gov",
333-
"loginEnv": "$CI_ENVIRONMENT_SLUG",
334-
"loginHostRole": "idp",
335-
"loginSkipRemoteConfig": "true",
336-
"pivcacServiceUrl": "https://$CI_ENVIRONMENT_SLUG.reviewapp.pivcac.identitysandbox.gov/",
337-
"pivcacVerifyTokenUrl": "https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov/",
338-
"dashboardUrl": "https://$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov"
339-
}
340-
EOF
341-
)
342-
- |-
343-
export WORKER_CONFIG=$(cat <<EOF
344-
{
345-
"kubernetesReviewApp": "true",
346-
"postgres": {
347-
"sslmode": "prefer",
348-
"name": "idp",
349-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-pg.review-apps"
350-
},
351-
"postgresWorker": {
352-
"sslmode": "prefer",
353-
"name": "idp",
354-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-pg.review-apps"
355-
},
356-
"railsOffline": "true",
357-
"redis": {
358-
"irsAttemptsApiUrl": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379/2",
359-
"throttleUrl": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379/1",
360-
"url": "redis://$CI_ENVIRONMENT_SLUG-login-chart-redis.review-apps:6379"
361-
},
362-
"assetHost": "https://$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
363-
"domainName": "$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
364-
"loginDatacenter": "true",
365-
"loginDomain": "identitysandbox.gov",
366-
"loginEnv": "$CI_ENVIRONMENT_SLUG",
367-
"loginHostRole": "worker",
368-
"loginSkipRemoteConfig": "true",
369-
"pivcacServiceUrl": "https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov/",
370-
"pivcacVerifyTokenUrl": "https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov/"
371-
}
372-
EOF
373-
)
374-
- |-
375-
export PIVCAC_CONFIG=$(cat <<EOF
376-
{
377-
"kubernetesReviewApp": "true",
378-
"clientCertS3Bucket": "login-gov-pivcac-public-cert-reviewapps.894947205914-us-west-2",
379-
"postgres": {
380-
"sslmode": "prefer",
381-
"name": "idp",
382-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-pivcac-pg.review-apps"
383-
},
384-
"idpHost": "$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
385-
"domainName": "$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov"
386-
}
387-
EOF
388-
)
389-
- |-
390-
export DASHBOARD_CONFIG=$(cat <<EOF
391-
{
392-
"kubernetesReviewApp": "true",
393-
"postgres": {
394-
"sslmode": "prefer",
395-
"name": "dashboard",
396-
"host": "$CI_ENVIRONMENT_SLUG-login-chart-dashboard-pg.review-apps"
397-
},
398-
"newrelic": {
399-
"enabled": "false"
400-
},
401-
"samlSpIssuer": "https://$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov",
402-
"idpUrl": "https://$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
403-
"idpSpUrl": "https://$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov",
404-
"postLogoutUrl": "https://$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov",
405-
"domainName": "$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov"
406-
}
407-
EOF
408-
)
409-
- git clone -b main --single-branch https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.login.gov/lg-public/identity-idp-helm-chart.git
410-
- >-
411-
helm upgrade --install --namespace review-apps
412-
--debug
413-
--set env="reviewapps-$CI_ENVIRONMENT_SLUG"
414-
--set idp.image.repository="${ECR_REGISTRY}/identity-idp/review"
415-
--set idp.image.tag="${IDP_IMAGE_TAG}"
416-
--set worker.image.repository="${ECR_REGISTRY}/identity-idp/review"
417-
--set worker.image.tag="${IDP_IMAGE_TAG}"
418-
--set pivcac.image.repository="${ECR_REGISTRY}/identity-pivcac/review"
419-
--set pivcac.image.tag="${CI_COMMIT_SHA}"
420-
--set pivcac.image.pullPolicy="Always"
421-
--set dashboard.image.repository="${ECR_REGISTRY}/identity-dashboard/review"
422-
--set dashboard.image.tag="${DASHBOARD_IMAGE_TAG}"
423-
--set dashboard.image.pullPolicy="Always"
424-
--set-json dashboard.config="$DASHBOARD_CONFIG"
425-
--set-json dashboard.enabled=true
426-
--set-json idp.config="$IDP_CONFIG"
427-
--set-json worker.config="$WORKER_CONFIG"
428-
--set-json pivcac.config="$PIVCAC_CONFIG"
429-
--set-json idp.ingress.hosts="[{\"host\": \"$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov\", \"paths\": [{\"path\": \"/\", \"pathType\": \"Prefix\"}]}]"
430-
--set-json pivcac.ingress.hosts="[{\"host\": \"$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov\", \"paths\": [{\"path\": \"/\", \"pathType\": \"Prefix\"}]}]"
431-
--set-json dashboard.ingress.hosts="[{\"host\": \"$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov\", \"paths\": [{\"path\": \"/\", \"pathType\": \"Prefix\"}]}]"
432-
$CI_ENVIRONMENT_SLUG ./identity-idp-helm-chart
310+
- export SANITIZED_BRANCH_NAME=$(echo "$CI_COMMIT_REF_NAME" | tr '/' '-' | tr -c '[:alnum:]-_' '-' | sed 's/-*$//')
311+
- echo "${CI_COMMIT_REF_NAME}"
312+
- echo "${SANITIZED_BRANCH_NAME}"
313+
# Dynamically populate review environment settings
314+
- sed -i "s|{{ENVIRONMENT}}|${CI_ENVIRONMENT_SLUG}|g" ${APPLICATION_MANIFEST}
315+
- sed -i "s|{{SANITIZED_BRANCH_NAME}}|${SANITIZED_BRANCH_NAME}|g" ${APPLICATION_MANIFEST}
316+
- sed -i "s|{{IDP_CONTAINER_TAG}}|${IDP_IMAGE_TAG}|g" ${APPLICATION_MANIFEST}
317+
- sed -i "s|{{DASHBOARD_CONTAINER_TAG}}|${DASHBOARD_IMAGE_TAG}|g" ${APPLICATION_MANIFEST}
318+
- sed -i "s|{{PIVCAC_CONTAINER_TAG}}|${CI_COMMIT_SHA}|g" ${APPLICATION_MANIFEST}
319+
- sed -i "s|{{ECR_REGISTRY}}|${ECR_REGISTRY}|g" ${APPLICATION_MANIFEST}
320+
- cat ${APPLICATION_MANIFEST}
321+
# Apply our ArgoCD Application
322+
- kubectl apply -f ${APPLICATION_MANIFEST} -n argocd
323+
- echo "View your applications deployment progress at https://argocd.reviewapp.identitysandbox.gov/applications/argocd/${CI_ENVIRONMENT_SLUG}?view=tree&resource="
433324
- echo "DNS may take a while to propagate, so be patient if it doesn't show up right away"
434325
- echo "To access the rails console, first run 'aws-vault exec sandbox-power -- aws eks update-kubeconfig --name reviewapp'"
435326
- echo "Then run aws-vault exec sandbox-power -- kubectl exec -it service/$CI_ENVIRONMENT_SLUG-login-chart-idp -n review-apps -- /app/bin/rails console"
436327
- echo "Address of IDP review app:"
437-
- echo https://$CI_ENVIRONMENT_SLUG.reviewapp.identitysandbox.gov
328+
- echo https://$CI_ENVIRONMENT_SLUG.reviewapps.identitysandbox.gov
438329
- echo "Address of PIVCAC review app:"
439-
- echo https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov
330+
- echo https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapps.identitysandbox.gov
440331
- echo "Address of Dashboard review app:"
441-
- echo https://$CI_ENVIRONMENT_SLUG-dashboard.reviewapp.identitysandbox.gov
332+
- echo https://$CI_ENVIRONMENT_SLUG-dashboard.reviewapps.identitysandbox.gov
442333
environment:
443334
name: review/$CI_COMMIT_REF_NAME
444335
url: https://$CI_ENVIRONMENT_SLUG.pivcac.reviewapp.identitysandbox.gov
@@ -454,7 +345,7 @@ stop-review-app:
454345
script:
455346
- export CONTEXT=$(kubectl config get-contexts | grep reviewapp | awk '{print $1}' | head -1)
456347
- kubectl config use-context "$CONTEXT"
457-
- helm uninstall --namespace review-apps $CI_ENVIRONMENT_SLUG
348+
- kubectl delete application $CI_ENVIRONMENT_SLUG -n argocd
458349
stage: review
459350
image:
460351
name: dtzar/helm-kubectl:latest

0 commit comments

Comments
 (0)