Skip to content

RedHatInsights/strimzi-client-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

strimzi-client-go

Strimzi client-go package for use with kubernetes controllers.

This is a work in progress and hopefully the generation of this package will be fully automated soon.

At the moment, the partially-automated process is:

  1. Download the strimzi CRD yaml
  2. Edit the openAPI schemas to remove any 'oneOf' statements, since the GoLang type generator we use does not handle those.
  3. Use crd-codegen to generate types from the CRD YAML.
  4. Edit the top-level type definitions so that they implement the runtime.Object interfaces and add kubebuilder annotations. You may also see some of the "misc properties" type attributes defined as type <name> map[string]interface{} -- these must be changed to type apiextensions.JSON (example). The python script convert.py can be used to help with this.
  5. Convert int types to int32: sed -i 's/int `json/int32 `json'/g *
  6. Finally run controller-gen object paths=./... is run to generate DeepCopy implementations