kubernetes-sigs / cluster-api-provider-openstack

Cluster API implementation for OpenStack
https://cluster-api-openstack.sigs.k8s.io/
Apache License 2.0
275 stars 253 forks source link

⚠️ Bastion is enabled by default if specified #1990

Closed mdbooth closed 3 months ago

mdbooth commented 3 months ago

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 commented 3 months ago

[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: - ~~[OWNERS](https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/main/OWNERS)~~ [mdbooth] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
netlify[bot] commented 3 months ago

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

Name Link
Latest commit 7dd2c352a4efcebbfa8f8e2734901c111081a5e5
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.

jichenjc commented 3 months ago

/lgtm

mdbooth commented 3 months ago

/hold cancel