Skip to content

Commit

Permalink
Move generated CRDs into their own directory
Browse files Browse the repository at this point in the history
Introduce the static/_crds/* directories, which replace the
static/manifests/*/CustomResourceDefinition directories. The underscore
in the name prevents go tools from descending into the folder when
looking for go files. This makes it safe to run go commands at the same
time as generating the CRDs in this folder.

This prevents errors like the following:

  go: finding module for package github.com/k0sproject/k0s/static/manifests/v1beta1/CustomResourceDefinition
  go: finding module for package github.com/k0sproject/k0s/static/manifests/helm/CustomResourceDefinition
  go: finding module for package github.com/k0sproject/k0s/static/manifests/autopilot/CustomResourceDefinition
  go: finding module for package github.com/k0sproject/k0s/static/manifests/etcd/CustomResourceDefinition
  go: github.com/k0sproject/k0s/static/manifests/autopilot/CustomResourceDefinition: no matching versions for query "latest"
  go: github.com/k0sproject/k0s/static/manifests/etcd/CustomResourceDefinition: no matching versions for query "latest"
  go: github.com/k0sproject/k0s/static/manifests/helm/CustomResourceDefinition: no matching versions for query "latest"
  go: github.com/k0sproject/k0s/static/manifests/v1beta1/CustomResourceDefinition: no matching versions for query "latest"
  make: *** [Makefile:113: go.sum] Error 1

Signed-off-by: Tom Wieczorek <[email protected]>
  • Loading branch information
twz123 committed Aug 29, 2024
1 parent 391cfd1 commit 583cf5d
Show file tree
Hide file tree
Showing 8 changed files with 5 additions and 6 deletions.
9 changes: 4 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,13 @@ $(foreach gv,$(api_group_versions),$(eval $(foreach t,$(api_group_version_target
controller_gen_targets := $(foreach gv,$(api_group_versions),pkg/apis/$(gv)/.controller-gen.stamp)
codegen_targets := $(controller_gen_targets)
$(controller_gen_targets): .k0sbuild.docker-image.k0s hack/tools/boilerplate.go.txt hack/tools/Makefile.variables
rm -rf 'static/manifests/$(dir $(@:pkg/apis/%/.controller-gen.stamp=%))CustomResourceDefinition'
mkdir -p 'static/manifests/$(dir $(@:pkg/apis/%/.controller-gen.stamp=%))'
rm -rf 'static/_crds/$(dir $(@:pkg/apis/%/.controller-gen.stamp=%))'
gendir="$$(mktemp -d .controller-gen.XXXXXX.tmp)" \
&& trap "rm -rf -- $$gendir" INT EXIT \
&& CGO_ENABLED=0 $(GO) run sigs.k8s.io/controller-tools/cmd/controller-gen@v$(controller-gen_version) \
paths="./$(dir $@)..." \
object:headerFile=hack/tools/boilerplate.go.txt output:object:dir="$$gendir" \
crd output:crd:dir='static/manifests/$(dir $(@:pkg/apis/%/.controller-gen.stamp=%))CustomResourceDefinition' \
crd output:crd:dir='static/_crds/$(dir $(@:pkg/apis/%/.controller-gen.stamp=%))' \
&& mv -f -- "$$gendir"/zz_generated.deepcopy.go '$(dir $@).'
touch -- '$@'

Expand Down Expand Up @@ -167,12 +166,12 @@ pkg/client/clientset/.client-gen.stamp: .k0sbuild.docker-image.k0s hack/tools/bo
touch -- '$@'

codegen_targets += static/zz_generated_assets.go
static/zz_generated_assets.go: $(controller_gen_targets) # to generate the CRDs into static/manifests/*/CustomResourceDefinition
static/zz_generated_assets.go: $(controller_gen_targets) # to generate the CRDs into static/_crds/*
static/zz_generated_assets.go: $(shell find static/manifests/calico static/manifests/windows static/misc -type f)
static/zz_generated_assets.go: .k0sbuild.docker-image.k0s hack/tools/Makefile.variables
CGO_ENABLED=0 $(GO) run github.com/kevinburke/go-bindata/go-bindata@v$(go-bindata_version) \
-o '$@' -pkg static -prefix static \
$(foreach gv,$(api_group_versions),static/manifests/$(dir $(gv))CustomResourceDefinition/...) \
$(foreach gv,$(api_group_versions),static/_crds/$(dir $(gv))...) \
static/manifests/calico/... \
static/manifests/windows/... \
static/misc/...
Expand Down
2 changes: 1 addition & 1 deletion pkg/component/controller/crd.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func (c CRD) Init(_ context.Context) error {

// Run unpacks manifests from bindata
func (c CRD) Start(_ context.Context) error {
crdAssetsPath := path.Join("manifests", c.assetsDir, "CustomResourceDefinition")
crdAssetsPath := path.Join("_crds", c.assetsDir)
crds, err := static.AssetDir(crdAssetsPath)
if err != nil {
return fmt.Errorf("can't unbundle CRD `%s` manifests: %w", c.bundle, err)
Expand Down

0 comments on commit 583cf5d

Please sign in to comment.