Skip to content

WIP 🐛 fix(API): Move autoupdate/deploy-image/helm packages to internal#5520

Closed
vitorfloriano wants to merge 1 commit intokubernetes-sigs:masterfrom
vitorfloriano:infra-move-optional-plugins-to-internal
Closed

WIP 🐛 fix(API): Move autoupdate/deploy-image/helm packages to internal#5520
vitorfloriano wants to merge 1 commit intokubernetes-sigs:masterfrom
vitorfloriano:infra-move-optional-plugins-to-internal

Conversation

@vitorfloriano
Copy link
Contributor

This PR moves the packages for the optional plugins autoupdate, deploy-image and helm to ./internal/plugins/optional.

Those optional plugins are meant only for CLI users and their packages should not be part of the public API of the SDK, considering that they are underdocumented and not stable, hence they belong in internal.

Here's a summary of the current situation of each plugin:

package no known importers
autoupdate/v1alpha import stats
autoupdate/v1alpha/scaffolds import stats
deploy-image/v1alpha import stats
deploy-imagem/v1alpha/scaffolds import stats
helm/v1alpha import stats
helm/v1alpha/scaffolds import stats
helm/v2alpha import stats
helm/v2alpha/scaffolds import stats

Important

We are not moving the grafana plugin because it has already been imported by Operator SDK, as per the import stats on pkg.go.dev and this search result.


The project structure will go from this:

├── pkg
│   └── plugins
│       ├── common
│       ├── external
│       ├── golang
│       │   ├── deploy-image   <--- in the public API
│       │   └── v4
│       └── optional
│           ├── autoupdate     <--- in the public API
│           ├── grafana        <--- already imported by Operator-SDK
│           └── helm           <--- in the public API

To this:

├── internal
│   ├── cli
│   ├── logging
│   └── plugins
│       └── optional
│           ├── autoupdate
│           ├── deploy-image
│           └── helm
├── pkg
│   └── plugins
│       ├── common
│       ├── external
│       ├── golang
│       └── optional
│           └── grafana

Note

We also moved the deploy-image plugin from pkg/plugins/go/ to ./internal/plugins/optional for consistency.

Related to: #5277 (comment)

The autoupdate, deploy-image and helm optional plugins are only meant for
CLI users. Their packages are not meant for external usage but have been exported
to the public API of the SDK. Considering that they are underdocumented and
not stable, they need to be moved to internal.
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Feb 27, 2026
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: vitorfloriano
Once this PR has been reviewed and has the lgtm label, please assign camilamacedo86 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 27, 2026
@k8s-ci-robot
Copy link
Contributor

@vitorfloriano: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubebuilder-test 02c686c link true /test pull-kubebuilder-test

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@vitorfloriano vitorfloriano marked this pull request as draft February 27, 2026 19:12
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 27, 2026
@vitorfloriano
Copy link
Contributor Author

@camilamacedo86 I just realized we have a lot of PRs touching the Helm plugin.

I'll revert the changes so we don't mess the other PRs up.

@vitorfloriano vitorfloriano changed the title 🐛 fix(API): Move autoupdate/deploy-image/helm packages to internal WIP 🐛 fix(API): Move autoupdate/deploy-image/helm packages to internal Feb 27, 2026
@vitorfloriano
Copy link
Contributor Author

@camilamacedo86 Thinking better, the scope of this PR is too broad and touching too many parts. I also just found out that I had overlooked the fact that deploy-image is also imported by Operator-SDK.

I still think we need to move some packages to internal, but it's better to do it incrementally, package by package, to minimize surprises.

So I'm closing this one. Sorry about the noise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants