UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
Commit be5190a3 authored by joshwolf's avatar joshwolf
Browse files

Merge branch 'bb-847' into 'master'

BB 847

See merge request platform-one/big-bang/umbrella!73
parents 161b76bd 4222f2b0
No related branches found
No related tags found
1 merge request!73BB 847
Pipeline #96053 passed
......@@ -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