Skip to content
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

⚠️ Bastion is enabled by default if specified #1990

Merged
merged 1 commit into from
Apr 2, 2024

Conversation

mdbooth
Copy link
Contributor

@mdbooth mdbooth commented Apr 1, 2024

Bastion.Enabled is a wart. Ideally it would not be required, but because of limitations in how we delete the bastion we require an intermediate 'disabled' step before removal. Ultimately we intend to remove this limitation.

Eventually we would like to be able to ignore enabled entirely. e.g. To create a Bastion just specify it:

spec:
  bastion:
    spec:
      ...
    floatingIP: x.x.x.x

and to delete it just remove the bastion field.

Right now with enabled defaulting to false, doing the above will not result in the creation of a bastion, because enabled must be explicitly set to true.

Paving the way for the eventual deprecation of Bastion.Enabled, we change the default value of enabled to be true so the above does today what we eventually want it to do. This is also generally more intuitive: why would you include a bastion and a spec if you didn't want to create a bastion? Having to also set enabled to true is currently a trip hazard.

Until we resolve the limitations of bastion deletion, though, we still need to be able to disable the bastion. For this case enabled can be explicitly set to false.

In the future when we remove the requirement to disable the bastion before deletion the user can simply ignore Bastion.Enabled, which will continue to work but without the limitations.

/hold

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Apr 1, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mdbooth

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

The pull request process is described here

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Apr 1, 2024
Copy link

netlify bot commented Apr 1, 2024

Deploy Preview for kubernetes-sigs-cluster-api-openstack ready!

Name Link
🔨 Latest commit 7dd2c35
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-sigs-cluster-api-openstack/deploys/660af6a4c0953c0009e34b08
😎 Deploy Preview https://deploy-preview-1990--kubernetes-sigs-cluster-api-openstack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Bastion.Enabled is a wart. Ideally it would not be required, but because
of limitations in how we delete the bastion we require an intermediate
'disabled' step before removal. Ultimately we intend to remove this
limitation.

Eventually we would like to be able to ignore enabled entirely. e.g. To
create a Bastion just specify it:

```yaml
spec:
  bastion:
    spec:
      ...
    floatingIP: x.x.x.x
```

and to delete it just remove the bastion field.

Right now with enabled defaulting to `false`, doing the above will not
result in the creation of a bastion, because enabled must be explicitly
set to true.

Paving the way for the eventual deprecation of Bastion.Enabled, we
change the default value of enabled to be true so the above does today
what we eventually want it to do. This is also generally more intuitive:
why would you include a bastion and a spec if you didn't want to create
a bastion? Having to also set enabled to true is currently a trip
hazard.

Until we resolve the limitations of bastion deletion, though, we still
need to be able to disable the bastion. For this case enabled can be
explicitly set to false.

In the future when we remove the requirement to disable the bastion
before deletion the user can simply ignore Bastion.Enabled, which will
continue to work but without the limitations.
@jichenjc
Copy link
Contributor

jichenjc commented Apr 2, 2024

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 2, 2024
@mdbooth
Copy link
Contributor Author

mdbooth commented Apr 2, 2024

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 2, 2024
@k8s-ci-robot k8s-ci-robot merged commit a6732bc into kubernetes-sigs:main Apr 2, 2024
9 checks passed
@EmilienM EmilienM deleted the bastionenabled branch April 22, 2024 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants