43 lines
1.6 KiB
Bash
Executable file
43 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
echo ""
|
|
echo "... ] DEPLOYING SYSTEM SERVICES [ ..."
|
|
|
|
HOME=$( cd "$(dirname "$0")" && pwd )
|
|
source $HOME/config
|
|
|
|
if [ -f $HOME/config-coreapps ]; then
|
|
echo "config-coreapps file FOUND :)"
|
|
source $HOME/config-coreapps
|
|
else
|
|
echo "config-coreapps file is missing."
|
|
exit 1
|
|
fi
|
|
|
|
export KUBECONFIG=$ADMIN_KUBECONFIG
|
|
export HELM_CACHE_HOME=~/.cache/helm
|
|
export HELM_CONFIG_HOME=~/.config/helm
|
|
export HELM_DATA_HOME=~/.local/share/helm
|
|
|
|
# Setup ACME
|
|
if $CERT_MODE; then
|
|
printf "\ndeploying cert-manager helm chart...\n"
|
|
helm repo add jetstack https://charts.jetstack.io
|
|
helm repo update
|
|
kubectl create namespace cert-manager
|
|
kubectl -n cert-manager create secret generic cf-api-secret --from-literal=cf-api-key=${CLOUDFLARE_API_KEY}
|
|
kubectl apply -f yaml/cert-manager/cert-manager.crds.yaml
|
|
helm install \
|
|
cert-manager jetstack/cert-manager \
|
|
--namespace cert-manager \
|
|
--version v1.1.0 \
|
|
-f yaml/cert-manager/values.yaml
|
|
|
|
printf "\nwaiting for cert-manager to finish installation...\n"
|
|
sleep 30
|
|
cat yaml/cert-manager/letsencrypt-staging-clusterissuer.yaml | sed "s/k8x_acme_email/${ADMIN_EMAIL}/" | kubectl -n kube-system apply -f -
|
|
cat yaml/cert-manager/letsencrypt-staging-dns-clusterissuer.yaml | sed "s/k8x_acme_email/${ADMIN_EMAIL}/" | kubectl -n kube-system apply -f -
|
|
cat yaml/cert-manager/letsencrypt-production-clusterissuer.yaml | sed "s/k8x_acme_email/${ADMIN_EMAIL}/" | kubectl -n kube-system apply -f -
|
|
cat yaml/cert-manager/letsencrypt-production-dns-clusterissuer.yaml | sed "s/k8x_acme_email/${ADMIN_EMAIL}/" | kubectl -n kube-system apply -f -
|
|
fi
|
|
|