Generate openapi v3 static files

This commit is contained in:
Jefftree
2021-10-28 15:20:50 -07:00
parent 5bf3ed7a98
commit ae1984a89d
59 changed files with 144239 additions and 2 deletions

View File

@@ -96,10 +96,21 @@ if ! kube::util::wait_for_url "https://${API_HOST}:${API_PORT}/healthz" "apiserv
exit 1
fi
kube::log::status "Updating " "${OPENAPI_ROOT_DIR}"
kube::log::status "Updating " "${OPENAPI_ROOT_DIR} for OpenAPI v2"
curl -w "\n" -kfsS -H 'Authorization: Bearer dummy_token' "https://${API_HOST}:${API_PORT}/openapi/v2" | jq -S '.info.version="unversioned"' > "${OPENAPI_ROOT_DIR}/swagger.json"
kube::log::status "Updating " "${OPENAPI_ROOT_DIR}/v3 for OpenAPI v3"
mkdir -p "${OPENAPI_ROOT_DIR}/v3"
curl -w "\n" -kfsS -H 'Authorization: Bearer dummy_token' "https://${API_HOST}:${API_PORT}/openapi/v3" | jq '.Paths' | jq -r '.[]' | while read -r group; do
kube::log::status "Updating OpenAPI spec for group ${group}"
OPENAPI_FILENAME="${group}_openapi.json"
OPENAPI_FILENAME_ESCAPED="${OPENAPI_FILENAME//\//__}"
OPENAPI_PATH="${OPENAPI_ROOT_DIR}/v3/${OPENAPI_FILENAME_ESCAPED}"
curl -w "\n" -kfsS -H 'Authorization: Bearer dummy_token' "https://${API_HOST}:${API_PORT}/openapi/v3/{$group}" | jq . > "$OPENAPI_PATH"
done
kube::log::status "SUCCESS"
# ex: ts=2 sw=2 et filetype=sh

View File

@@ -32,13 +32,15 @@ kube::etcd::install
make -C "${KUBE_ROOT}" WHAT=cmd/kube-apiserver
SPECROOT="${KUBE_ROOT}/api/openapi-spec"
SPECV3PATH="${SPECROOT}/v3"
TMP_SPECROOT="${KUBE_ROOT}/_tmp/openapi-spec"
_tmp="${KUBE_ROOT}/_tmp"
mkdir -p "${_tmp}"
cp -a "${SPECROOT}" "${TMP_SPECROOT}"
trap 'cp -a ${TMP_SPECROOT} ${SPECROOT}/..; rm -rf ${_tmp}' EXIT SIGINT
rm "${SPECROOT}"/*
rm -r "${SPECROOT:?}"/*
mkdir -p "${SPECV3PATH}"
cp "${TMP_SPECROOT}/README.md" "${SPECROOT}/README.md"
"${KUBE_ROOT}/hack/update-openapi-spec.sh"