2
0

gencerts.sh 952 B

123456789101112131415161718192021
  1. #!/usr/bin/env bash
  2. go get -v -u github.com/cloudflare/cfssl/cmd/...
  3. export PURPOSE=metrics
  4. openssl req -x509 -sha256 -new -nodes -days 365 -newkey rsa:2048 -keyout ${PURPOSE}-ca.key -out ${PURPOSE}-ca.crt -subj "/CN=ca"
  5. echo '{"signing":{"default":{"expiry":"43800h","usages":["signing","key encipherment","'${PURPOSE}'"]}}}' > "${PURPOSE}-ca-config.json"
  6. export SERVICE_NAME=custom-metrics-apiserver
  7. export ALT_NAMES='"custom-metrics-apiserver.monitoring","custom-metrics-apiserver.monitoring.svc"'
  8. echo '{"CN":"'${SERVICE_NAME}'","hosts":['${ALT_NAMES}'],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -ca=metrics-ca.crt -ca-key=metrics-ca.key -config=metrics-ca-config.json - | cfssljson -bare apiserver
  9. cat <<-EOF > cm-adapter-serving-certs.yaml
  10. apiVersion: v1
  11. kind: Secret
  12. metadata:
  13. name: cm-adapter-serving-certs
  14. data:
  15. serving.crt: $(cat apiserver.pem | base64 --wrap=0)
  16. serving.key: $(cat apiserver-key.pem | base64 --wrap=0)
  17. EOF