diff --git a/kubernetes/Makefile b/kubernetes/Makefile index 3d33dee4..2e2c2f54 100644 --- a/kubernetes/Makefile +++ b/kubernetes/Makefile @@ -1,7 +1,10 @@ DOMAIN_NAME := $(shell sed -e '/HOST=/!d;s/HOST=//g' env.txt) + DOMAIN_NAME_DASHED := $(shell echo $(DOMAIN_NAME)|sed -e 's/[.]/-/g') + all: env.txt @echo "default file env.txt created please run prepare and deploy if you adapted values in env.txt" + prepare: @mkdir -p output sed -e "s@__DOMAIN_NAME__@$(DOMAIN_NAME)@g;s@__DOMAIN_NAME_DASHED__@$(DOMAIN_NAME_DASHED)@g" *.yaml > output/mirotalk-k8s.yaml @@ -22,4 +25,3 @@ delete: kubectl delete configmap p2p || : kubectl delete -f output/mirotalk-k8s.yaml rm -rf env.txt output - \ No newline at end of file diff --git a/kubernetes/README.md b/kubernetes/README.md index 681e0780..fa668fe6 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -1,24 +1,28 @@ # Kubernetes deployment +![k8s](../public/images/k8s.png) + ## TLDR; and do not care way -``` + +```bash make sed -i s/localhost/myshinydomain.tld/g env.txt make prepare -# or make prepare-minikube -# for testing purposes make deploy ``` # Understanding way + If you would like to deploy Mirotalk to kubernetes this set of files can help you in that task Bellow is explanation of files in this folder which will form one output file in `output` folder ## ../.env.template and your file env.txt that you should prepare + Configuration file that is for now used to configure deployment you should copy `../.env.template` to current directory as `env.txt` and edit values inside to your liking + ``` cp ../.env.template env.txt ``` @@ -31,18 +35,23 @@ sed -i s/localhost/myshinydomain.tld/g env.txt ``` ## p2p-deployment.yaml -Main deployment file where you change image file if you would like to use yours if not official one (`image`: tag) + +Main deployment file where you change image file if you would like to use yours if not official one (`image`: tag) ## p2p-cert.yaml + This file represent definition of certificate (request) when using [Cert Manager](cert-manager.io) to generate letsencrypt or private certificates for your domain will be pulled out from `env.txt` ## p2p-ingress.yaml + This is generic ingress object in kubernetes that is responsible to route external traffic to mirotalk deployed application and if used in conjuction with p2p-cert.yaml (default) will provide TLS enabled access to your mirotalk instance ## p2p-service.yaml + Service required for ingress to be able to know how to access deployment ## Makefile + Helper file that allows running it to configure application how you would like after creating and changing configuration file (`env.txt`) run these two tasks, prepare will create deployment file @@ -50,11 +59,9 @@ and deployment will create configMap from prepared `env.txt` file. Please run after reading all this: -``` +```bash make # edit env.txt or use sed as in TLDR section :) make prepare make deploy ``` - - diff --git a/public/images/k8s.png b/public/images/k8s.png new file mode 100644 index 00000000..b1efe85e Binary files /dev/null and b/public/images/k8s.png differ