#!/bin/bash ## For debugging # set -eux ############################# ### DEV PACKAGES ############################# export RAKE_VER=0.1.3 curl -L https://$PRIVATE_GIT_TOKEN@registry.vegastar.vn/vegacloud/make/releases/download/$RAKE_VER/rake-$RAKE_VER-x86_64-unknown-linux-musl.tar.gz | tar xzv -C /tmp/ sudo install -o root -g root -m 0755 /tmp/rake-$RAKE_VER-x86_64-unknown-linux-musl/rake /usr/local/bin/rake ############################# ### KUBECTL ############################# ## Config kubectl mkdir -p ~/.kube cp ${PWD}/.devcontainer/kubeconfig.yaml ~/.kube/config sed -i 's/127.0.0.1/k3s-server/g' ~/.kube/config ## allow insecure connection shopt -s expand_aliases echo 'alias kubectl="kubectl --insecure-skip-tls-verify"' >> ~/.bashrc echo 'alias k="kubectl --insecure-skip-tls-verify"' >> ~/.bashrc ############################# ### NGINX INGRESS ############################# kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-$NGINX_INGRESS_VER/deploy/static/provider/cloud/deploy.yaml cat <> /tmp/nginx-service.yaml apiVersion: v1 kind: Service metadata: name: ingress-nginx-controller-loadbalancer namespace: ingress-nginx spec: selector: app.kubernetes.io/component: controller app.kubernetes.io/instance: ingress-nginx app.kubernetes.io/name: ingress-nginx ports: - name: http port: 80 protocol: TCP targetPort: 80 - name: https port: 443 protocol: TCP targetPort: 443 type: LoadBalancer EOT kubectl apply -f /tmp/nginx-service.yaml rm -f /tmp/nginx-service.yaml ############################# ### OPEN TELEMETRY ############################# # kubectl create namespace $JAEGER_NAMESPACE # kubectl create namespace $OPENTELEMETRY_NAMESPACE # ## cert-manager # kubectl apply -f https://github.com/jetstack/cert-manager/releases/latest/download/cert-manager.yaml # ## install jaeger # helm repo add jaegertracing https://jaegertracing.github.io/helm-charts # helm install jaeger jaegertracing/jaeger -n $JAEGER_NAMESPACE # kubectl -n $JAEGER_NAMESPACE get po # ## open telemetry operator # kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml # ## create an OpenTelemetry Collector instance # kubectl -n $OPENTELEMETRY_NAMESPACE apply -f .devcontainer/helm/opentelemetry-collector.yaml ############################# ### FISSION PODs ############################# kubectl create namespace $FISSION_NAMESPACE ## install with helm kubectl create -k "github.com/fission/fission/crds/v1?ref=${FISSION_VER}" helm repo add fission-charts https://fission.github.io/fission-charts/ && helm repo update kubectl apply -f - <- eyJhdXRocyI6eyJyZWdpc3RyeS52ZWdhc3Rhci52biI6eyJ1c2VybmFtZSI6InRpZW5kZCIsInBhc3N3b3JkIjoiYTBjY2JjMDVjNzMyYzExMjU3OTg1NjMwNjY5ZTFjNjEyNDg0NzU1MyIsImF1dGgiOiJkR2xsYm1Sa09tRXdZMk5pWXpBMVl6Y3pNbU14TVRJMU56azROVFl6TURZMk9XVXhZell4TWpRNE5EYzFOVE09In19fQ== EOF helm upgrade --install fission fission-charts/fission-all --namespace $FISSION_NAMESPACE -f - <