Skip to content

koordinator-sh/apis

Repository files navigation

koordinator-api

Schema of the API types that are served by Koordinator.

Purpose

This library is the canonical location of the Koordinator API definition.

We recommend using the go types in this repo. You may serialize them directly to JSON.

Where does it come from?

koordinator-sh/api is synced from https://github.com/koordinator-sh/koordinator/apis. All modification Code changes are made in origin location(koordinator-sh/koordinator/apis), then merged into koordinator-sh/apis later.

For Koordinator developers

koordinator-sh/apis is a read-only repo. Please contribute to https://github.com/koordinator-sh/koordinator/tree/master/apis if you have new features to develop. API Changes will be synced to koordinator-sh/apis when there is new version released of Koordinator .

For Koordinator maintainers

To update Koordinator API repo.

  1. (optional) add more api directories to clone, append source and destination to API_PATHS_MAP in clone-api-files.sh
# vim hack/api-files.sh
API_PATHS_MAP=(
    "apis/slo:slo"
)
  1. move API files from koordinator-sh/koordinator/apis with specified version tag
make clone KOORD_VERSION=v0.7.0
  1. generate deepcopy and clients for API files

3.1 (optional) update binary tool versions and clean local binary tools if necessary in Makefile

3.2 generate files

make generate
  1. (optional)update go.mod
make mod
  1. create a pull request to merge new files
  2. create tag for new commit and push
git tag ${version-tag}
git push --tags