1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Skaffold catalog docs

Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
This commit is contained in:
Alex Culliere 2021-07-05 12:01:04 +03:00
parent 0044c1f57c
commit bf52fe24f7

View File

@ -1,10 +1,45 @@
# Catalog
Catalog is a special view in Lens IDE interface that aggregate information about important objects and entities, e.g. K8S clusters and Lens Spaces.
When developing an extension you can program your entities to be represented in the catalog view, with custom functionality attached to them via details settings and, context menus.
Catalog is a special view in Lens IDE interface that aggregates information about important objects and entities.
When developing an extension you can program your entities to be represented in the catalog view, with custom user-facing functionality attached to them via details settings and, context menus.
In catalog view catalog entities are grouped by catalog categories
In catalog view catalog entities are grouped by catalog categories. Each category needs to be registered with an observable source
## CatalogCategoryRegistry
`CatalogCategoryRegistry` keeps track of all entity categories registered with Lens. It is a singleton object that could be imported from extensions API:
```typescript
import { Main, Common } from "@k8slens/extensions";
## CatalogEntityRegistry
class CatalogCategory extends Common.Catalog.CatalogCategory {
public readonly apiVersion = "catalog.k8slens.dev/v1alpha1";
public readonly kind = "CatalogCategory";
public metadata = {
name: "Spaces",
icon: "scatter_plot"
};
public spec: Common.Catalog.CatalogCategorySpec = {
group: "entity.k8slens.dev",
versions: [
{
name: "v1alpha1",
entityClass: SpaceCatalogEntity
}
],
names: {
kind: spaceCatalogEntityKind
}
};
}
const spaceCatalog = new CatalogCategory();
Main.Catalog.catalogCategories.add(spaceCatalog);
```
1. Create an entity
1. Create an entity category
1. Register an entity with `CatalogCategoryRegistry`
1. Add catalog source
## CatalogEntityRegistry
Provides access to current active catalog entity, as well as a function `getItemsForApiKind()`for aggregating registered entities by group and kind.