-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
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.