Skip to content

[v18] Implement Instance Inventory UI#62008

Merged
rudream merged 5 commits intobranch/v18from
yassine/v18/inventory-cache
Feb 13, 2026
Merged

[v18] Implement Instance Inventory UI#62008
rudream merged 5 commits intobranch/v18from
yassine/v18/inventory-cache

Conversation

@rudream
Copy link
Copy Markdown
Contributor

@rudream rudream commented Dec 4, 2025

backports the following PR's to branch/v18:

e counterpart: https://github.com/gravitational/teleport.e/pull/7826

Mostly clean backport, but had to use "github.com/gravitational/teleport/lib/utils/testutils/synctest" instead of testing/synctest since it required go 1.25 (see this PR for context)

Manual tests done:

  • Verify that instances are listed and sortable by name, version, and type.
  • Verify all filter controls work as intended.
  • Verify all predicate queries for version (older_than, newer_than, between), updater group, and external upgrader work as intended.
  • Verify having read and list permissions for bot_instance but not instance lists bot instances only, with a warning banner at the top saying you are missing instance permissions.
  • Verify having read and list permissions for instance but not bot_instance lists instances only, with a warning banner at the top saying you are missing bot_instance permissions.
  • Verify having no read and list permissions for neither bot_instance or instance does not list anything and just shows you the missing permissions banner.
  • Verify clicking on a bot instance's "see services" button takes you to the instance dashboard focused on that specific bot instance.

@rudream rudream added the no-changelog Indicates that a PR does not require a changelog entry label Dec 4, 2025
@public-teleport-github-review-bot
Copy link
Copy Markdown

@rudream - this PR will require admin approval to merge due to its size. Consider breaking it up into a series smaller changes.

@rosstimothy
Copy link
Copy Markdown
Contributor

I suggest backporting the entire inventory cache and instance ui feature set to v18 in a single PR so that you can run a manual test plan again prior to merging the feature and so that we can be 100% confident that the entire feature lands at the same time so nothing is missing when this gets released.

@rudream rudream force-pushed the yassine/v18/inventory-cache branch from 2989565 to 5718acc Compare January 13, 2026 14:30
@rudream rudream changed the title [v18] Implement InventoryCache to cache instances [v18] Implement Instance Inventory UI Jan 13, 2026
Copy link
Copy Markdown
Contributor

@nicholasmarais1158 nicholasmarais1158 left a comment

Choose a reason for hiding this comment

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

Tested in a cloud tenant and looks good.

@rudream I noticed my tenant has a lot of proxy instances on the list. Some from the previous version and others on the current version. The deployment has 4 pods, two auth and two proxy.

$ kubectl -n cloud-gravitational-io-nicholasmarais1158 --context platform.teleport.sh-tc-staging-cs-01-euc1 get pods

NAME                              READY   STATUS    RESTARTS   AGE
teleport-auth-bb9f9cf74-f8cpl     1/1     Running   0          35m
teleport-auth-bb9f9cf74-swj9n     1/1     Running   0          35m
teleport-proxy-57cfbcbbfc-rzrsv   1/1     Running   0          35m
teleport-proxy-57cfbcbbfc-sgd4g   1/1     Running   0          35m

Maybe it's because I just deployed and those extra instances will disappear later?

Screen.Recording.2026-01-14.at.17.26.46.mov

@nicholasmarais1158
Copy link
Copy Markdown
Contributor

UI nit: Instance versions have a v prefix while bot instances do not. @rudream

@nicholasmarais1158
Copy link
Copy Markdown
Contributor

Tested in a cloud tenant and looks good.

@rudream I noticed my tenant has a lot of proxy instances on the list. Some from the previous version and others on the current version. The deployment has 4 pods, two auth and two proxy.

$ kubectl -n cloud-gravitational-io-nicholasmarais1158 --context platform.teleport.sh-tc-staging-cs-01-euc1 get pods

NAME                              READY   STATUS    RESTARTS   AGE
teleport-auth-bb9f9cf74-f8cpl     1/1     Running   0          35m
teleport-auth-bb9f9cf74-swj9n     1/1     Running   0          35m
teleport-proxy-57cfbcbbfc-rzrsv   1/1     Running   0          35m
teleport-proxy-57cfbcbbfc-sgd4g   1/1     Running   0          35m

Maybe it's because I just deployed and those extra instances will disappear later?

Screen.Recording.2026-01-14.at.17.26.46.mov

Thinking about this again, perhaps the extra proxy instances are running in other regions. This would explain why there are so many - the kubectl get pods command is only showing those in eu-central-1 (euc1).

I think this is a non-issue.

@rudream
Copy link
Copy Markdown
Contributor Author

rudream commented Jan 21, 2026

Thinking about this again, perhaps the extra proxy instances are running in other regions. This would explain why there are so many - the kubectl get pods command is only showing those in eu-central-1 (euc1).

I think this is a non-issue.

@espadolini @fspmarshall can you confirm if this is fine and expected or whether we should look into this further? Whatever the case may be, I don't think this would be a bug with the new Instance Inventory UI/Cache since it just pulls whatever is present in the backend.

@espadolini
Copy link
Copy Markdown
Contributor

Very likely, but a tctl get proxy_server would confirm it without having to know specifics about the deployment.

@nicholasmarais1158
Copy link
Copy Markdown
Contributor

nicholasmarais1158 commented Jan 21, 2026

Very likely, but a tctl get proxy_server would confirm it without having to know specifics about the deployment.

Confirmed. There are 12 proxies in total, two in each of 6 regions.

$ tctl get proxy --format json | jq '[.[] | {hostname: .spec.hostname, region: .metadata.labels."teleport.internal/proxygroup-id"}] | sort_by(.region) | .[]'

{
  "hostname": "teleport-proxy-76878b8fd5-nkl5f",
  "region": "ap-south-1"
}
{
  "hostname": "teleport-proxy-76878b8fd5-2kkqg",
  "region": "ap-south-1"
}
{
  "hostname": "teleport-proxy-7bc6c8b498-d4xcm",
  "region": "ap-southeast-1"
}
{
  "hostname": "teleport-proxy-7bc6c8b498-t5wxv",
  "region": "ap-southeast-1"
}
{
  "hostname": "teleport-proxy-74675f9f88-vlzpr",
  "region": "eu-central-1"
}
{
  "hostname": "teleport-proxy-74675f9f88-5wmph",
  "region": "eu-central-1"
}
{
  "hostname": "teleport-proxy-5dcbcf87d-7q58l",
  "region": "sa-east-1"
}
{
  "hostname": "teleport-proxy-5dcbcf87d-p94bh",
  "region": "sa-east-1"
}
{
  "hostname": "teleport-proxy-c5f5c4554-bklrv",
  "region": "us-east-1"
}
{
  "hostname": "teleport-proxy-c5f5c4554-hg7vr",
  "region": "us-east-1"
}
{
  "hostname": "teleport-proxy-cb797ccf7-2xh8p",
  "region": "us-west-2"
}
{
  "hostname": "teleport-proxy-cb797ccf7-w7xcg",
  "region": "us-west-2"
}

@rudream rudream force-pushed the yassine/v18/inventory-cache branch from 37461eb to 74ac1fb Compare January 23, 2026 15:13
@rudream
Copy link
Copy Markdown
Contributor Author

rudream commented Jan 23, 2026

Note that I've also added the changes from these PRs:

@rudream rudream force-pushed the yassine/v18/inventory-cache branch from 74ac1fb to 1d7b132 Compare January 23, 2026 15:45
@rudream rudream force-pushed the yassine/v18/inventory-cache branch from 788e7d4 to d7d8eb8 Compare February 13, 2026 05:15
@rudream rudream force-pushed the yassine/v18/inventory-cache branch 2 times, most recently from dd5a0d4 to 4fbed65 Compare February 13, 2026 17:03
@rudream rudream force-pushed the yassine/v18/inventory-cache branch from 4fbed65 to e6a6a17 Compare February 13, 2026 17:15
@rudream rudream added this pull request to the merge queue Feb 13, 2026
Merged via the queue into branch/v18 with commit 6be6846 Feb 13, 2026
43 checks passed
@rudream rudream deleted the yassine/v18/inventory-cache branch February 13, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport no-changelog Indicates that a PR does not require a changelog entry size/xl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants