-
Notifications
You must be signed in to change notification settings - Fork 88
CLOUDP-293144: Removes k8s commands #3529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLOUDP-293144: Removes k8s commands #3529
Conversation
| echo "Error: Coverage difference (${{ steps.compare.outputs.diff }}%) is negative" | ||
| fi | ||
| fuzz-tests: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing fuzz test as all fuzz tests are tests for k8s commands
| * :ref:`atlas-events` - Manage events for your organization or project. | ||
| * :ref:`atlas-federatedAuthentication` - Manage Atlas Federated Authentication. | ||
| * :ref:`atlas-integrations` - Configure third-party integrations for your Atlas project. | ||
| * :ref:`atlas-kubernetes` - Manage Kubernetes resources. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noting that removal of k8s commands results in the removal of mention of the command in docs.
Would be interested to hear opinions on this behaviour.
Should k8s, being a first class plugin, not be removed like this (and thus also removed in Docs AtlasCLI)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it will be removed from this file and then added back via copybara integration, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this would be the case since the copybara logic is to replace all doc files in AtlasCLI to DocAtlasCLI. Theres no other modifications applied to files. On k8s plugin side, the only docs it holds are k8s docs and so won't effect atlas.txt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe the copybara workflow in AtlasCLI could modify atlas.txt by including a core.replace transformation which replaces
* :ref:`atlas-integrations` - Configure third-party integrations for your Atlas project.
with
* :ref:`atlas-integrations` - Configure third-party integrations for your Atlas project.
* :ref:`atlas-kubernetes` - Manage Kubernetes resources.
Or perhaps the gen-docs logic could install all first class plugins to find and add their root command (in this case kubernetes) in the atlas.txt doc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 good options, I suggest creating a JIRA ticke tin the epic so that we don't miss this update!
| "go.mongodb.org/atlas": "apix-2", | ||
| "go.mongodb.org/atlas-sdk/v20241113004": "apix-2", | ||
| "go.mongodb.org/atlas-sdk/v20240530005": "apix-2", | ||
| "go.mongodb.org/atlas-sdk/v20241113001": "apix-2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing library owner entries for libraries which have been removed
| logoutCmd, | ||
| whoCmd, | ||
| registerCmd, | ||
| kubernetes.Builder(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removes k8s from CLI builder.
| const ( | ||
| maxRetryAttempts = 5 | ||
| ) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed methods and variables no longer in use after removal of k8s commands
| err := cmd.Run() | ||
| return o.String(), e.String(), err | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed methods no longer in use after removal of k8s commands
|
APIx Bot |
blva
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - Removal in the feature branch only.
Notes:
- no need for docs review at this point
- would be good to get one more LGTM from APIx
- would be good to get one LGTM from K8s - K8s, can you confirm this is all the code you expect to live in the plugin, is there any other kubernetes functionality we are missing? (whatever we're not deleting)
|
how will k8s resource(s) importing work going forward? |
hi @RafaelBroseghini , the code is being moved to a separate code base in https://github.com/mongodb/atlas-cli-plugin-kubernetes and will be used as a 1st class plugin. Users will have the same experience as of today, the only difference is that the plugin will have its own binary and release cadence. |
| "google.golang.org/protobuf": "apix-2", | ||
| "golang.org/x/mod": "apix-2", | ||
| "gopkg.in/yaml.v3": "apix-2", | ||
| "github.com/mongodb/mongodb-atlas-kubernetes/v2": "atlas_kubernetes_team", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don’t remove commands lightly. Our standard process involves first deprecating the commands and displaying a deprecation warning in stderr for a period determined by the PM. Once the deprecation period ends, we remove the command in follow up release. Could you clarify why this process is not being followed in this case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the release in which these commands are removed from the AtlasCLI repo directly follows the release of the k8s plugin, which contains all of the code that is being removed in this PR, the UX experience will not change at all. The code has just been migrated. Thus, I don't think a deprecation period is required since commands will still be available to customers with same functionality as now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep, as per scope we proposed to replace them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the UX experience will not change at all.
I don't agree with this, customers running the CLI in a closed network environment (without access to the GH repo) will start getting an error which is a breaking change
yep, as per scope we proposed to replace them
when we are deprecating a command we are removing it from the doc. The fact that we said replace does not prevent us from deprecating the command first and then remove it in a separate release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point, moving this to slack
Proposed changes
Removes kubernetes commands
operator install,config generate,config apply.All methods only used by these commands have also been removed.
Docs and mocks have been regenerated to reflect these removals.
Evergreen tasks remain and will be altered as necessary during future work.
Jira ticket: CLOUDP-293144
Checklist
make fmtand formatted my code