UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
Commit 4222f2b0 authored by Ismail Ahmad's avatar Ismail Ahmad Committed by joshwolf
Browse files

BB 847

parent 161b76bd
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ stages:
- kubectl get helmrelease -A
.deploy_bigbang: &deploy_bigbang
- for script in ./scripts/*.sh; do chmod +x $script && $script; done
- for script in ./scripts/deploy/*.sh; do chmod +x $script && $script; done
.test_bigbang: &test_bigbang
- for test in ./tests/bash/*.sh; do chmod +x $test && $test; done
......@@ -194,14 +194,11 @@ aws/rke2/bigbang test:
- mkdir -p ~/.kube
- cp ${CI_PROJECT_DIR}/rke2.yaml ~/.kube/config
script:
- sleep 240
- kubectl get all -A
- kubectl get vs -A
- kubectl describe gateway main -n istio-system
- kubectl get gateway main -n istio-system
- kubectl get gateway main -n istio-system -o yaml
- kubectl get service -n istio-system
- kubectl get service istio-ingressgateway -n istio-system -o yaml
## Move this yum install to the dockerfile for the builder
## putting it here now for a quick way to install dig
- yum install bind-utils -y
- chmod +x scripts/hosts.sh && ./scripts/hosts.sh
- *test_bigbang
# Uninstall BigBang on RKE2 cluster on AWS
aws/rke2/bigbang down:
......
......@@ -46,12 +46,6 @@ spec:
dashboard:
auth:
strategy: "anonymous"
ingressGateway:
serviceAnnotations:
# Ensure mission apps have internal load balancer only
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
# Enable cross zone load balancing
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
gatekeeper:
# Directly modify chart values for dev workloads
......
#!/bin/bash
set -e
# Deploy flux and wait for it to be ready
echo "Installing Flux"
flux --version
flux install
# Deploy BigBang
echo "Installing BigBang"
helm upgrade -i bigbang chart -n bigbang --create-namespace --set registryCredentials.username='robot$bigbang' --set registryCredentials.password=${REGISTRY1_PASSWORD} --set addons.argocd.enabled=true --set addons.authservice.enabled=true
# Apply secrets kustomization pointing to current branch
echo "Deploying secrets from the ${CI_COMMIT_REF_NAME} branch"
cat examples/complete/envs/dev/source-secrets.yaml | sed 's|master|'$CI_COMMIT_REF_NAME'|g' | kubectl apply -f -
\ No newline at end of file
#!/bin/bash
set -e
## This is an array to instantiate the order of wait conditions
ORDERED_HELMRELEASES="gatekeeper istio-operator istio monitoring eck-operator ek fluent-bit twistlock cluster-auditor"
## This the actual deployed helmrelease objects in the cluster
DEPLOYED_HELMRELEASES=$(kubectl get hr --no-headers -n bigbang | awk '{ print $1}')
## Function to test an array contains an element
## Args:
## $1: array to search
## $2: element to search for
function array_contains() {
local array="$1[@]"
local seeking=$2
local in=1
for element in ${!array}; do
if [[ $element == "$seeking" ]]; then
in=0
break
fi
done
return $in
}
## Function to wait on helmrelease
## Args:
## $1: package name
function wait_on() {
echo "Waiting on package $1"
kubectl wait --for=condition=Ready --timeout 500s helmrelease -n bigbang $1;
}
for package in $ORDERED_HELMRELEASES;
do
if array_contains DEPLOYED_HELMRELEASES "$package";
then wait_on "$package"
else echo "Expected package: $package, but not found in release. Update the array in this script if this package is no longer needed"
fi
done
for package in $DEPLOYED_HELMRELEASES;
do
if array_contains ORDERED_HELMRELEASES "$package";
then echo ""
else
echo "Found package: $package, but not found in this script array. Update the array in this script if this package is always needed"
wait_on "$package"
fi
done
echo "Waiting on Secrets Kustomization"
kubectl wait --for=condition=Ready --timeout 30s kustomizations.kustomize.toolkit.fluxcd.io -n bigbang secrets
\ No newline at end of file
#!/bin/bash
set -e
## Adds all the vs hostnames and LB IP to /etc/hosts
## Get the LB Hostname
INGRESS_LB_Hostname=$(kubectl get svc -n istio-system istio-ingressgateway -o jsonpath="{.status.loadBalancer.ingress[0].hostname}")
## Get IP address from Hostname
INGRESS_LB_IP=$(dig $INGRESS_LB_Hostname +search +short | head -1)
## Get a list of all the vs in cluster
VIRTUAL_SERVICES=$(kubectl get vs -A -o jsonpath={..spec.hosts[0]})
## For each vs put it in /etc/hosts
for vs in $VIRTUAL_SERVICES;
do echo "$INGRESS_LB_IP $vs" >> /etc/hosts
done
##Cat out the file to see what we've done
cat /etc/hosts
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment