airshipctl/pkg/api/v1alpha1
Matthew Fuller 52c5aedc63 Generate additional CRDs from API types
'make manifests' attempts to generate all airshipctl API types,
but several types throw errors and the resulting CRDs can't be
properly generated. This change:

- updates the controller-gen version to pull in a bug fix for the
  error 'map values must be a named type, not *ast.StarExpr'
- modifies the Templater type's Values member to be of type JSON
  since controller-gen does not support map[string]interface{},
  and unmarshals it separately in the templater itself
- adds 'image_repositories' to the VersionsCatalogueSpec struct
  to ensure it doesn't get deleted from the schema when manifests
  get regenerated
- checks in generated copies of all CRDs from airshipctl's API
  types, not just catalogues, to be used for validation

Closes: #574
Change-Id: I89a12cfd307a08da9aaec9773eac01169ea43ace
2021-06-25 19:10:25 +00:00
..
baremetal_manager.go Add BMH manager executor api object 2021-02-01 19:10:31 +00:00
bootconfiguration_types.go Bootstrap Ephemeral - Executor methods 2021-01-08 10:34:01 -06:00
cluster_map_types.go Allow to setup timeout for get kubeconfig request 2021-06-13 17:29:10 -05:00
clusterctl_types_test.go Move clusterctl api structs to gloabal api module 2020-06-08 21:08:08 +04:00
clusterctl_types.go Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
genericcontainer_types.go Embed validation cfg into phase and plan definition 2021-06-11 15:37:38 +00:00
groupversion_info.go Update metadata.yaml to kubernetes style 2021-06-04 03:34:31 +00:00
isoconfiguration.go Remove unnecessary code 2021-05-03 14:34:57 +03:00
kubeconfig_types.go Introduce KubeConfig API object 2020-07-30 16:20:37 +00:00
kubernetes_apply_types.go Add kubernetes apply executor 2020-08-21 11:18:45 -05:00
metadata_types.go Update metadata.yaml to kubernetes style 2021-06-04 03:34:31 +00:00
networkcatalogue_types.go Add ntp to network catalogue 2021-05-19 15:13:34 +00:00
phase_types.go Embed validation cfg into phase and plan definition 2021-06-11 15:37:38 +00:00
phaseplan_types.go Embed validation cfg into phase and plan definition 2021-06-11 15:37:38 +00:00
README.md BootConfiguration struct for Bootstrap Container 2020-10-30 14:28:49 -05:00
replacement_plugin_types.go Extended replacement plugin with Targets field 2021-04-28 16:36:19 +00:00
templater_plugin_types.go Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
versionscatalogue_types.go Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
zz_generated.deepcopy.go Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00

Generating zz_generated.deepcopy.go in api/v1alpha1

This directory contains the data types needed by airshipctl phase run command.

When you add a new data structure in this directory you will need to generate the file zz_generated.deepcopy.go. To generate this file you will need the tool *controller-gen" executable.

If you don't have controller-gen in your machine, clone the following repository and compile it.

git clone https://github.com/kubernetes-sigs/controller-tools.git
cd controller-tools/cmd/controller-gen
go build -o controller-gen

Now you can generate the zz_generated.deepcopy.go using controller-gen as follow:

/path/to/controller-gen object paths=/path/to/airshipctl/pkg/api/v1alpha1/

At this point you should have a newly generated zz_generated.deepcopy.go. Just check if your data structure has been added to this file and you are good to go.

TODO: Add this task in the Makefile