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

fix!: remove remoteCidr exception block #987

Merged
merged 2 commits into from
Nov 7, 2024
Merged

Conversation

UnicornChance
Copy link
Contributor

@UnicornChance UnicornChance commented Nov 7, 2024

Description

BREAKING CHANGE:Remove the generated exception block from the remoteCidr generation. This change means that a cidr containing the META_IP could be set.

Conversation with @mjnagel resulted in this implementation but open to other suggestions if we want to try and lock down allowed IP ranges with either generation logic, validations, or other.

Related Issue

Fixes #950

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Other (security config, docs update, etc)

Checklist before merging

@UnicornChance UnicornChance self-assigned this Nov 7, 2024
@UnicornChance UnicornChance requested a review from a team as a code owner November 7, 2024 14:36
@catsby
Copy link
Contributor

catsby commented Nov 7, 2024

Are we confident this is a non-breaking change?

@UnicornChance
Copy link
Contributor Author

@catsby that is a good call out. IMO this is technically a breaking change because I'm removing the guardrails protecting the exposure of the META_IP.

@mjnagel
Copy link
Contributor

mjnagel commented Nov 7, 2024

@catsby @UnicornChance I think my slight leaning is that this does not seem like a breaking change. In this case the API surface area (Package CR spec) hasn't changed and we aren't adding any additional unexpected restrictions.

Definitely worth calling out that this has a potential change in security protections, but there are two possible scenarios:

  1. remoteCidr was used with a range that did not include the metadata IP: In this case the network policy would've been broken (the bug issue this PR is fixing).
  2. remoteCidr was used with a range that did include the metadata IP: With the change in this PR functionality will shift and now allow metadata access, but I'd argue that is more in line with my expectations when I allow a specific CIDR so still feels in line with a "bug fix" rather than a breaking change?

Open to other interpretations here - since we are pre-1.x it won't affect the versioning significantly but would more clearly call it out in release notes if we marked it as breaking.

@UnicornChance UnicornChance changed the title fix: remove remoteCidr exception block !fix: remove remoteCidr exception block Nov 7, 2024
@UnicornChance UnicornChance changed the title !fix: remove remoteCidr exception block fix!: remove remoteCidr exception block Nov 7, 2024
Copy link
Contributor

@mjnagel mjnagel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, as discussed I think this is the best path forward since it seemed like a potential unexpected side effect to block this IP when someone has requested access to an explicit CIDR.

@UnicornChance UnicornChance merged commit 264fbf6 into main Nov 7, 2024
18 checks passed
@UnicornChance UnicornChance deleted the remotecidr-except branch November 7, 2024 19:04
UnicornChance pushed a commit that referenced this pull request Nov 12, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.31.0](v0.30.0...v0.31.0)
(2024-11-12)


### ⚠ BREAKING CHANGES

* Remove the generated exception block from the remoteCidr generation.
This change means that a cidr containing the META_IP could be set.

### Bug Fixes

* avoids memory leak in istio sidecar termination
([#972](#972))
([bfd415e](bfd415e))
* ensure grafana does not install plugins from the internet
([#993](#993))
([f3def45](f3def45))
* remove remoteCidr exception block
([#987](#987))
([264fbf6](264fbf6))
* renovate config updated to track tests
([#981](#981))
([2494448](2494448))
* sets `fail-fast` to `false` for matrix workflows
([#995](#995))
([3008788](3008788))
* sort auth chains when building the authservice config
([#969](#969))
([15487fb](15487fb))


### Miscellaneous

* add prometheus, loki, and vector e2e testing
([#939](#939))
([f271ce2](f271ce2))
* add the scorecard supply chain security workflow
([#917](#917))
([5626f2f](5626f2f))
* **deps:** update authservice to v1.0.3
([#893](#893))
([5585a3c](5585a3c))
* **deps:** update grafana curl-fips image to v8.11.0
([#994](#994))
([dfc4c8c](dfc4c8c))
* **deps:** update grafana to 11.3.0
([#921](#921))
([7cdd742](7cdd742))
* **deps:** update loki to 3.2.1
([#918](#918))
([5fa6a24](5fa6a24))
* **deps:** update loki to v6.19.0
([#990](#990))
([8bbac53](8bbac53))
* **deps:** update pepr to v0.39.0
([#932](#932))
([27eb1bd](27eb1bd))
* **deps:** update support dependencies to v3.27.2
([#1001](#1001))
([8702952](8702952))
* **deps:** update support dependencies to v3.3.0
([#985](#985))
([4636a38](4636a38))
* **deps:** update support dependencies to v3.3.1
([#1002](#1002))
([8c20b49](8c20b49))
* **deps:** update support-deps
([#928](#928))
([a9cf1f2](a9cf1f2))
* **deps:** update support-deps
([#983](#983))
([dc3084b](dc3084b))
* **deps:** update support-deps
([#989](#989))
([7a1c74e](7a1c74e))
* **deps:** update velero
([#956](#956))
([7746092](7746092))
* regroup renovate support dependencies
([#979](#979))
([6491be9](6491be9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

remoteCidr generated policy should only include except if in the range
3 participants