• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.