#!/bin/sh start_apps() { # Create TLS certificate and key for HTTPS termination kubectl create secret generic test-app-tls --namespace=authelia --from-file=apps/ssl/server.key --from-file=apps/ssl/server.cert kubectl create configmap nginx-config --namespace=authelia --from-file=apps/configs/entrypoint.sh --from-file=apps/configs/nginx.conf --from-file=apps/configs/html.tar.gz # Spawn the applications kubectl apply -f apps } start_ingress_controller() { kubectl apply -f ingress-controller } # Spawn Redis and storage backend # Please note they are not configured to be distributed on several machines start_storage() { kubectl apply -f storage } # Create a fake mailbox to catch emails sent by Authelia start_mail() { kubectl apply -f mail } start_ldap() { kubectl create configmap ldap-config --namespace=authelia --from-file=ldap/base.ldif --from-file=ldap/access.rules kubectl apply -f ldap } # Create the Authelia namespace in the cluster create_namespace() { kubectl apply -f namespace.yml } create_namespace start_storage start_ldap start_mail start_ingress_controller start_apps