Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[feat] Support usage of separate Linode API for the domain client #436

Merged
merged 13 commits into from
Aug 5, 2024

Conversation

mabojars
Copy link
Contributor

@mabojars mabojars commented Aug 2, 2024

What this PR does / why we need it:

  • Currently, CAPL does not allow targeting different Linode API instances for the domain client, and the client for the remaining resources. This use case is required by an internal project.
  • Also, using custom CA certs is broken, due to the way CAPL initializes the linodego client (see below).

Which issue(s) this PR fixes: N/A

Special notes for your reviewer:

  • Exposes new environment variables DNS Linode client configuration:
    • LINODE_DNS_URL - equivalent of the LINODE_URL, but applies only to the DNS client.
    • LINODE_DNS_CA - equivalent of the LINODE_CA, but applies only to the DNS client. If we target a different API instance than LINODE_URL, we might also need to provide different root CA certs.
    • If the above are not provided, default linodego logic applies (same as before).
  • Implements a struct for Linode client configuration (ClientConfig), to keep things from becoming messy with the new parameters. Used as a DTO right after startup.
  • Adds an info level log informing about the fallback of LINODE_DNS_TOKEN to LINODE_TOKEN happening. I've noticed this happens silently, and it would be nice to know.
  • Drops the usage of the oauth2.Transport. This caused the custom TLS configuration to be silently discarded, due to an unexpected interaction with resty. The flow would go like this:
  • Removes emitted log line counting in for controller test suite with events/logs. We've agreed with @eljohnson92 this does not bring much value, while being troublesome to maintain and debug.

TODOs:

  • squashed commits - I'd prefer to squash on merge. The separate commits add valuable context.
  • includes documentation
  • adds unit tests
  • adds or updates e2e tests

@mabojars mabojars force-pushed the fix-dns-client-customization branch from c154348 to b17e444 Compare August 2, 2024 09:32
@mabojars mabojars changed the title [feat] Support independent Linode domain client configuration [feat] Support usage of separate Linode API for the domain client Aug 2, 2024
Copy link

codecov bot commented Aug 2, 2024

Codecov Report

Attention: Patch coverage is 50.56180% with 44 lines in your changes missing coverage. Please review.

Project coverage is 66.14%. Comparing base (1b4a2b9) to head (b835501).

Files Patch % Lines
cmd/main.go 0.00% 33 Missing ⚠️
cloud/scope/common.go 76.00% 3 Missing and 3 partials ⚠️
controller/linodemachine_controller.go 0.00% 2 Missing ⚠️
controller/linodecluster_controller.go 0.00% 1 Missing ⚠️
controller/linodeplacementgroup_controller.go 0.00% 1 Missing ⚠️
controller/linodevpc_controller.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #436      +/-   ##
==========================================
- Coverage   66.27%   66.14%   -0.13%     
==========================================
  Files          76       76              
  Lines        3887     3908      +21     
==========================================
+ Hits         2576     2585       +9     
- Misses       1122     1131       +9     
- Partials      189      192       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mabojars mabojars force-pushed the fix-dns-client-customization branch from d34d064 to 3e8d316 Compare August 2, 2024 09:55
@mabojars mabojars force-pushed the fix-dns-client-customization branch from 096434f to 2d35126 Compare August 2, 2024 13:33
@mabojars mabojars marked this pull request as ready for review August 2, 2024 14:08
@mabojars mabojars force-pushed the fix-dns-client-customization branch from 2d35126 to 6cd8baa Compare August 2, 2024 14:11
eljohnson92
eljohnson92 previously approved these changes Aug 2, 2024
Copy link
Contributor

@AshleyDumaine AshleyDumaine left a comment

Choose a reason for hiding this comment

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

LGTM

@mabojars mabojars merged commit 1590966 into main Aug 5, 2024
11 of 13 checks passed
@mabojars mabojars deleted the fix-dns-client-customization branch August 5, 2024 07:56
okokes-akamai added a commit to okokes-akamai/linode-cloud-controller-manager that referenced this pull request Aug 15, 2024
We're hitting the same issue as here: linode/cluster-api-provider-linode#436

We use a custom CA and it doesn't get used.

Given that we construct an http.Transport that is of a different
concrete type than http.Transport (it just needs to be a RoundTripper),
resty fails and defaults to an empty client, discarding our CA.
okokes-akamai added a commit to linode/linode-cloud-controller-manager that referenced this pull request Aug 15, 2024
We're hitting the same issue as here: linode/cluster-api-provider-linode#436

We use a custom CA and it doesn't get used.

Given that we construct an http.Transport that is of a different
concrete type than http.Transport (it just needs to be a RoundTripper),
resty fails and defaults to an empty client, discarding our CA.
rahulait added a commit to linode/linode-cloud-controller-manager that referenced this pull request Feb 4, 2025
* Support for acls with >255 IPs

* fix loop var, handle case where len >25

* fix adding labels to node

* refactor into distinct packages to prep for adding firewall support to Nodes

* feat: add route-controller to linode ccm (#184)

* add route-controller to linode ccm

* store vpc id in route_controller

* address review comments

* fix internal ip for nodes, fix tests and address review comments

* address review comments

* Update cloud/linode/route_controller.go

Co-authored-by: Ashley Dumaine <5779804+AshleyDumaine@users.noreply.github.com>

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>
Co-authored-by: Ashley Dumaine <5779804+AshleyDumaine@users.noreply.github.com>

* disable conn-throttle by default (#189)

* disable conn-throttle by default

* set to 0 only if nothing is specified:

* update readmne

* don't error out with empty vpc name if routecontroller is disabled (#190)

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* Auto add private ip annotation to nodes (#182)

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* revert PR 184, PR 190 and PR 182

* allow linodego-debug to be set by helm

* Use Go 1.22 HTTP router in fake API (#173)

* Fixing the nodebalancer config rebuilds to include ids of preexisting nodebalancer nodes (#192)

Fixing the nodebalancer config rebuilds to include ids of preexisting nodebalancer nodes to avoid rebuilds.

+ tests
+ Bumping k8s deps and updating CCM to reflect new API
+ Fixing node_controller and service_controller due to changes in k8s api.
+ upgrading toolchain
+ Bumping CI's go version
+ Adding build deps/tools to separate file
+ Refactored client mocks to generate just one file and dropped the two copies which existed due to _test.go in name, that prevents the code to be imported

* fix-readme: firewall-acl invalid json

Fix typo in README where in example is invalid json.

* Lookup linode by IP instead if label or providerID do not match (#198)

* Lookup linode by IP if label does not match and ProviderID is not set

---------

Co-authored-by: Alex Vest <avestuk@gmail.com>

* Adding --webhook-secure-port=0 to helmchart since it is needed workaround for issue #200 which some users are experiencing (#204)

* feat: Add route_controller to linode CCM (#199)

* add back changes reverted in PR #195

* get instanceConfig only when running within VPC

* add and fix unittests

* use lock when reading/writing vpc id

* updated route-controller using /v4/vpcs/ips api

* fix tests

* switch to new api returning ips for specific vpc

* when running with vpc set, only cache instances which are part of VPC

* address review comments

* update linodego to v1.33.0

* address review comment, make variable required if routecontroller is enabled

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* Fix Test Badge (#205)

* Set toolchain go1.22.2 go.mod

* update client to work for v4beta API

* handle LoadBalancer deletion if service type changes to no longer be a LoadBalancer

* Update linodego (#212)

Primarily to get the token obfuscation feature in this release: https://github.com/linode/linodego/releases/tag/v1.34.0

This means that if one enables LINODE_DEBUG to understand all Linode API calls, tokens will no longer be printed out.

* add support for cilium-backed loadbalancers

* create cilium BGPPeeringPolicy automatically

* check cilium lb pools for ips to share, ensure new nodes get ips shared

* fix tests

* can only handle one kind of LoadBalancerClass in a cluster due to cloud-provider wanting no loadBalancerClass set

* use ptr since k8s.io/utils already exists

* make the ip-holder per region

* update readme

* add more comments

* move LBPool error check up

* update helm templating for loadBalancerType

* fix: remove firewall device by device ID not entity ID (#214)

* fix: remove firewall device by device ID not entity ID

* update tests

---------

Co-authored-by: Ryan Lonergan <rlonerga@akamai.com>

* don't try to share IPs that may have been removed on the ip-holder outside of the CCM logic

* fix tests and a bug

* fix: use tag ref for helm-release so the release workflow can start it (#216)

Co-authored-by: Ryan Lonergan <rlonerga@akamai.com>

* include ipv6 address for node IPs

* need to trim /128 on ipv6 addresses

* add timeout for linodego http client (#219)

* add timeout for linodego http client

* address review comments

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* update linodego to v1.36.2 (#222)

* update linodego to v1.36.2

* fix lint failure due to deprecation errors

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* Add support for codecov reporting (#223)

* feat: Support high performance ingress with no label selector

* fix: Default BGP peering for worker nodes

* fix: resync and add automatic resync period (#225)

Signed-off-by: Mateusz Urbanek <murbanek@akamai.com>

* Do not use a custom http.Transport due to Resty incompatibility (#227)

We're hitting the same issue as here: linode/cluster-api-provider-linode#436

We use a custom CA and it doesn't get used.

Given that we construct an http.Transport that is of a different
concrete type than http.Transport (it just needs to be a RoundTripper),
resty fails and defaults to an empty client, discarding our CA.

* udpate helm chart for excluding bgp node selector

* don't assume the IP holder immediately reflects the new IP to share

* log IPs of nodes

* log nodes when setting IP address

* log instancemetadata

* [fix] getExistingSharedIPs should get Public IPs from the holder

* Allow mark internal network as external

With new enviroment variable `LINODE_EXTERNAL_SUBNET` is possible to set
internal network subnet to be used as external network.

Useful for running on testing Linode cloud instances which are providing
external IP addresses in internal network.

* use net.IPNet and add test

* fix empty value in readme

* handle cases where the internal-ip is already set (e.g. kubelet)

* add test for existing internal IP on node

* remove deprecated types

* make volume and volume mounts configurable through helm (#238)

* fix: Dockerfile to reduce vulnerabilities (#239)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE319-BUSYBOX-6913413
- https://snyk.io/vuln/SNYK-ALPINE319-BUSYBOX-6928845
- https://snyk.io/vuln/SNYK-ALPINE319-BUSYBOX-6928846
- https://snyk.io/vuln/SNYK-ALPINE319-BUSYBOX-6928846
- https://snyk.io/vuln/SNYK-ALPINE319-BUSYBOX-6928847

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* add support for devbox

* remove duplicate ip's to avoid patching error (#243)

* manage routes for instances in multiple vpcs in a single region (#241)

* manage routes for instances in multiple vpcs in a single region

* fix readme and helm chart

* address review comments

* add test for multiple vpcs

* remove vpc from cache if it doesn't exist

* address review comments

* Return back order to follow documentation page

* Add missing DCs that are documented as having "IP Sharing" feature

* fix expired cert (#245)

* [fix] : fix internal ip ordering (#247)

* fix internal ip ordering

* add test to make sure ip's are in specific order

* create ip holder per cluster + tests, update docs

Signed-off-by: Ross Kirkpatrick <rosskirkpat@outlook.com>

* [repo-ci-improvement] : update GHA to run e2e tests (#248)

* update GHA to run e2e tests

* simplify go versions used for ci tests

* update helm version, update Makefile

* update k8s version

* fix linting

* address review comments

* [fix] : fix template for linode ccm (#251)

* fix template for linode ccm

* add deprecation warning

* [testing] : convert existing e2e tests to chainsaw tests (#253)

* convert e2e tests to chainsaw tests

* fix dir naming and test failures

* fix failing tests

* add fw test, add script and run 2 tests in parallel

* add check for error to be null

* fix install failures by pinning bootstrap and control-plane versions

* fix typos

* add dependabot support (#254)

* Bump google.golang.org/grpc from 1.64.0 to 1.64.1 (#255)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump golang.org/x/crypto from 0.24.0 to 0.31.0 (#268)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.24.0 to 0.31.0.
- [Commits](golang/crypto@v0.24.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump k8s.io/klog/v2 in the kubernetes group (#262)

Bumps the kubernetes group with 1 update: [k8s.io/klog/v2](https://github.com/kubernetes/klog).


Updates `k8s.io/klog/v2` from 2.120.0 to 2.130.1
- [Release notes](https://github.com/kubernetes/klog/releases)
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md)
- [Commits](kubernetes/klog@v2.120.0...v2.130.1)

---
updated-dependencies:
- dependency-name: k8s.io/klog/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kubernetes
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump helm/chart-testing-action from 2.6.0 to 2.6.1 (#260)

Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](helm/chart-testing-action@v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump actions/setup-python from 4 to 5 (#259)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump docker/build-push-action from 5 to 6 (#258)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump azure/setup-helm from 3 to 4 (#256)

Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](Azure/setup-helm@v3...v4)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (#267)

Bumps [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.42.0 to 0.46.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go-contrib@zpages/v0.42.0...zpages/v0.46.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump softprops/action-gh-release from 1 to 2 (#257)

Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump alpine from 3.20.3 to 3.21.0 (#261)

Bumps alpine from 3.20.3 to 3.21.0.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump github.com/getsentry/sentry-go from 0.4.0 to 0.30.0 (#266)

Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.4.0 to 0.30.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-go@v0.4.0...v0.30.0)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add release-drafter to ccm (#269)

* bump golang to 1.23 (#270)

* update linodego to v1.43.0 (#271)

* 🌱 Bump codecov/codecov-action from 4 to 5 (#275)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump actions/checkout from 2.3.4 to 4.2.2 (#274)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v2.3.4...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#273)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [deps] : update cilium and k8s dependencies (#272)

* update dependencies

* fix lint errors

* pin golangci-lint version (#278)

* [fix] : use single copy of instances cache (#276)

* use single copy of instances

* use single copy of instance cache for node_controller as well

* let http to https test run a bit longer as it sometimes takes a bit longer

* Add option for global NodeBalancer tags (Closes #220) (#221)

* Add option for global NodeBalancer tags

* remove empty line

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* [testing] E2E test case for VPC route controller  (#280)

* Add the chainsaw test

* Address comment

* [test] : add unittests for vpc.go file (#281)

* add unittests for vpc.go file

* allow ingest.codecov.io as well for codecov to work

* don't run vpc tests in parallel as they modify global var data

* 🌱 Bump github.com/linode/linodego from 1.43.0 to 1.44.0 (#283)

Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.43.0 to 1.44.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.43.0...v1.44.0)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump github.com/cilium/cilium from 1.16.4 to 1.16.5 (#282)

Bumps [github.com/cilium/cilium](https://github.com/cilium/cilium) from 1.16.4 to 1.16.5.
- [Release notes](https://github.com/cilium/cilium/releases)
- [Changelog](https://github.com/cilium/cilium/blob/1.16.5/CHANGELOG.md)
- [Commits](cilium/cilium@1.16.4...1.16.5)

---
updated-dependencies:
- dependency-name: github.com/cilium/cilium
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add unittest for service controller (#285)

* [test] : add unittests for node_controller (#284)

* add unittests for node_controller

* add check for env var as well

* 🌱 Bump github.com/getsentry/sentry-go from 0.30.0 to 0.31.1 (#288)

Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.30.0 to 0.31.1.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-go@v0.30.0...v0.31.1)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix random failures due to curl error (#287)

* [test] : add more unittests to increase code-coverage (#286)

* add more unittests to increase code-coverage

* ignore full dir

* [feat] add support for custom BGP environment overrides via environment variables (#277)

* add support for custom BGP environment overrides via environment variables

* address review comments

* add test for bgp custom id map

---------

Co-authored-by: Rahul Sharma <rahsharm@akamai.com>

* Add Cilium BGP LB e2e test

* Makefile fix

* Adding nanode cleanup

* nit fix: adding eod

* Adding right kubeconfig path for patchs in Makefile

* ignore if env vars are empty (#289)

* fix up the test

* debug

* Handle multiple nodes for labeling

* fix?

* Syntax fix

* fix?

* test

* fix

* Using bash/shell script to patch to make thing reabable and fix issue with makefile patches

* Enable old tests back and some clean up

* 🌱 Bump alpine from 3.21.0 to 3.21.2 (#292)

Bumps alpine from 3.21.0 to 3.21.2.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump github.com/linode/linodego from 1.44.0 to 1.44.1 (#291)

Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.44.0 to 1.44.1.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.44.0...v1.44.1)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Address comments

* fixes

* Delete nanode incase we hit some error case

* Change the dir structure

* [test] Add unit test cases for Sentry (#294)

* Add unit test cases

* Update the Makefile to include ./sentry dir

* Refactor docs into a mdbook

* Add missing links in the Readme

* Add GHA for publishing mdbook

* testing the mdbook deploy

* Update Makefile

* GHA: do not run CI flow if we are just updating docs. Its unneccessary

* address comments

* fix typo

* Removing the temp PR gh-pages push

* Add rate limits link

* Update based on PR comment

* 🌱 Bump github.com/linode/linodego from 1.44.1 to 1.46.0 (#300)

Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.44.1 to 1.46.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.44.1...v1.46.0)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump the kubernetes group with 5 updates (#299)

Bumps the kubernetes group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.0` | `0.32.1` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.32.0` | `0.32.1` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.0` | `0.32.1` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.32.0` | `0.32.1` |
| [k8s.io/component-base](https://github.com/kubernetes/component-base) | `0.32.0` | `0.32.1` |


Updates `k8s.io/api` from 0.32.0 to 0.32.1
- [Commits](kubernetes/api@v0.32.0...v0.32.1)

Updates `k8s.io/apimachinery` from 0.32.0 to 0.32.1
- [Commits](kubernetes/apimachinery@v0.32.0...v0.32.1)

Updates `k8s.io/client-go` from 0.32.0 to 0.32.1
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.0...v0.32.1)

Updates `k8s.io/cloud-provider` from 0.32.0 to 0.32.1
- [Commits](kubernetes/cloud-provider@v0.32.0...v0.32.1)

Updates `k8s.io/component-base` from 0.32.0 to 0.32.1
- [Commits](kubernetes/component-base@v0.32.0...v0.32.1)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kubernetes
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kubernetes
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kubernetes
- dependency-name: k8s.io/cloud-provider
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kubernetes
- dependency-name: k8s.io/component-base
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kubernetes
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Address a commet

* Remove mdbook implementation

* clean up

* address comments

* clean up

* Switch the pages rendered to GFM

* Address comments

* 🌱 Bump github.com/cilium/cilium from 1.16.5 to 1.16.6 (#301)

Bumps [github.com/cilium/cilium](https://github.com/cilium/cilium) from 1.16.5 to 1.16.6.
- [Release notes](https://github.com/cilium/cilium/releases)
- [Changelog](https://github.com/cilium/cilium/blob/1.16.6/CHANGELOG.md)
- [Commits](cilium/cilium@1.16.5...1.16.6)

---
updated-dependencies:
- dependency-name: github.com/cilium/cilium
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* address comments

* 🌱 Bump helm/chart-testing-action from 2.6.1 to 2.7.0 (#305)

Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](helm/chart-testing-action@v2.6.1...v2.7.0)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump jetify-com/devbox-install-action from 0.11.0 to 0.12.0 (#304)

Bumps [jetify-com/devbox-install-action](https://github.com/jetify-com/devbox-install-action) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/jetify-com/devbox-install-action/releases)
- [Commits](jetify-com/devbox-install-action@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: jetify-com/devbox-install-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump helm/chart-releaser-action from 1.6.0 to 1.7.0 (#303)

Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/helm/chart-releaser-action/releases)
- [Commits](helm/chart-releaser-action@v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: helm/chart-releaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix ACL update bug and add e2e test for it (#306)

* [feat] add linode token health check

* [fix] : delete fw if provisioned by CCM with ACL (#307)

* delete fw if provisioned by CCM with ACL

* address review comments

* add e2e test to check firewall is deleted on ACL and service deletion

* Expose Linode Client Prometheus metrics (#302)

* Expose Linode Client Prometheus metrics

Add `--authorization-always-allow-paths="/metrics"` to command line to
allow scraping these metrics.

In addition to Linode Client metrics, standard controller and worqueue
metrics are visible by default.

To disambiguate CCM node controller work queue name, it's explicitly
named "ccm_node". That is, "node", "service" are upstream work
queues of k8s cloud-provider service controller and "ccm_node" is
the work queue of Linode CCM node controller.

Fixes #296

* Ignore coverage for client_with_metrics.go

* Add allowUnauthorizedMetrics Helm value

* Move metrics docs to getting-started sections

* Instrument healthChecker with Prometheus metrics

* Update newHealthChecker tests

* Preserve initialization order

* Remove unused timeout variable in healthChecker

* Remove unnecessary err return in newHealthChecker

* add environment for e2e tests (#311)

* add environment for e2e tests

* checkout pull request head

* fix test failing due to service getting deleted and retry failing

* 🌱 Bump github.com/spf13/pflag (#313)

Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag) from 1.0.6-0.20210604193023-d5e0c0615ace to 1.0.6.
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/commits/v1.0.6)

---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🌱 Bump github.com/linode/linodego from 1.46.0 to 1.47.0 (#312)

Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.46.0 to 1.47.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](linode/linodego@v1.46.0...v1.47.0)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* use pull_request_target for CI workflows (#314)

---------

Signed-off-by: Mateusz Urbanek <murbanek@akamai.com>
Signed-off-by: Ross Kirkpatrick <rosskirkpat@outlook.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tarun Chinmai Sekar <schinmai@akamai.com>
Co-authored-by: Tarun Chinmai Sekar <70169773+tchinmai7@users.noreply.github.com>
Co-authored-by: Ashley Dumaine <adumaine@akamai.com>
Co-authored-by: Ashley Dumaine <5779804+AshleyDumaine@users.noreply.github.com>
Co-authored-by: okokes-akamai <126059888+okokes-akamai@users.noreply.github.com>
Co-authored-by: akaokunc <125955904+akaokunc@users.noreply.github.com>
Co-authored-by: Michal Kovarik <mkovarik@akamai.com>
Co-authored-by: Michal Kovarik <michkov@gmail.com>
Co-authored-by: Evan <eljohn1014@gmail.com>
Co-authored-by: Alex Vest <avestuk@gmail.com>
Co-authored-by: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com>
Co-authored-by: Richard Kovacs <rkovacs@akamai.com>
Co-authored-by: Richard Kovacs <kovacsricsi@gmail.com>
Co-authored-by: Ashley Dumaine <ashley.dumaine@gmail.com>
Co-authored-by: Ryan Lonergan <ryan.tlonergan@gmail.com>
Co-authored-by: Ryan Lonergan <rlonerga@akamai.com>
Co-authored-by: Brian Mendoza <bmendoza@akamai.com>
Co-authored-by: bcm820 <bcmendoza@gmail.com>
Co-authored-by: Mateusz Urbanek <mateusz.urbanek.98@gmail.com>
Co-authored-by: rpotla <rpotla@akamai.com>
Co-authored-by: Dane Thorsen <10946253+dthorsen@users.noreply.github.com>
Co-authored-by: rammanoj <rammanojpotla1608@gmail.com>
Co-authored-by: Dane Thorsen <dthorsen@users.noreply.github.com>
Co-authored-by: David Stoline <drupal@davidstoline.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Michal Jurosz <mjurosz@akamai.com>
Co-authored-by: Michal Jurosz <138458470+mjurosz@users.noreply.github.com>
Co-authored-by: Ross Kirkpatrick <rosskirkpat@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Glenn Pratt <gpratt@akamai.com>
Co-authored-by: Khaja Omer <56000175+komer3@users.noreply.github.com>
Co-authored-by: Khaja Omer <komer@akamai.com>
Co-authored-by: Filip Cap <fcap@akamai.com>
Co-authored-by: rsienko <40423838+rsienko@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants