Commit Graph

4698 Commits

Author SHA1 Message Date
Oliver Gould 04a66bacea
Set a header read timeout on HTTP servers (#9181)
Newer versions of golangci-lint flag `http.Server` instances that do not
set a `ReadHeaderTimeout` as being vulnerable to "slowloris" attacks,
wherein clients initiate requests that hold connections open
indefinitely.

This change sets a `ReadHeaderTimeout` of 10s. This timeout is fairly
conservative so that clients can eagerly create connections, but is
still constrained enough that these connections won't remain open
indefinitely.

This change also updates kubert to v0.9.1, which instruments a header
read timeout on the policy admission server.

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-16 11:10:23 -07:00
dependabot[bot] d957ec6003
build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#9172)
Bumps [github.com/mattn/go-isatty](https://github.com/mattn/go-isatty) from 0.0.14 to 0.0.16.
- [Release notes](https://github.com/mattn/go-isatty/releases)
- [Commits](https://github.com/mattn/go-isatty/compare/v0.0.14...v0.0.16)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:31:48 -07:00
dependabot[bot] 5f40cb1ccc
build(deps): bump github.com/go-openapi/spec from 0.20.6 to 0.20.7 (#9180)
Bumps [github.com/go-openapi/spec](https://github.com/go-openapi/spec) from 0.20.6 to 0.20.7.
- [Release notes](https://github.com/go-openapi/spec/releases)
- [Commits](https://github.com/go-openapi/spec/compare/v0.20.6...v0.20.7)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:31:37 -07:00
dependabot[bot] 402befb2e4
build(deps): bump tj-actions/changed-files from 26 to 26.1 (#9176)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 26 to 26.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](7394701157...58ae566dc6)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 10:31:24 -07:00
dependabot[bot] e4a9df24fe
build(deps): bump iana-time-zone from 0.1.44 to 0.1.45 (#9174)
Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.44 to 0.1.45.
- [Release notes](https://github.com/strawlab/iana-time-zone/releases)
- [Commits](https://github.com/strawlab/iana-time-zone/compare/0.1.44...v0.1.45)

---
updated-dependencies:
- dependency-name: iana-time-zone
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 09:41:58 -07:00
William Morgan 3319331bee
Update NOTES.txt (#9170)
Reference the Helm extension install in the Helm message
2022-08-16 09:22:51 -07:00
Alex Leong 9df37aee75
Pass TAG into arm64 integration tests (#9146)
The arm64 integration tests require that the TAG env variable is set properly so that they can invoke the correct tag of the cni-plugin image.  However, this env variable is not being set for the integration tests, resulting in the wrong tag being used.

e.g. see https://github.com/linkerd/linkerd2/runs/7810461484?check_suite_focus=true

We set the TAG variable into the GITHUB_ENV so that it is available to the integration test.

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-16 09:21:48 -07:00
dependabot[bot] 68a114dab4
build(deps): bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0 (#9107)
* build(deps): bump github.com/prometheus/client_golang

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.13.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.12.2...v1.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Update MockProm method signatures

Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
2022-08-16 09:20:17 -07:00
Kevin Leimkuhler 2829c2355d
Require all gateway clients to be authenticated (#9167)
Closes #9145

This adds the `config.linkerd.io/default-inbound-policy: all-authenticated`
annotation to linkerd-multicluster’s Gateway deployment so that all clients are
required to be authenticated. This ensures that clients — including those for
the `/metrics` and `/env.json` routes — are authenticated.

Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
2022-08-16 10:04:27 -06:00
dependabot[bot] 5ecf47eebc
build(deps): bump pin-project from 1.0.11 to 1.0.12 (#9173)
Bumps [pin-project](https://github.com/taiki-e/pin-project) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/taiki-e/pin-project/releases)
- [Changelog](https://github.com/taiki-e/pin-project/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/pin-project/compare/v1.0.11...v1.0.12)

---
updated-dependencies:
- dependency-name: pin-project
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-16 08:45:53 -07:00
dependabot[bot] 3c8e35ff43
build(deps-dev): bump webpack-dev-server in /web/app (#9153)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.3 to 4.10.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.3...v4.10.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 13:43:27 -07:00
dependabot[bot] 346cd0159a
build(deps-dev): bump eslint from 8.21.0 to 8.22.0 in /web/app (#9152)
Bumps [eslint](https://github.com/eslint/eslint) from 8.21.0 to 8.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.21.0...v8.22.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 13:43:10 -07:00
Oliver Gould 0b094ec142
dev: Update markdowlint-cli2 to v0.5.1 (#9166)
* Update the devcontainer to use Node 16
* Update markdowlint-cli2 to v0.5.1
* Update the markdown workflow to use a newer action
* Address various markdown linting issues
* Add a `just markdownlint` recipe
* Publish dev:v26

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-15 12:59:59 -07:00
dependabot[bot] f7784aab05
build(deps): bump tj-actions/changed-files from 25 to 26 (#9159)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 25 to 26.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](36e65a1165...7394701157)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 09:37:45 -07:00
dependabot[bot] 0f0750cce2
build(deps): bump clap from 3.2.16 to 3.2.17 (#9157)
Bumps [clap](https://github.com/clap-rs/clap) from 3.2.16 to 3.2.17.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.17/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.16...v3.2.17)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 09:37:20 -07:00
dependabot[bot] 3614c28c11
build(deps): bump chrono from 0.4.21 to 0.4.22 (#9156)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.21 to 0.4.22.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.21...v0.4.22)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 09:36:59 -07:00
dependabot[bot] 237f56d8e0
build(deps): bump os_str_bytes from 6.2.0 to 6.3.0 (#9154)
Bumps [os_str_bytes](https://github.com/dylni/os_str_bytes) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/dylni/os_str_bytes/releases)
- [Commits](https://github.com/dylni/os_str_bytes/compare/6.2.0...6.3.0)

---
updated-dependencies:
- dependency-name: os_str_bytes
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 09:35:57 -07:00
dependabot[bot] 5f5f5a5bb2
build(deps): bump futures from 0.3.21 to 0.3.23 (#9158)
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.23.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.23)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-15 09:35:40 -07:00
Alejandro Pedraza fd98c064c6
Properly inherit `linkerd.io/inject: ingress` from NS to workload (#9114)
* Properly inherit `linkerd.io/inject: ingress` from NS to workload

Workloads were inheriting it as the default `enabled` mode.

Introduced a new entry in the inject integration test to catch this.

This fix is paired with the ingress doc clarification PR linkerd/website#1398
2022-08-12 17:17:34 -05:00
Oliver Gould b2f22dee78
go: Copy port range utilities from the proxy-init repo (#9143)
The proxy-init repo is changing its structure and, as such, we want to
minimize cross-repo dependencies from linkerd2 to linkerd2-proxy-init.
(We expect the cni-plugin code to move in a followup change).

This change duplicates the port range parsing utility (about 50 lines,
plus tests). This avoids stray dependencies on linkerd2-proxy-init.

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-12 10:34:02 -07:00
dependabot[bot] 5d74a2b0bb
build(deps): bump libc from 0.2.129 to 0.2.131 (#9139)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.129 to 0.2.131.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/commits)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 09:26:07 -07:00
dependabot[bot] f2ff566e6d
build(deps): bump iana-time-zone from 0.1.42 to 0.1.44 (#9140)
Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.42 to 0.1.44.
- [Release notes](https://github.com/strawlab/iana-time-zone/releases)
- [Commits](https://github.com/strawlab/iana-time-zone/compare/0.1.42...0.1.44)

---
updated-dependencies:
- dependency-name: iana-time-zone
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 12:13:44 +01:00
Alex Leong 5427446de9
edge-22.8.2 (#9138)
This release is considered a release candidate for stable-2.12.0 and we
encourage you to try it out! It includes an update to the multicluster extension
which adds support for Kubernetes v1.24 and also updates many CLI commands to
support the new policy resources: ServerAuthorization and HTTPRoute.

* Updated linkerd check to allow RSA signed trust anchors (thanks @danibaeyens)
* Fixed some invalid yaml in the viz extension's tap-injector template (thanks @wc-s)
* Added support for AuthorizationPolicy and HttpRoute to viz authz command
* Added support for AuthorizationPolicy and HttpRoute to viz stat
* Added support for policy metadata in linkerd tap
* Fixed an issue where certain control plane components were not restarting as
  necessary after a trust root rotation
* Added a ServiceAccount token Secret to the multicluster extension to support
  Kubernetes versions >= v1.24
* Fixed an issuer where the --default-inbound-policy setting was not being
  respected

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-11 16:56:21 -07:00
Alex Leong 2e01fa8089
Set default inbound policy in policy-controller flags (#9129)
When Linkerd is installed with the `--default-inbound-policy` flag, this value gets propagated to the `proxy.defaultInboundPolicy` value which sets the `LINKERD2_PROXY_INBOUND_DEFAULT_POLICY` proxy env var, but not to the `policyController.defaultAllowPolicy` value which sets the `--default-policy` flag on the policy-controller.

Since the policy-controller returns default servers when a server resource does not exist, this causes the `--default-inbound-policy` value to be effectively ignored.  We update this to set the `PolicyController.DefaultAllowPolicy` value which is used by the proxy as the default when `proxy.defaultInboundPolicy` is not set.

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-11 15:49:59 -07:00
Oliver Gould b3b8f77149
dev: Restore falling back to cargo-test (#9137)
cargo-nextest may not be available when we're running in CI (i.e. for
integration tests). This change restores the fallback behavior to use
cargo-test when cargo-nextest isn't present.

This change updates the integration tests to run policy tests on
justfile changes to catch this sort of problem.

Signed-off-by: Oliver Gould <ver@buoyant.io>

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-11 14:58:50 -07:00
dependabot[bot] aabc5519eb
build(deps): bump helm.sh/helm/v3 from 3.9.2 to 3.9.3 (#9131)
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.9.2...v3.9.3)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 20:51:49 -07:00
dependabot[bot] 9c279f902e
build(deps): bump anyhow from 1.0.60 to 1.0.61 (#9132)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.60 to 1.0.61.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61)

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

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 20:51:27 -07:00
dependabot[bot] 7fe5cb5307
build(deps): bump iana-time-zone from 0.1.41 to 0.1.42 (#9133)
Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.41 to 0.1.42.
- [Release notes](https://github.com/strawlab/iana-time-zone/releases)
- [Commits](https://github.com/strawlab/iana-time-zone/compare/0.1.41...0.1.42)

---
updated-dependencies:
- dependency-name: iana-time-zone
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 20:51:13 -07:00
Oliver Gould 53c78dde49
dev: Update tools (#9130)
* Go v1.18.5
* Just v1.4.0
* Nextest v0.9.33
* Update the devcontainer version to v25
* justfile: Use `cargo-nextest` exclusively
* justfile: Fix `_k3d-init` recipe to use proper configured k3d cluster name
* justfile: Add `k3d-use` recipe to switch the default context

Signed-off-by: Oliver Gould <ver@buoyant.io>

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-10 20:49:36 -07:00
Matei David 0864c74e66
Create SA token for mc remote access (#9122)
Create SA token for mc remote access

As of Kubernetes v1.24, ServiceAccount secrets are no longer
automatically generated. The multicluster `link` requires a token
associated with the 'linkerd-service-mirror-remote-access-default'
ServiceAccount in order to create a kubeconfig that can be used to
create remote clients.

Since tokens are no longer generated when a ServiceAccount is created,
linking clusters is not currently possible in Kubernetes v1.24. This
change introduces a new Secret object, whose type is a "service account
secret", and whose associated ServiceAccount is our remote access SA.

By creating the Secret manually (and associating it with our SA through
annotations), a token will be created by the relevant k8s controllers.
As a result of manually creating a secret, versions smaller than v1.24
will now have two tokens created for the ServiceAccount.

Signed-off-by: Matei David <matei@buoyant.io>
Co-authored-by: Alejandro Pedraza <alejandro@buoyant.io>
2022-08-10 18:39:20 +01:00
dependabot[bot] 4bc680a878
build(deps): bump libc from 0.2.127 to 0.2.129 (#9125)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.127 to 0.2.129.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.127...0.2.129)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-10 08:16:16 -07:00
dependabot[bot] 562509d55d
build(deps): bump chrono from 0.4.20 to 0.4.21 (#9124)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.20 to 0.4.21.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.20...v0.4.21)

---
updated-dependencies:
- dependency-name: chrono
  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>
2022-08-10 07:43:32 -07:00
Oliver Gould d551aa76da
proxy: v2.185.0 (#9123)
This proxy release adds an `/env.json` admin endpoint that dumps the
proxy's environment variables.

---

* dependabot: Skip dependencies for irrelevant platforms (linkerd/linkerd2-proxy#1849)
* build(deps): bump prettyplease from 0.1.16 to 0.1.17 (linkerd/linkerd2-proxy#1848)
* dev: Reuse the linkerd dev container (linkerd/linkerd2-proxy#1834)
* build(deps): bump anyhow from 1.0.58 to 1.0.59 (linkerd/linkerd2-proxy#1850)
* build(deps): bump tracing from 0.1.35 to 0.1.36 (linkerd/linkerd2-proxy#1851)
* build(deps): bump bytes from 1.2.0 to 1.2.1 (linkerd/linkerd2-proxy#1854)
* build(deps): bump async-trait from 0.1.56 to 0.1.57 (linkerd/linkerd2-proxy#1857)
* build(deps): bump serde from 1.0.140 to 1.0.141 (linkerd/linkerd2-proxy#1858)
* build(deps): bump proc-macro2 from 1.0.42 to 1.0.43 (linkerd/linkerd2-proxy#1862)
* build(deps): bump prettyplease from 0.1.17 to 0.1.18 (linkerd/linkerd2-proxy#1863)
* build(deps): bump serde_json from 1.0.82 to 1.0.83 (linkerd/linkerd2-proxy#1870)
* build(deps): bump tj-actions/changed-files from 24 to 24.1 (linkerd/linkerd2-proxy#1869)
* build(deps): bump rustls-pemfile from 1.0.0 to 1.0.1 (linkerd/linkerd2-proxy#1875)
* build(deps): bump thiserror from 1.0.31 to 1.0.32 (linkerd/linkerd2-proxy#1871)
* build(deps): bump syn from 1.0.98 to 1.0.99 (linkerd/linkerd2-proxy#1872)
* build(deps): bump libc from 0.2.126 to 0.2.127 (linkerd/linkerd2-proxy#1874)
* build(deps): bump serde from 1.0.141 to 1.0.142 (linkerd/linkerd2-proxy#1878)
* chore: update `tonic`, `prost`, and `proxy-api` (linkerd/linkerd2-proxy#1868)
* admin: add `/env.json` endpoint (linkerd/linkerd2-proxy#1867)
* tls: Avoid holding a large buffer across await (linkerd/linkerd2-proxy#1879)
* dev: Update to fix protobuf includes (linkerd/linkerd2-proxy#1881)
* build(deps): bump anyhow from 1.0.59 to 1.0.60 (linkerd/linkerd2-proxy#1880)
* build(deps): bump serde from 1.0.142 to 1.0.143 (linkerd/linkerd2-proxy#1883)
* build(deps): bump tj-actions/changed-files from 24.1 to 25 (linkerd/linkerd2-proxy#1882)

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-09 17:25:41 -07:00
Alex Leong 1a52055f74
Add trust root checksum annotation (#9118)
Fixes #9022

When updating the Linkerd trust root, for example by running a command like `linkerd upgrade --identity-trust-anchors-file=./bundle.crt | kubectl apply -f -` as described in the [trust root rotation docs](https://linkerd.io/2.11/tasks/manually-rotating-control-plane-tls-credentials/#rotating-the-trust-anchor), the trust root is updated in the Linkerd config, but the identity controller does not restart and does not pick up the new root.

We add a trust root checksum annotation which causes the control plane deployments to change when the trust anchor changes, and thus causes them to restart.

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-09 13:31:34 -07:00
Alex Leong 88af58ca32
Print all dst labels in tap output (#9098)
The `linkerd viz tap` command receives destination metadata labels from the proxy, but only picks out a few to display.  Namely, the destination workload resource, pod name, and namespace.  However, there are other useful destination metadata labels which are not displayed, such as the server, route, and authorization.

We update the tap command to display all dst labels, including the policy related ones.

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-09 12:58:19 -07:00
Alex Leong 47f4cf461f
Add support for serverauthorization and httproute types to viz stat (#9074)
We updated the `linkerd viz stat` command so that it may target ServerAuthorization and HTTPRoute resources.

For HTTPRoute, we also add an `Unauthorized` column which mirrors the column of the same name when printing stats for `Servers`.  This shows the RPS of denied requests to the target HTTPRoute.  Furthermore, we also add a "Server" column which shows which Server the route is attached to.

Sample output:

```console
> linkerd -n emojivoto viz stat authorizationpolicies                    
NAME              SUCCESS      RPS   LATENCY_P50   LATENCY_P95   LATENCY_P99
emoji-grpc        100.00%   2.0rps           1ms           1ms           1ms
linkerd-metrics   100.00%   0.4rps           1ms           1ms           1ms
linkerd-probes    100.00%   0.8rps           1ms           1ms           1ms
prom                    -        -             -             -             -
web-public         50.00%   2.0rps           1ms           2ms           2ms
> linkerd -n emojivoto viz stat httproutes           
NAME                     SERVER   UNAUTHORIZED   SUCCESS      RPS   LATENCY_P50   LATENCY_P95   LATENCY_P99
linkerd-metrics   linkerd-admin         0.0rps   100.00%   0.4rps           1ms           1ms           1ms
linkerd-probes    linkerd-admin         0.0rps   100.00%   0.8rps           1ms           1ms           1ms
```

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-09 12:57:50 -07:00
Alex Leong 4808888c8c
Add support for AuthorizationPolicy and HttpRoute to viz authz command (#9055)
The `linkerd viz authz` command shows metrics for all ServerAuthorizations which belong to Servers of the given resource.  Now that we have AuthorizationPolicies in addition to ServerAuthorizations, we need to update this command to display those as well.  We would also like to augment this with HTTPRoute data when an AuthorizationPolicy targets a HTTPRoute.

We add 2 new columns to the output: Route and AuthorizationPolicy.  The new behavior of this command is that it finds all Servers of the given resource, and displays metrics for those Servers, broken down by HTTPRoute and authorization, filling in either the AuthorizationPolicy or ServerAuthorization column as appropriate.  We also add a row with the authorization displayed as [UNAUTHORIZED] to show the RPS of denied requests.

```console
> linkerd viz authz -n emojivoto deploy  
ROUTE           SERVER         AUTHORIZATION_POLICY  SERVER_AUTHORIZATION  SUCCESS     RPS  LATENCY_P50  LATENCY_P95  LATENCY_P99  
default         emoji-grpc     emoji-grpc                                  100.00%  2.0rps          1ms          1ms          1ms  
linkerd-probes  linkerd-admin  linkerd-probes                              100.00%  1.2rps          1ms          2ms          2ms  
default         voting-grpc    [UNAUTHORIZED]        [UNAUTHORIZED]              -  1.0rps            -            -            -  
default         web-http       web-public                                   50.00%  2.0rps          2ms          3ms          9ms
```

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-08-09 12:27:28 -07:00
dependabot[bot] 5e6e01e423
build(deps): bump tj-actions/changed-files from 24.1 to 25 (#9121)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 24.1 to 25.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](bf6ddb7db6...36e65a1165)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  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>
2022-08-09 07:30:51 -07:00
dependabot[bot] cac6051c0f
build(deps): bump serde from 1.0.141 to 1.0.143 (#9120)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.141 to 1.0.143.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.141...v1.0.143)

---
updated-dependencies:
- dependency-name: serde
  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>
2022-08-09 07:30:24 -07:00
Oliver Gould 7baf4657ab
dev: Use the Kubernetes Code extension by default (#9117)
The Kubernetes extension includes syntax awareness for our Helm template
files. This change updates the devcontainer configuration to include
this extension by default.

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-08 18:41:19 -07:00
Weichung Shaw a5aa6235f4
Fix tap-injector ServiceAcc with imagePullSecrets (#9111)
Problem
If using imagePullSecrets, the tap-injector Service Account will render into an invalid k8s manifest.

Solution
Render the imagePullSecrets after `metadata.labels` are correctly rendered.

Validation
Used `helm template` after the fix, and I no longer run into the error message.

Fixes #9109

Signed-off-by: Weichung Shaw <weichung.shaw@gmail.com>

Co-authored-by: Weichung Shaw <weichung@weichung-xps-13-7390.cust.communityfibre.co.uk>
2022-08-08 12:04:59 -07:00
Oliver Gould adecf632ca
dev: Add go-mod-* scripts to inspect the go module hierarchy (#9094)
It can be difficult to understand why a given module is a part of our Go
dependencies. This change adds utility scripts--inspired by Rust's
`cargo tree`--that use `go mod graph` to inspect Go dependencies.

* `go-mod-tree` -- like `cargo tree`, prints all dependencies from an
  optional root module.
* `go-mod-versions` -- enumerates all versions of a module in the Go
  dependency graph
* `go-mod-why` -- like `cargo tree -i`, prints the tree of modules that
  depend on a given module.

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-08 11:32:17 -07:00
dependabot[bot] dcdbbfb391
build(deps-dev): bump @babel/core from 7.18.9 to 7.18.10 in /web/app (#9105)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.9 to 7.18.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.10/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  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>
2022-08-08 09:58:48 -07:00
dependabot[bot] 12bb6f9bd6
build(deps-dev): bump @babel/preset-env in /web/app (#9104)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.9 to 7.18.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.10/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  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>
2022-08-08 08:39:05 -07:00
dependabot[bot] 9f9ef3eee9
build(deps): bump @babel/eslint-plugin in /web/app (#9106)
Bumps [@babel/eslint-plugin](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-plugin) from 7.17.7 to 7.18.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.10/eslint/babel-eslint-plugin)

---
updated-dependencies:
- dependency-name: "@babel/eslint-plugin"
  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>
2022-08-08 08:38:37 -07:00
dependabot[bot] ada3e3dee9
build(deps-dev): bump eslint from 8.20.0 to 8.21.0 in /web/app (#9103)
Bumps [eslint](https://github.com/eslint/eslint) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.20.0...v8.21.0)

---
updated-dependencies:
- dependency-name: eslint
  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>
2022-08-08 08:38:21 -07:00
dependabot[bot] e6f74e1304
build(deps): bump use-query-params from 1.2.2 to 2.0.0 in /web/app (#9102)
Bumps [use-query-params](https://github.com/pbeshai/use-query-params) from 1.2.2 to 2.0.0.
- [Release notes](https://github.com/pbeshai/use-query-params/releases)
- [Commits](https://github.com/pbeshai/use-query-params/compare/v1.2.2...use-query-params@2.0.0)

---
updated-dependencies:
- dependency-name: use-query-params
  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>
2022-08-08 08:38:01 -07:00
dependabot[bot] ce35f209a8
build(deps): bump anyhow from 1.0.59 to 1.0.60 (#9108)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.59...1.0.60)

---
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>
2022-08-08 07:13:14 -07:00
Dani Baeyens 074f5e6cdf
Allows RSA signed trust anchors on linkerd cli (#7771) (#8868)
* Allows RSA signed trust anchors on linkerd cli (#7771)

Linkerd currently forces using an ECDSA P-256
issuer certificate along with a ECDSA trust
anchor. Still, it's still cryptographically valid
to have an ECDSA P-256 issuer certificate issued
by an RSA signed CA.

CheckCertAlgoRequirements checks if CA cert uses
ECDSA or RSA 2048/4096 signing algorithm.

Fixes #7771

Signed-off-by: Baeyens, Daniel <daniel.baeyens@gmail.com>
Co-authored-by: Alejandro Pedraza <alejandro@buoyant.io>
2022-08-08 08:04:24 -05:00
wowq 7c74bc8322
chore: Add Gotin to ADOPTERS (#9101) 2022-08-06 09:22:06 -07:00