Skip to content

chore(merge): release-2.14 branch to master#5022

Merged
schogges merged 12 commits into
masterfrom
release-2.14
Jun 15, 2026
Merged

chore(merge): release-2.14 branch to master#5022
schogges merged 12 commits into
masterfrom
release-2.14

Conversation

@schogges

Copy link
Copy Markdown
Contributor

Do not squash commits!

johncowen and others added 12 commits June 9, 2026 12:58
…ls (#4981)

This PR is unfortunately a little larger than I would like, but I'm half
putting the finishing touches to the KRI label links whilst half rolling
it out elsewhere.

### Finishing touches

- Replicate font `regular:bold` style of the exiting tag component
- Allow linking by old style `kuma.io/service` to support the old tags
- Replicate coloring of old tags (blue kuma links, grey non-kuma links)
- Regex helper (`r`, like `t`) so we don't need to use `<template>` for
Regexp precompiling.

### Rolling out

- Attempts to find and rollout the new pattern to all detail pages we
have either labels or tags, using the same pattern for both.
- I mainly searched for `TagList` and replaced this component with the
new pattern apart from couple of areas which are almost "dead areas"
which we barely touch. Therefore I mostly removed TagList in all detail
and summary routes.

I think I have one more PR to make here as I noticed a lot of places
where there are no labels in summary panels and there probably should
be. I plan on one last follow up PR adding missing labels to summary
panels (and if I spot anymore in detail views I will add those in the
follow up also)

Lastly, a lot of this has been explained in a sync but I welcome any
extra questions here, I can also add some inlines here if more
explanation is needed.

---------

Signed-off-by: John Cowen <john.cowen@konghq.com>
…ing on mesh-services mode (#5005)

See title

Closes #5001

Signed-off-by: schogges <moritz.fleck@konghq.com>
Unfortunately quite a large PR adding labels to both data layer and
summary panels.


- Adds `Labels` `tr` to almost all remaining summary panels, pretty much
copy/pasta
- Adds datalayer labels where necessary, again pretty much copy/pasta
- I moved MeshGateway to use OpenAPI types
- Made ZoneIngress/ZoneEgress YAML displays show labels (similar to what
we do in Dataplanes/DataplaneOverview)

~There is currently a unit test failing just because I have to update it
to use labels, will sort that shortly.~

I removed two tests that were failing because I added new properties to
zoneIngress/zoneEgress. The style of these two were "snapshot" type
tests which we want to try to avoid

---------

Signed-off-by: John Cowen <john.cowen@konghq.com>
In `Resources` and `Policies` we have nested views that are being layed
out via `XLayout` and `x-stack`. That caused that the nested views only
take the space that it needed. On wide screens that meant some white
space.
~I've changed the `size` attribute on these `XLayout`s to `max` and for
that case let children grow. So far we've only used `size=max` in
summary views for `variant=separated`, which will not conflict.~

**Before**
<img width="3011" height="1332" alt="Screenshot 2026-06-09 at 12 09 50"
src="https://github.com/user-attachments/assets/26b65c0b-de7b-48c5-bf51-7ef2b67a1b83"
/>

<img width="2996" height="1335" alt="Screenshot 2026-06-09 at 12 09 56"
src="https://github.com/user-attachments/assets/fb37cc0c-ce57-4132-ba1d-359d9aaebbfb"
/>

**After**

<img width="3012" height="1334" alt="Screenshot 2026-06-09 at 12 08 23"
src="https://github.com/user-attachments/assets/aa91c3ae-9d23-4323-a7c2-8981c497b6df"
/>

<img width="2998" height="1335" alt="Screenshot 2026-06-09 at 12 08 07"
src="https://github.com/user-attachments/assets/da03b87e-a2c9-4b79-ab07-a72ab978b13c"
/>

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
Ensures consistent casing for `ZoneIngress`, `ZoneEgress` and changes
`Zone-proxy` title to `Zone proxy`.

Closes #4999

Signed-off-by: schogges <moritz.fleck@konghq.com>
…tls warning (#4957)

We only checked for `mesh.mtlsBackend` when deciding to show the warning
about missing mtls. This PR changes it to use `mesh-insight/:name` in
the decision making and check wether there is a `mTLS.issuedBackends`
entry present.

Closes #4801

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
Adds a zone column to the mesh-trusts listing in the overview of a mesh.

Closes #5000

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
Merges `inbounds` and `listeners` of
`DataplaneOverview.dataplane.networking` and `DataplaneLayout` by
aligning the shape in the data-layer such that we can treat them both
exactly the same in the views.

Closes #4889

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
Adds/ensures KRIs are carried through to the summary YAML views.

There is also a bit of copy/pasting for consistency reasons between
Dataplanes/ZoneProxies. There are reasons for formatting decisions in
the code here and I commented it up quite a bit to explain why rather
than just depend on the formatting to be self-explanatory (that alone it
not explanatory enough I don't think)

I renamed the Dataplane tests and added back the ZoneProxy tests but
renamed them all to make it clearer what they are testing. Usually we
avoid mocking/setting up full data objects to test against, but in this
case its the most straight-forwards way to assert that we have neither
too many fields or not enough fields. If I think of a different way
thats just as straight-forwards but also clearer I might tweak this in
the future.

Note: We are now expected KRIs to be added to the top-level
DataplaneOverviews via the backend. Depending on when this PR gets
merged we can either consider this in this PR or a follow up PR once the
backend PR is complete.

---------

Signed-off-by: John Cowen <john.cowen@konghq.com>
…#5007)

Switches from using `format` query param to `environment` in the summary
view, as long as there is no `structured` view option.

Closes #4979

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
Extracts (mostly) generated tests and mocks from
#4946

---------

Signed-off-by: schogges <moritz.fleck@konghq.com>
### Improvement
The default "group" for `ResourceTypeDescriptor` if its not set is
`others` (it can also be `policy` and `mesh` and `global`, plus anything
else that could be added via the backend in the future):


https://github.com/kumahq/kuma-gui/blob/5a21d2dbb1372ee97ccac094d57f52d855a9beed/packages/kuma-gui/src/app/resources/data/ResourceTypeDescriptor.ts#L53

We then use this `type.group` key to discover several i18n keys
including a documentation paragraph and `href`

Thing is `others` doesn't have a `description` nor `href` key.

We sometimes used a `default` fallback which in some places would solve
the issue of "future groups" coming from the backend, but not if its not
set. I guess it highly unlikely that we end up with a
`type.group=others` but we've coded for it so we should support it.

I removed the `default` section and used `others` for a default (like we
do in the datalayer)

### Fix

I also found a place where we were defaulting to
`t('common.product.docs')` which is a bit of a legacy i18n key, which we
only really use to set the `KUMA_DOCS_URL` i18n env var:


https://github.com/kumahq/kuma-gui/blob/5a21d2dbb1372ee97ccac094d57f52d855a9beed/packages/kuma-gui/src/app/application/services/i18n/I18n.ts#L45-L48

We also mock out this key only at dev time because we could never get
the docs redirects implemented to avoid us having mock this value out.

The mocked key/value didn't make use of the same variables as the
non-mocked key, which meant _during dev_ you wouldn't see an i18n error
if you did not pass the required variables to the call for `t`. The
issue would then fail in CI only, causing a bit of confusion
#4997 (comment)

The fix involves:

- Changing the `common.product.docs` key to something else, I used the
"fallback" `others` key.
- I also thought of how we can prevent this weirdness happening in the
future and decided to add the same variabels to the debug URL. Whilst
these are "noops" they force you to pass the same variables through. I
also added comments to "ensure" that if we add any new vars here
(unlikely) we are prompted to sync the variables.

A better fix would be to remove or somehow prevent the
`common.product.docs` from being used outside of setting
`KUMA_DOCS_URL`. Whilst I would prefer this, its needs better
thought/less haste.

---

This desc is a little rough, so let me know if there are any further
questions.

Lastly, I think it would be a good idea to have a closer look over the
new `resources` section with the above in mind to triple check there are
no similar issues. I had a relatively "ok" look myself but I'd rather
have a second pair of eyes.

---------

Signed-off-by: John Cowen <john.cowen@konghq.com>
@netlify

netlify Bot commented Jun 15, 2026

Copy link
Copy Markdown

Deploy Preview for kuma-gui ready!

Name Link
🔨 Latest commit 690f712
🔍 Latest deploy log https://app.netlify.com/projects/kuma-gui/deploys/6a2fafa0baa1ca00085805af
😎 Deploy Preview https://deploy-preview-5022--kuma-gui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@schogges
schogges marked this pull request as ready for review June 15, 2026 08:23
@schogges
schogges requested a review from a team as a code owner June 15, 2026 08:23
@schogges
schogges requested a review from johncowen June 15, 2026 08:23
@schogges
schogges merged commit e9fd617 into master Jun 15, 2026
58 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants