* Improve kubernetes-client/gen documentation for {CLIENT_LANGUAGE}.sh (#85)
* Update README.md
* Update README.md
51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
# gen
|
|
Common generator scripts for all client libraries
|
|
|
|
# Badges
|
|
|
|
[](https://github.com/kubernetes-client)
|
|
|
|
[](https://github.com/kubernetes-client)
|
|
|
|
[](https://github.com/kubernetes-client)
|
|
|
|
# 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:
|
|
|
|
```bash
|
|
${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:
|
|
|
|
```bash
|
|
cd ${CLIENT_ROOT}/...
|
|
${GEN_REPO_ROOT}/openapi/autoupdate.sh
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to contribute.
|