選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

update-NebulaNodeCert 1.4 KiB

3年前
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. POSITIONAL=()
  3. while [[ $# -gt 0 ]]
  4. do
  5. key="$1"
  6. case $key in
  7. -c|--certpath)
  8. CERTPATH="$2"
  9. shift # past argument
  10. shift # past value
  11. ;;
  12. -p|--nebulacertbinpath)
  13. NEBULACERTBINPATH="$2"
  14. shift # past argument
  15. shift # past value
  16. ;;
  17. *) # unknown option
  18. POSITIONAL+=("$1") # save it in an array for later
  19. shift # past argument
  20. ;;
  21. esac
  22. done
  23. set -- "${POSITIONAL[@]}" # restore positional parameters
  24. if [[ -n $1 ]]; then
  25. echo "Invalid Parameter(s) Entered: $1"
  26. exit
  27. fi
  28. DATETIME=$(date '%(%Y%m%d-%H%M%S)T\n' -1)
  29. NODENAME=$(${NEBULACERTBINPATH} print -path ${CERTPATH} -json | jq -s .[].details.name | sed 's/["]//g')
  30. NODEIPS=$(${NEBULACERTBINPATH} print -path ${CERTPATH} -json | jq -s --compact-output .[].details.ips | sed 's/[]["]//g')
  31. NODEGROUPS=($(${NEBULACERTBINPATH} print -path ${CERTPATH} -json | jq -s --compact-output .[].details.groups | sed 's/[]["]//g' | sed 's/,/ /g'))
  32. CERTISCASTATUS=$(${NEBULACERTBINPATH} print -path ${CERTPATH} -json | jq -s --compact-output .[].details.isCa)
  33. if [[ $CERTISCASTATUS == true ]]; then
  34. echo "Certificate is the root CA Certificate. Try again with a node certificate."
  35. exit
  36. fi
  37. if [[ $CERTISCASTATUS == false ]]; then
  38. echo "Node Name: ${NODENAME}"
  39. echo "Node IPs: ${NODEIPS}"
  40. echo "Node Groups: ${NODEGROUPS[@]}"
  41. echo "Certificate isCa Status: ${CERTISCASTATUS}"
  42. echo "DateTime: ${DATETIME}"
  43. fi