mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Update kube::util::ensure-cfssl
This commit is contained in:
		@@ -707,50 +707,15 @@ function kube::util::join {
 | 
				
			|||||||
#  CFSSLJSON_BIN: The path of the installed cfssljson binary
 | 
					#  CFSSLJSON_BIN: The path of the installed cfssljson binary
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
function kube::util::ensure-cfssl {
 | 
					function kube::util::ensure-cfssl {
 | 
				
			||||||
  if command -v cfssl &>/dev/null && command -v cfssljson &>/dev/null; then
 | 
					  echo "Installing cfssl from vendor"
 | 
				
			||||||
    CFSSL_BIN=$(command -v cfssl)
 | 
					  GOBIN="${KUBE_OUTPUT_BINPATH:-}" go install k8s.io/kubernetes/vendor/github.com/cloudflare/cfssl/cmd/cfssl
 | 
				
			||||||
    CFSSLJSON_BIN=$(command -v cfssljson)
 | 
					  GOBIN="${KUBE_OUTPUT_BINPATH:-}" go install k8s.io/kubernetes/vendor/github.com/cloudflare/cfssl/cmd/cfssljson
 | 
				
			||||||
    return 0
 | 
					  CFSSL_BIN="$(PATH="${KUBE_OUTPUT_BINPATH:-}:${PATH}" command -v cfssl)"
 | 
				
			||||||
  fi
 | 
					  CFSSLJSON_BIN="$(PATH="${KUBE_OUTPUT_BINPATH:-}:${PATH}" command -v cfssljson)"
 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Create a temp dir for cfssl if no directory was given
 | 
					 | 
				
			||||||
  local cfssldir=${1:-}
 | 
					 | 
				
			||||||
  if [[ -z "${cfssldir}" ]]; then
 | 
					 | 
				
			||||||
    kube::util::ensure-temp-dir
 | 
					 | 
				
			||||||
    cfssldir="${KUBE_TEMP}/cfssl"
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  mkdir -p "${cfssldir}"
 | 
					 | 
				
			||||||
  pushd "${cfssldir}" > /dev/null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    echo "Unable to successfully run 'cfssl' from $PATH; downloading instead..."
 | 
					 | 
				
			||||||
    kernel=$(uname -s)
 | 
					 | 
				
			||||||
    case "${kernel}" in
 | 
					 | 
				
			||||||
      Linux)
 | 
					 | 
				
			||||||
        curl --retry 10 -L -o cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
 | 
					 | 
				
			||||||
        curl --retry 10 -L -o cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
 | 
					 | 
				
			||||||
        ;;
 | 
					 | 
				
			||||||
      Darwin)
 | 
					 | 
				
			||||||
        curl --retry 10 -L -o cfssl https://pkg.cfssl.org/R1.2/cfssl_darwin-amd64
 | 
					 | 
				
			||||||
        curl --retry 10 -L -o cfssljson https://pkg.cfssl.org/R1.2/cfssljson_darwin-amd64
 | 
					 | 
				
			||||||
        ;;
 | 
					 | 
				
			||||||
      *)
 | 
					 | 
				
			||||||
        echo "Unknown, unsupported platform: ${kernel}." >&2
 | 
					 | 
				
			||||||
        echo "Supported platforms: Linux, Darwin." >&2
 | 
					 | 
				
			||||||
        exit 2
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    chmod +x cfssl || true
 | 
					 | 
				
			||||||
    chmod +x cfssljson || true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    CFSSL_BIN="${cfssldir}/cfssl"
 | 
					 | 
				
			||||||
    CFSSLJSON_BIN="${cfssldir}/cfssljson"
 | 
					 | 
				
			||||||
  if [[ ! -x ${CFSSL_BIN} || ! -x ${CFSSLJSON_BIN} ]]; then
 | 
					  if [[ ! -x ${CFSSL_BIN} || ! -x ${CFSSLJSON_BIN} ]]; then
 | 
				
			||||||
      echo "Failed to download 'cfssl'. Please install cfssl and cfssljson and verify they are in \$PATH."
 | 
					    echo "Failed to install cfssl." >&2
 | 
				
			||||||
      echo "Hint: export PATH=\$PATH:\$GOPATH/bin; go get -u github.com/cloudflare/cfssl/cmd/..."
 | 
					 | 
				
			||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  popd > /dev/null
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# kube::util::ensure_dockerized
 | 
					# kube::util::ensure_dockerized
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user