Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[pull] master from kumahq:master #50

Merged
merged 13 commits into from
Jan 28, 2025
Merged

[pull] master from kumahq:master #50

merged 13 commits into from
Jan 28, 2025

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 28, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

dependabot bot and others added 11 commits January 28, 2025 08:47
)

Bumps [github.com/exaring/otelpgx](https://github.com/exaring/otelpgx)
from 0.7.0 to 0.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/exaring/otelpgx/releases">github.com/exaring/otelpgx's
releases</a>.</em></p>
<blockquote>
<h2>v0.8.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Adds synchronous and asynchronous OpenTelemetry metrics by <a
href="https://github.com/jahough"><code>@​jahough</code></a> in <a
href="https://redirect.github.com/exaring/otelpgx/pull/43">exaring/otelpgx#43</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jahough"><code>@​jahough</code></a> made
their first contribution in <a
href="https://redirect.github.com/exaring/otelpgx/pull/43">exaring/otelpgx#43</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/exaring/otelpgx/compare/v0.7.0...v0.8.0">https://github.com/exaring/otelpgx/compare/v0.7.0...v0.8.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/exaring/otelpgx/commit/588e67625a806b84d233fabb8a01b01ec4cab38f"><code>588e676</code></a>
Adds synchronous and asynchronous OpenTelemetry metrics (<a
href="https://redirect.github.com/exaring/otelpgx/issues/43">#43</a>)</li>
<li>See full diff in <a
href="https://github.com/exaring/otelpgx/compare/v0.7.0...v0.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/exaring/otelpgx&package-manager=go_modules&previous-version=0.7.0&new-version=0.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Bart Smykla <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bart Smykla <[email protected]>
)

## Motivation & Implementation information

Updated tests to replace both IPv4 and IPv6 addresses with "IP_REDACTED"
in generated golden files. This fixes issues with e2e tests checking
golden envoy configs (introduced in
#12650)

## Supporting documentation

<details>
<summary>How I've tested regexps</summary>

```go
package main

import (
	"fmt"
	"regexp"
)

var txt = `
"path":    "Listener/outbound:[fd00:fd01::5]:3000/filterChains/0/filters/0/typedConfig/idleTimeout",
"path":    "Listener/outbound:[fd00:fd01::6]:80/filterChains/0/filters/0/typedConfig/requestHeadersTimeout",
"address": "::6",
"address": "fd00:fd12:3456::5",
"address": "fd00:fd12:3456::c",
"foo":     inbound:[fd00:fd12:3456::5]:3000": {
"bar":     outbound:[fd00:fd01::5]:3000": {
"name":    "outbound:[fd00:fd01::5]:3000",
"address": "fd00:fd01::5",
"baz":     outbound:[fd00:fd01::6]:80": {
"name":    "outbound:[fd00:fd01::6]:80",
"address": "fd00:fd01::6",
"address": "127.0.0.1:3000",
"address": "aaaa 1.1.1.1:234",
"::"
`

func main() {
	redactIPs := func(jsonStr string) string {
		ipv6Regex := `\[?` + // Optional opening square bracket for IPv6 in URLs (e.g., [2001:db8::1])
			`(` +
			// Full IPv6 address with 8 segments (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
			`([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|` +
			// IPv6 with leading compression (e.g., ::1, ::8a2e:0370:7334)
			`([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|` +
			// IPv6 with trailing compression (e.g., 2001:db8::, 2001:db8::1:2)
			`([0-9a-fA-F]{1,4}:){1,7}:|` +
			// IPv6 with mixed compression (e.g., 2001:db8:0:0::1:2)
			`([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|` +
			`([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|` +
			`([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|` +
			`([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|` +
			// IPv6 with only one segment and compression (e.g., 2001::1:2:3:4:5:6)
			`[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|` +
			// Fully compressed IPv6 (::) or with trailing segments (::1, ::8a2e:0370:7334)
			`:((:[0-9a-fA-F]{1,4}){1,7}|:)|` +
			// Link-local IPv6 with zone identifiers (e.g., fe80::1%eth0)
			`fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|` +
			// IPv6 with embedded IPv4 (e.g., ::ffff:192.168.1.1)
			`::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}` +
			`(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|` +
			// Mixed IPv6 and IPv4 (e.g., 2001:db8::192.168.1.1)
			`([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}` +
			`(25[0-5]|(2[0-4]|1?[0-9])?[0-9])` +
			`)` +
			`]?` // Optional closing square bracket for IPv6 in URLs (e.g., [2001:db8::1])

		ipv4Regex := `\b` + // Word boundary to ensure we match standalone IPv4 addresses
			`\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}` + // Matches IPv4 format (e.g., 192.168.0.1)
			`\b`

		return regexp.
			MustCompile(ipv4Regex+"|"+ipv6Regex).
			ReplaceAllString(jsonStr, "IP_REDACTED")
	}

	fmt.Println(redactIPs(txt))
}
```

**Results**
```
"path":    "Listener/outbound:IP_REDACTED:3000/filterChains/0/filters/0/typedConfig/idleTimeout",
"path":    "Listener/outbound:IP_REDACTED:80/filterChains/0/filters/0/typedConfig/requestHeadersTimeout",
"address": "IP_REDACTED",
"address": "IP_REDACTED",
"address": "IP_REDACTED",
"foo":     inbound:IP_REDACTED:3000": {
"bar":     outbound:IP_REDACTED:3000": {
"name":    "outbound:IP_REDACTED:3000",
"address": "IP_REDACTED",
"baz":     outbound:IP_REDACTED:80": {
"name":    "outbound:IP_REDACTED:80",
"address": "IP_REDACTED",
"address": "IP_REDACTED:3000",
"address": "aaaa IP_REDACTED:234",
"IP_REDACTED"
```

</details>

Signed-off-by: Bart Smykla <[email protected]>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| kumahq/.github | action | digest | `740c514` -> `f98e381` |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | patch | `v3.28.5` -> `v3.28.6` |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
#12684)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [google.golang.org/genproto/googleapis/api](https://redirect.github.com/googleapis/go-genproto) | require | digest | `1a7da9e` -> `29210b9` |
| [google.golang.org/genproto/googleapis/rpc](https://redirect.github.com/googleapis/go-genproto) | require | digest | `1a7da9e` -> `29210b9` |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… new kind Dataplane (#12573)

## Motivation

We want to be able to target proxies by new kind Dataplane. We want to
select Dataplanes by name/namespace, by labels and select single inbound
by its name

## Supporting documentation

This is based on [Inbound policies
MADR](https://docs.google.com/document/d/1tdIOVVYObHbGKX1AFhbPH3ZQKYvpQG-2s6ShHSECaXM/edit?pli=1&tab=t.0#heading=h.fxzs6450juto)

Fix #12359

<!--
> Changelog: skip
-->
<!--
Uncomment the above section to explicitly set a [`> Changelog:` entry
here](https://github.com/kumahq/kuma/blob/master/CONTRIBUTING.md#submitting-a-patch)?
-->

---------

Signed-off-by: Marcin Skalski <[email protected]>
Fix: #12362

## Motivation

Since we've introduced new Dataplane kind we can deprecate usage of
MeshSubset for selecting proxies. Dataplane is more powerful and better
matches our approach for selecting real resources.

<!--
> Changelog: skip
-->
<!--
Uncomment the above section to explicitly set a [`> Changelog:` entry
here](https://github.com/kumahq/kuma/blob/master/CONTRIBUTING.md#submitting-a-patch)?
-->

---------

Signed-off-by: Marcin Skalski <[email protected]>
…9d933f68 (#12687)

Bumps kumahq/kuma-gui to version
[master@9257574a12a3f7e98796cea3fef9ddc69d933f68](https://github.com/kumahq/kuma-gui/tree/9257574a12a3f7e98796cea3fef9ddc69d933f68)

> Changelog: chore(deps): use latest kumahq/kuma-gui

Signed-off-by: GitHub <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…12688)

## Motivation

* The order of operations in `response.diff` depends on the listeners'
and clusters' names that contain IP addresses. If we want this order to
be stable, we have to sort it once again after redacting the IPs.
* compile regex once globally

---------

Signed-off-by: Ilya Lobkov <[email protected]>
@pull pull bot added the ⤵️ pull label Jan 28, 2025
Copy link

Reviewer Checklist

🔍 Each of these sections need to be checked by the reviewer of the PR 🔍:
If something doesn't apply please check the box and add a justification if the reason is non obvious.

  • Is the PR title satisfactory? Is this part of a larger feature and should be grouped using > Changelog?
  • PR description is clear and complete. It Links to relevant issue as well as docs and UI issues
  • This will not break child repos: it doesn't hardcode values (.e.g "kumahq" as an image registry)
  • IPv6 is taken into account (.e.g: no string concatenation of host port)
  • Tests (Unit test, E2E tests, manual test on universal and k8s)
    • Don't forget ci/ labels to run additional/fewer tests
  • Does this contain a change that needs to be notified to users? In this case, UPGRADE.md should be updated.
  • Does it need to be backported according to the backporting policy? (this GH action will add "backport" label based on these file globs, if you want to prevent it from adding the "backport" label use no-backport-autolabel label)

…fs (#12680)

## Motivation

To quote @mheap:

```
Dynamic schemas are painful in Terraform.
We do all kinds of things in the Gateway spec to avoid them as much as we can. 
Without a schema, Terraform does not know which fields are required, what the defaults are etc.
It the server adds any defaults and your manifest does not contain those values, you will get a diff output on terraform plan every time it's run.
With schemas, Terraform can match response values against the schema and automatically remove them from the plan output.
```

## Implementation information

I put the types and mapping manually in the generator. Some parts are
made public to be overwritten in
Kong/kong-mesh#7363

## Supporting documentation

xrel Kong/kong-mesh#7201

---------

Signed-off-by: slonka <[email protected]>
## Motivation

I need another target to modify the copied Kuma schema in parent project
for Kong/kong-mesh#7370

## Implementation information

Add a target dependency as a variable.

Signed-off-by: slonka <[email protected]>
@pull pull bot merged commit 9e88d5a into slonka:master Jan 28, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants