GitHunt
TO

Common generator scripts for all client libraries

gen

Common generator scripts for all client libraries

Badges

Client Support Level

Client Support Level

Client Support Level

Generating a client

To generate a client, first make sure the client generator exists. For any language other than
go, check openapi/ folder for a script with ${CLIENT_LANGUAGE}.sh and run this command:

${CLIENT_LANGUAGE}.sh OUTPUT_DIR SETTING_FILE

SETTING_FILE is a bash script exporting required setting to generate a client. These
are normally:

  • KUBERNETES_BRANCH: The kubernetes branch to get OpenAPI spec from. e.g. "master"
  • CLIENT_VERSION: Client version string. e.g. "1.0.0b1"
  • PACKAGE_NAME: Package name for the generated client. e.g. "kubernetes"

Example settings file for python-client:

export KUBERNETES_BRANCH="master"
export CLIENT_VERSION="8.0.0b1"
export PACKAGE_NAME="client"

Note: For generating the client for any language, the PACKAGE_NAME should be "client".
You can use the latest version for the CLIENT_VERSION. It's displayed here for
the python-client ( https://github.com/kubernetes-client/python ), and similarly
for other language clients.

Recommended structure is to generate client in a folder called kubernetes at the root of
the client repo and put all settings in a file named settings at the root of the repo.
If you followed these recommendations, you can simply run autoupdate script anywhere inside
the client repo:

cd ${CLIENT_ROOT}/...
${GEN_REPO_ROOT}/openapi/autoupdate.sh

Contributing

Please see CONTRIBUTING.md for instructions on how to contribute.

Languages

Shell62.4%Python35.3%Dockerfile2.2%
Apache License 2.0
Created April 6, 2018
Updated February 10, 2026
tomplus/gen | GitHunt