Skip to content

Controllers in a multigroup project belong to the 'controllers' package #1717

@miguelsorianod

Description

@miguelsorianod

Hi,

I'm using operator-sdk v1.0.1, which, if I've understood correctly makes use of Kubebuilder for some of its commands.

I'm working on migrating an operator-sdk based project to operator-sdk 1.x version.

I've created the new project with the multigroup: true setting in the PROJECT file. Once that is done I generate the controller with operator-sdk create api ..., which after looking at the code I think is a command that belongs to kubebuilder, and I can see the directory structure is like this:

controllers/apps/apicast_controller.go

However, in the Go file of the controller I can see it has the following package definition:

package controllers

Notice how the package is controllers instead of apps. Is that expected/intentional? Might that be a bug? It seems odd.

I would have expected the package to be named apps in that directory.

With the current implementation I understand all controllers between different groups are sharing the same package name right now.

If you think this should be changed I'd be interested in contributing a change for this.

Software versions being used:

  • Go version: 1.13.7
  • kubebuilder version: I'm using the one that comes with operator-sdk v1.0.1, which I think uses the Go v2 plugin currently
  • controller-runtime v0.6.2
  • Kubernetes version: v1.18

Thank you.

/kind bug

Metadata

Metadata

Labels

kind/bugCategorizes issue or PR as related to a bug.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions