Skip to content

Instantly share code, notes, and snippets.

@carlessanagustin
Last active April 27, 2021 12:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlessanagustin/a5dfca85a95233fe525bcebfcb2d3cb5 to your computer and use it in GitHub Desktop.
Save carlessanagustin/a5dfca85a95233fe525bcebfcb2d3cb5 to your computer and use it in GitHub Desktop.
Create SSL/TLS Certificate for Ingress Controller and push to Kubernetes
#!/usr/bin/env bash
'''
USAGE:
./create_self_signed_certificate.sh <expiry_days> <namespace> <secret_name>
EXAMPLE:
./create_self_signed_certificate.sh 3650 ingress ingress-tls
SOURCE:
https://www.learnitguide.net/2020/06/create-ssl-tls-certificate-ingress.html
DELETE:
delete: kubectl -n $NAMESPACE delete secrets $SECRETNAME
'''
DAYS=$1
NAMESPACE=$2
SECRETNAME=$3
Country_Name=ES
State_Name=Catalunya
Locality=Barcelona
Organization="Example Co"
Common_Name=www.example.com
openssl req -x509 -nodes \
-days $DAYS \
-newkey rsa:2048 \
-out ingress-tls.crt \
-keyout ingress-tls.key \
-subj "/C=$Country_Name/ST=$State_Name/L=$Locality/O=$Organization/CN=$Common_Name"
kubectl --namespace $NAMESPACE create secret tls $SECRETNAME --key ingress-tls.key --cert ingress-tls.crt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment