https://akomljen.com/get-automatic-https-with-lets-encrypt-and-kubernetes-ingress/
gcloud container clusters get-credentials main --zone europe-west1-b --project <project-id>
kubectl apply -f helm-rbac.yaml
helm init --service-account tiller --upgrade
kubectl -n kube-system get pods -l name=tiller
helm install --name nginx-ingress stable/nginx-ingress --set rbac.create=true --set tcp.2222="default/ssh-bridge:22" --namespace ingress
helm install --name cert-manager \
--namespace ingress \
--set ingressShim.defaultIssuerName=letsencrypt-prod \
--set ingressShim.defaultIssuerKind=ClusterIssuer \
stable/cert-manager
kubectl get svc --namespace ingress -l app=nginx-ingress,component=controller -o=jsonpath='{$.items[*].status.loadBalancer.ingress[].ip}'
kubectl apply -f issuer.yaml
https://codefresh.io/docs/docs/docker-registries/codefresh-registry/#generate-cfcr-login-token
https://codefresh.io/docs/docs/deploy-to-kubernetes/access-docker-registry-from-kubernetes/
kubectl create secret <docker-registry-pull-secret> my-codefresh-registry --docker-server=r.cfcf.io --docker-username=<codefresh_username> --docker-password=<codefresh_token> --docker-email=<email>
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "<docker-registry-pull-secret>"}]}'
cd echo-example
kubectl apply -f ingress.yaml
kubectl apply -f echoserver.yaml
gcloud container clusters update main --enable-autoscaling --min-nodes 1 --max-nodes 2