Skip to content

Provide a Makefile instead adding of more flags in the CLI  #1655

@hasbro17

Description

@hasbro17

Feature Request

From #1600

The SDK team has been talking about the fact that the built-in subcommands that wrap go, docker, and other CLI tools are falling short of the necessary flexibilities to meet all use cases.

So instead of constantly fixing bugs and adding new flags for each new use case that comes up (see #1034, #1271, #1311, #1357, #1419, #1422, #1488, #1489, #1497, #1509, #1535, #1582, #1605), we think it makes more sense to recommend that users that need more flexibility start using Makefiles in their projects so that they have full control.

This has a few benefits to both users and SDK maintainers:

  • Users no longer have to wait for a bug fix or new feature in the SDK to customize their operator builds.
  • Users can more easily tie dependent commands together (e.g. always run code generation before building binaries, and always rebuild binaries before building the Docker image)
  • It makes the SDK much simpler in some areas, so maintainers can spend less time dealing with the complexities of abstracting wrapped go, docker, podman, and buildah commands under one CLI. And more time on core SDK and operator-related features.
  • It aligns more with Kubebuilder, which actually scaffolds a Makefile for go compilations, image builds, code generation, etc.

Going down this path, the SDK will also need to scaffold a Makefile to give users the same default experience as the existing subcommands, so I think that's an area we should start devoting effort toward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kubebuilder-integrationRelates to rewriting the SDK in Kubebuilder plugin formlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions