Skip to content

Instantly share code, notes, and snippets.

@slaysd
Created January 17, 2020 04:44
Show Gist options
  • Save slaysd/30e581260d4ddd61d6d42618922770e7 to your computer and use it in GitHub Desktop.
Save slaysd/30e581260d4ddd61d6d42618922770e7 to your computer and use it in GitHub Desktop.
k8s openvpn on jx
#!/bin/bash
if [ $# -ne 2 ]
then
echo "Usage: $0 <CLIENT_KEY_NAME> <NAMESPACE>"
exit
fi
KEY_NAME=$1
NAMESPACE=$2
HELM_RELEASE=jx
POD_NAME=$(kubectl get pods -n "$NAMESPACE" -l "app=openvpn,release=$HELM_RELEASE" -o jsonpath='{.items[0].metadata.name}')
SERVICE_NAME=$(kubectl get svc -n "$NAMESPACE" -l "app=openvpn,release=$HELM_RELEASE" -o jsonpath='{.items[0].metadata.name}')
SERVICE_IP=$(kubectl get svc -n "$NAMESPACE" "$SERVICE_NAME" -o go-template='{{range $k, $v := (index .status.loadBalancer.ingress 0)}}{{$v}}{{end}}')
kubectl -n "$NAMESPACE" exec -it "$POD_NAME" /etc/openvpn/setup/newClientCert.sh "$KEY_NAME" "$SERVICE_IP"
kubectl -n "$NAMESPACE" exec -it "$POD_NAME" cat "/etc/openvpn/certs/pki/$KEY_NAME.ovpn" > "$KEY_NAME.ovpn"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment