Commit Graph

7424 Commits

Author SHA1 Message Date
dependabot[bot] 9cac815f13
build(deps): bump thiserror from 1.0.68 to 2.0.4 (#13435)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.68 to 2.0.4.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.68...2.0.4)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-06 20:01:04 +00:00
dependabot[bot] 2e268528d1
build(deps): bump EmbarkStudios/cargo-deny-action from 1.6.3 to 2.0.4 (#13424)
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 1.6.3 to 2.0.4.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](3f4a782664...e2f4ede4a4)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-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>
2024-12-06 19:56:10 +00:00
Oliver Gould 17b2692d58
build(deps): bump linkerd/dev from v43 to v44 (#13428)
* docker.io/library/golang from 1.22 to 1.23
* gotestsum from 0.4.2 to 1.12.0
* protoc-gen-go from 1.28.1 to 1.35.2
* protoc-gen-go-grpc from 1.2 to 1.5.1
* docker.io/library/rust from 1.76.0 to 1.83.0
* cargo-deny from 0.14.11 to 0.16.3
* cargo-nextest from 0.9.67 to 0.9.85
* cargo-tarpaulin from 0.27.3 to 0.31.3
* just from 1.24.0 to 1.37.0
* yq from 4.33.3 to 4.44.5
* markdownlint-cli2 from 0.10.0 to 0.15.0
* shellcheck from 0.9.0 to 0.10.0
* actionlint from 1.6.26 to 1.7.4
* protoc from 3.20.3 to 29.0
* step from 0.25.2 to 0.28.2
* kubectl from 1.29.2 to 1.31.3
* k3d from 5.6.0 to 5.7.5
* k3s image shas
* helm from 3.14.1 to 3.16.3
* helm-docs from 1.12.0 to 1.14.2
2024-12-06 11:38:36 -08:00
dependabot[bot] 683ce40e07
build(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (#13440)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.7 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](015f24e681...7f8b4b4bde)

---
updated-dependencies:
- dependency-name: codecov/codecov-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>
2024-12-06 08:54:18 -08:00
dependabot[bot] 2dc740a2d6
build(deps): bump anyhow from 1.0.93 to 1.0.94 (#13439)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.93...1.0.94)

---
updated-dependencies:
- dependency-name: anyhow
  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>
2024-12-06 08:52:51 -08:00
dependabot[bot] 652f9e74c5
build(deps): bump tokio from 1.41.1 to 1.42.0 (#13438)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.41.1 to 1.42.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.41.1...tokio-1.42.0)

---
updated-dependencies:
- dependency-name: tokio
  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>
2024-12-06 08:51:30 -08:00
Oliver Gould 9bd16f3b3b
chore: update Go code for new lints (#13437)
Before updating our dev image with a new version of golangci-lint, this change
updates our Go code to satisfy new lints.

No functional changes.
2024-12-06 07:14:17 -08:00
Oliver Gould b3d9605525
refactor(policy): move policy-controller library to runtime (#13419)
The policy-controller main() has grown to hundreds of lines of business logic.
It's preferable to extract this into a library so that the business logic is
seperated from the process/runtime setup.
2024-12-05 14:15:41 -08:00
dependabot[bot] aca577ef0b
build(deps): bump tokio-util from 0.7.12 to 0.7.13 (#13431)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.12 to 0.7.13.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.12...tokio-util-0.7.13)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: indirect
  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>
2024-12-05 10:50:44 -08:00
dependabot[bot] 1c62586193
build(deps): bump clap from 4.5.21 to 4.5.22 (#13436)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.21 to 4.5.22.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.21...clap_complete-v4.5.22)

---
updated-dependencies:
- dependency-name: clap
  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>
2024-12-05 10:50:24 -08:00
dependabot[bot] d5a2398d6f
build(deps): bump tracing-subscriber from 0.3.18 to 0.3.19 (#13422)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.18 to 0.3.19.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.18...tracing-subscriber-0.3.19)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  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>
2024-12-04 07:27:32 -08:00
dependabot[bot] b692c41d49
build(deps): bump errno from 0.3.9 to 0.3.10 (#13421)
Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.9 to 0.3.10.
- [Release notes](https://github.com/lambda-fairy/rust-errno/releases)
- [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lambda-fairy/rust-errno/compare/v0.3.9...v0.3.10)

---
updated-dependencies:
- dependency-name: errno
  dependency-type: indirect
  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>
2024-12-04 07:27:12 -08:00
dependabot[bot] 8b31cce645
build(deps): bump cc from 1.2.1 to 1.2.2 (#13423)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.1...cc-v1.2.2)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: indirect
  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>
2024-12-04 07:26:34 -08:00
dependabot[bot] 50e1a09c73
build(deps-dev): bump eslint-plugin-promise in /web/app (#13408)
Bumps [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) from 7.1.0 to 7.2.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-promise/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-promise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-promise/compare/v7.1.0...v7.2.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-promise
  dependency-type: direct:development
  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>
2024-12-03 14:24:34 -08:00
dependabot[bot] da4205f32f
build(deps): bump k8s.io/endpointslice from 0.31.2 to 0.31.3 (#13386)
Bumps [k8s.io/endpointslice](https://github.com/kubernetes/endpointslice) from 0.31.2 to 0.31.3.
- [Commits](https://github.com/kubernetes/endpointslice/compare/v0.31.2...v0.31.3)

---
updated-dependencies:
- dependency-name: k8s.io/endpointslice
  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>
2024-12-03 18:30:12 +00:00
dependabot[bot] 09f1037974
build(deps): bump libc from 0.2.166 to 0.2.167 (#13418)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.166 to 0.2.167.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.167/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.166...0.2.167)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  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>
2024-12-03 07:39:46 -08:00
dependabot[bot] 95baff0f00
build(deps): bump allocator-api2 from 0.2.20 to 0.2.21 (#13416)
Bumps [allocator-api2](https://github.com/zakarumych/allocator-api2) from 0.2.20 to 0.2.21.
- [Changelog](https://github.com/zakarumych/allocator-api2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zakarumych/allocator-api2/commits/v0.2.21)

---
updated-dependencies:
- dependency-name: allocator-api2
  dependency-type: indirect
  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>
2024-12-03 07:19:15 -08:00
dependabot[bot] 33b1f99796
build(deps): bump mio from 1.0.2 to 1.0.3 (#13417)
Bumps [mio](https://github.com/tokio-rs/mio) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v1.0.2...v1.0.3)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
  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>
2024-12-03 07:18:30 -08:00
Oliver Gould 51fcc59d48
chore(just): retry failures when loading pause container (#13415)
The multicluster integration tests do not retry image import failures when
loading the pause container. This change adds retries to the `_pause-load`
target in `justfile`.
2024-12-02 19:42:55 -08:00
l5d-bot d64cb627ae
proxy: v2.270.0 (#13414)
Release notes: https://github.com/linkerd/linkerd2-proxy/releases/tag/release/v2.270.0

Signed-off-by: l5d-bot <l5d-bot@users.noreply.github.com>
Co-authored-by: l5d-bot <l5d-bot@users.noreply.github.com>
2024-12-02 19:18:21 -08:00
Oliver Gould 6c1b4dd1f1
test(policy): fix assert_status_accepted to panic (#13413)
assert_status_accepted was not panicking when the status was not accepted.

This change updates the e2e_egress_network test to properly wait on networks
that are not accepted.
2024-12-02 22:35:15 +00:00
Oliver Gould a2e1883b21
test(policy): update e2e_egress_network for reliability (#13412)
The e2e_egress_network test is failing for two reasons:

1. httpbin.org is currently down and returning 503 errors.
2. The default tests change the default policies and relaunch a container after
   the policy is changed. In under-resourced environments, this update may be
   slow or unreliable.

This change fixes this by:

1. Using postman-echo.com instead of httpbin.org.
2. Splitting the tests into distinct allow and deny tests to avoid mutating the
   default policy.
2024-12-02 21:39:07 +00:00
Zahari Dichev b7e1b49c1d
policy: Add e2e egress tests (#13390)
This change adds e2e `EgressNetwork` tests that exercise:

- default policy
- explicit allows via route types
- routing of egress traffic to in-cluster services via backend refs

Signed-off-by: Zahari Dichev <zaharidichev@gmail.com>
2024-12-02 18:57:51 +02:00
Oliver Gould ecde6d2b35
ci: pin cargo-nextest to v0.9.67 (#13411)
Ensures rustc compatiblity.
2024-12-02 16:35:08 +00:00
dependabot[bot] 0402da2379
build(deps): bump tracing from 0.1.40 to 0.1.41 (#13402)
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.40 to 0.1.41.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.40...tracing-0.1.41)

---
updated-dependencies:
- dependency-name: tracing
  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>
2024-12-02 11:10:54 -05:00
dependabot[bot] 949d1087db
build(deps): bump bytes from 1.8.0 to 1.9.0 (#13403)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: bytes
  dependency-type: indirect
  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>
2024-12-02 10:57:56 -05:00
dependabot[bot] a5b34e9a5d
build(deps): bump socket2 from 0.5.7 to 0.5.8 (#13404)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/rust-lang/socket2/releases)
- [Changelog](https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/socket2/commits)

---
updated-dependencies:
- dependency-name: socket2
  dependency-type: indirect
  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>
2024-12-02 10:57:32 -05:00
dependabot[bot] d1ac9d6ac5
build(deps): bump libc from 0.2.165 to 0.2.166 (#13400)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.165 to 0.2.166.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.166/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.165...0.2.166)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  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>
2024-11-27 09:47:13 -05:00
l5d-bot 3da90be500
proxy: v2.269.0 (#13401)
Release notes: https://github.com/linkerd/linkerd2-proxy/releases/tag/release/v2.269.0

Signed-off-by: l5d-bot <l5d-bot@users.noreply.github.com>
Co-authored-by: l5d-bot <l5d-bot@users.noreply.github.com>
2024-11-27 04:25:08 +00:00
Oliver Gould 43335fd906
build(deps): bump kubert from 0.21.2 to 0.22.0 (#13399)
This change introduces a timeout into the kubernetes lease logic so that patches
may not get stuck indefinitely.

This change also modifies our Cargo.tomls so that kubert and its related
dependencies (kube and k8s-openapi) are defined at the workspace-level.
2024-11-26 16:47:45 -05:00
dependabot[bot] 0d2e0ce79e
build(deps): bump itoa from 1.0.13 to 1.0.14 (#13398)
Bumps [itoa](https://github.com/dtolnay/itoa) from 1.0.13 to 1.0.14.
- [Release notes](https://github.com/dtolnay/itoa/releases)
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.13...1.0.14)

---
updated-dependencies:
- dependency-name: itoa
  dependency-type: indirect
  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>
2024-11-26 13:46:41 -08:00
dependabot[bot] be0691e35a
build(deps): bump libc from 0.2.164 to 0.2.165 (#13397)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.164 to 0.2.165.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.165/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.164...0.2.165)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  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>
2024-11-26 13:46:08 -08:00
Oliver Gould afdf2e7d2d
build(deps) update go linkerd2-proxy-api to v0.15.0 (#13396) 2024-11-25 17:04:21 -05:00
Oliver Gould dd789cd96d
chore(policy): simplify status controller type matching (#13395)
This change reduces boilerplate when switching between types in the status
controller.

No functional changes.
2024-11-25 19:20:04 +00:00
Oliver Gould 6a46f69c75
chore(policy): set an informative field manager on patches (#13394)
When the policy controller patches a status, it sets the field manager to be
that of the Kind of resource being managed. Per the Kubernetes documentation,
this field should describe the controller that is making the change:

> Managers identify distinct workflows that are modifying the object (especially
> useful on conflicts!), and can be specified through the fieldManager query
> parameter as part of a modifying request. When you Apply to a resource, the
> fieldManager parameter is required. For other updates, the API server infers a
> field manager identity from the "User-Agent:" HTTP header (if present).
>
> When you use the kubectl tool to perform a Server-Side Apply operation,
> kubectl sets the manager identity to "kubectl" by default.

This commit sets the field manager to "linkerd.io/policy-controller", as is used
in status values.
2024-11-25 11:01:15 -08:00
Oliver Gould c030717977
fix(policy): ensure status controller honors leader expiry (#13392)
The status controller updates its leadership state every time the lease changes.
But if the lease expires and does not update for some reason, the contoller
incorrectly continues to act as the leader.

This change ensures that the controller checks the lease on each iteration
to ensure that it correctly honors the lease contract.
2024-11-25 11:00:49 -08:00
Oliver Gould b19fcad525
chore(policy): run status reconciliation at fixed interval (#13384)
The status reconcilation loop runs differently than it seems is intended (based
on the original DEBUG logging): reconcilation is triggered every time that the
lease updates, even when there is no change in leadership. The code seems to
assume that the lease only updates when leadership changes, but this is not the
case.

This commit updates the status reconcilation loop to use a timer. The timer is
reset when leadership is acquired so that reconcilation is triggered at a fixed
interval.
2024-11-25 10:54:37 -08:00
Oliver Gould 85656940d8
ci(multicluster): increase federated test timeout (#13393)
The one minute timeout is too conservative in GitHub Actions. This
change bumps it to 3 minutes.
2024-11-25 09:49:21 -08:00
Oliver Gould 5a4b9fd236
chore(policy): polish policy controller logging (#13379)
There are a few things about the policy controller logging that can be cleaned
up for consistency and clarity:

* We frequently log ERROR messages when processing resources with unexpected
  values. These messages are more appropriately emitted at WARN--we want to
  surface these situations, but they are not really exceptional.
* The leadership status of the status controller is not logged at INFO level, so
  it's not possible to know about status changes without DEBUG logging.
* We generally use Sentence-cased log messages when emitting user-facing
  messages. There are a few situations where we are not consistent.
* The status controller reconciliation logging is somewhat noisy and misleading.
* The status controller does not log any messages when patching resources.

```
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder has changed
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder has changed
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder has changed
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
DEBUG status::Index: linkerd_policy_controller_k8s_status::index: Lease holder reconciling cluster index.name=linkerd-destination-74d7fdc45d-xfb8l
```

The "Lease holder has changed" message actually indicates that the _lease_ has
changed, though the holder may be unchanged.

To improve logging clarity, this change does the following:

* Adds an INFO level log when the leadership status of the controller changes.
* Adds an INFO level log when the status controller patches resources.
* Adds DEBUG level logs when the status controller patches resources.
* Reconciliation housekeeping logging is moved to TRACE level.
* Consistently uses sentence capitalization in user-facing log messages
* Reduces ERROR messages to WARN when handling invalid user-provided data
  (including cluster resources). This ensures that ERRORs are reserved for
  exceptional policy controller states.
2024-11-25 17:12:42 +00:00
Oliver Gould 82c47a9794
fix(policy): fix policy readiness probe delay (#13380)
The policy container is configured differently than all other controllers: other
controllers configure an `initialDelaySeconds` on their `livenessProbe` but not
on their `readinessProbe`. The policy container, however, includes this
configuration on its `readinessProbe` but not on its `livenessProbe`.

This commit fixes the policy container to match the other controllers.

This reduces pod readiness time from 20s to 4s.
2024-11-25 10:36:49 -05:00
dependabot[bot] bacf2b190a
build(deps): bump @fortawesome/free-solid-svg-icons in /web/app (#13382)
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  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>
2024-11-24 11:17:53 -08:00
dependabot[bot] 2a08112eae
build(deps): bump @fortawesome/fontawesome-svg-core in /web/app (#13383)
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  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>
2024-11-24 11:17:40 -08:00
dependabot[bot] aea9e41682
build(deps): bump k8s.io/apiextensions-apiserver from 0.31.2 to 0.31.3 (#13366)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.31.2 to 0.31.3.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.2...v0.31.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  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>
2024-11-24 10:39:44 -08:00
dependabot[bot] 78096ebfb2
build(deps): bump @fortawesome/free-regular-svg-icons in /web/app (#13381)
Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-regular-svg-icons"
  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>
2024-11-24 10:37:46 -08:00
Alex Leong 3c188d6a70
Add federated service e2e test (#13352)
Signed-off-by: Alex Leong <alex@buoyant.io>
2024-11-22 18:12:52 -08:00
Oliver Gould 3c91fc64ce
fix(destination): avoid panic on missing managed fields timestamp (#13378)
We received a report of a panic:

    runtime error: invalid memory address or nil pointer dereference

    panic({0x1edb860?, 0x37a6050?}
        /usr/local/go/src/runtime/panic.go:785 +0x132

    github.com/linkerd/linkerd2/controller/api/destination/watcher.latestUpdated({0xc0006b2d80?, 0xc00051a540?, 0xc0008fa008?})
        /linkerd-build/vendor/github.com/linkerd/linkerd2/controller/api/destination/watcher/endpoints_watcher.go:1612 +0x125

    github.com/linkerd/linkerd2/controller/api/destination/watcher.(*OpaquePortsWatcher).updateService(0xc0007d5480, {0x21fd160?, 0xc000d71688?}, {0x21fd160, 0xc000d71688})
        /linkerd-build/vendor/github.com/linkerd/linkerd2/controller/api/destination/watcher/opaque_ports_watcher.go:141 +0x68

The `latestUpdated` function does not properly handle the case where a atime is
omitted from a `ManagedFieldsEntry`.

    type ManagedFieldsEntry struct {
        // Time is the timestamp of when the ManagedFields entry was added. The
        // timestamp will also be updated if a field is added, the manager
        // changes any of the owned fields value or removes a field. The
        // timestamp does not update when a field is removed from the entry
        // because another manager took it over.
        // +optional
        Time *Time `json:"time,omitempty" protobuf:"bytes,4,opt,name=time"`

This change adds a check to avoid the nil dereference.
2024-11-22 15:21:09 -08:00
Oliver Gould abfdd691a0
fix(test): ensure that the controller sets rate limit status (#13377)
The http_local_rate_limit_policy test creates a resource with a status already
hydrated, but status setting is a job of the controller.

This change updates the test to create a resource without a status and then to
wait for the status to be set properly.

This will hopefully help us to avoid race conditions in this test whereby the
API lookup can occur before the controller observes the resource creation.
2024-11-22 21:32:04 +00:00
Alex Leong a3f1e29193
feat(cli): add check for link version (#13376)
We add a linkerd.io/created-by annotation to Link resources which specifies the version of the CLI which was used to create the Link. This annotation is already used in this way by control plane components. This allows us to easily see what version of Linkerd was used to generated a Link. We add a check that inspects this value and warns if any Links don't match the current version of the CLI.

Additionally, we fix an issue with the orphaned services check where it was incorrectly warning that federated services were orphaned because they don't have a specific target cluster.

Signed-off-by: Alex Leong <alex@buoyant.io>
2024-11-22 13:01:35 -08:00
l5d-bot b67674a64c
proxy: v2.268.0 (#13375)
Release notes: https://github.com/linkerd/linkerd2-proxy/releases/tag/release/v2.268.0

Signed-off-by: l5d-bot <l5d-bot@users.noreply.github.com>
Co-authored-by: l5d-bot <l5d-bot@users.noreply.github.com>
2024-11-22 20:26:02 +00:00
Oliver Gould d5af3b0808
ci: update latest k8s version to 1.31 (#13374)
This change updates the test matrix to exercise k8s v1.31.
2024-11-22 20:25:05 +00:00