Skip to content

Commit 3a42166

Browse files
authored
feat: add helm charts feature (#106)
1 parent 1bdf0ae commit 3a42166

18 files changed

+227
-24
lines changed

.cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"srodenhuis",
2424
"Traefik",
2525
"rbaumgar",
26+
"Kwasm",
2627
"ebpf",
2728
"syscalls",
2829
"Ficy",

docs/for-devs/console/builds.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Ask your platform administrator to activate the Harbor App to use this feature.
1414

1515
## Builds (all)
1616

17-
All Builds of the team are listed here.
17+
All Builds of the Team are listed here.
1818

1919
![Team builds](../../img/team-builds.png)
2020

docs/for-devs/console/catalog.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,48 +4,56 @@ title: Catalog
44
sidebar_label: Catalog
55
---
66

7-
## About the Catalog quick starts
7+
## About the Catalog Helm charts
88

99
The Catalog is a library of curated Helm charts to create Kubernetes resources. By default the Catalog contains a set of Helm charts provided to get started quickly, but they can also be modified depending on your requirements or be removed from the Catalog.
1010

1111
The contents of the Catalog and the RBAC configuration (which Team can use which Helm chart) are managed by the platform administrator. Contact the platform administrator if you would like to add your own charts to use within your Team.
1212

1313
The Catalog contains a set of Helm charts that can be used as quick starts. The following quick starts are available:
1414

15-
### Kubernetes Deployment
15+
1. Kubernetes Deployment
1616

1717
The `k8s-deployment` Helm chart can be used to create a Kubernetes `Deployment` (to deploy a single image), a `Service` and a `ServiceAccount`. Optionally a `HorizontalPodAutoscaler`, a Prometheus `ServiceMonitor` and a `Configmap` can be created.
1818

19-
### Kubernetes Deployment with Open Telemetry Instrumentation
19+
2. Kubernetes Deployment with Open Telemetry Instrumentation
2020

2121
The `k8s-deployment-otel` Helm chart can be used to create a Kubernetes `Deployment` (to deploy a single image), a `Service`, a `ServiceAccount` and an `Instrumentation` resource. Optionally a `HorizontalPodAutoscaler`, a Prometheus `ServiceMonitor` and a `Configmap` can be created.
2222

23-
### Kubernetes Canary Deployments
23+
3. Kubernetes Canary Deployments
2424

2525
The `k8s-deployments-canary` Helm chart can be used to create 2 Kubernetes `Deployments` (to deploy 2 versions of an image), a `Service` and a `ServiceAccount` resource. Optionally a `HorizontalPodAutoscaler`, a Prometheus `ServiceMonitor` and a `Configmap` (for each version) can be created.
2626

27-
### Knative-service
27+
4. Knative-service
2828

2929
The `knative-service` Helm chart can be used to create a Knative `Service` (to deploy a single image), a `Service` and a `ServiceAccount`. Optionally a Prometheus `ServiceMonitor` can be created.
3030

31-
### PostgreSQL cluster
31+
5. PostgreSQL cluster
3232

3333
The `postgresql-cluster` Helm chart can be used to create a cloudnativepg PostgreSQL `Cluster`. Optionally a Prometheus `PodMonitor` and a `Configmap` (for adding a postgresql dashboard to Grafana) can be created.
3434

35-
### Redis master-replica cluster
35+
6. Redis master-replica cluster
3636

3737
The `redis-cluster` Helm chart can be used to create a Redis master-replica cluster.
3838

39-
### RabbitMQ Cluster and/or Queues
39+
7. RabbitMQ Cluster and/or Queues
4040

41-
The `rabbitmq-cluster` Helm chart can be used to create a `RabbitmqCluster`, `queues` and `Policy`s
41+
The `rabbitmq-cluster` Helm chart can be used to create a `RabbitmqCluster`, `queues` and `Policy`s.
42+
43+
Using the `rabbitmq-cluster` Helm chart requires `RabbitMQ` to be enabled by a platform administrator.
44+
45+
8. SpinApp
46+
47+
The `spin-app` Helm chart can be used to create a `SpinApp`. A SpinApp is a Custom Resource to deploy WebAssembly microservices and web applications based on Spin.
48+
49+
Using the `spin-app` Helm chart requires a `spin-shim-executor` to be added to the Team by a platform administrator.
4250

4351

4452
## Using the Catalog
4553

4654
1. Click on `Catalog` in the left menu
4755

48-
2. You will now see all the templates that are available to use
56+
2. You will now see all the templates that are available for use
4957

5058
![Team catalog](../../img/team-catalog.png)
5159

docs/for-devs/console/netpols.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ When the Network Policies `Egress control` option is enabled for the team, all t
1212

1313
## Network Policies (all)
1414

15-
All Network Policies of the team are listed here.
15+
All Network Policies of the Team are listed here.
1616

1717
| Property | Description |
1818
| ------------- | --------------------------------------------------------------- |

docs/for-devs/console/overview.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ The Team view in the Console gives access to 2 sections:
1414

1515
Self-service section:
1616

17-
- [Apps](dashboard.md): An overview of Team Pod status, resource utilization and vulnerabilities.
18-
- [Apps](apps.md): All the apps available to the team on this platform.
17+
- [Dashboard](dashboard.md): An overview of Team Pod status, resource utilization and vulnerabilities.
18+
- [Apps](apps.md): All the apps available to the Team.
1919
- [Catalog](catalog.md): The Helm charts available for the Team in the Catalog.
20-
- [Projects](projects.md): A list of all Projects created by the team.
21-
- [Builds](builds.md): A list of all Builds created by the team.
22-
- [Sealed Secrets](sealed-secrets.md): A list of all Sealed Secrets created by the Team.
23-
- [Workloads](workloads.md): A list of all Workloads created by the Team.
24-
- [Network Policies](netpols.md): A list of all Network Policies created by the team.
25-
- [Services](services.md): A list of all team services.
20+
- [Projects](projects.md): A self-service form to create Projects.
21+
- [Builds](builds.md): A self-service form to create Builds.
22+
- [Sealed Secrets](sealed-secrets.md): A self-service form to create Sealed Secrets.
23+
- [Workloads](workloads.md): A self-service form to create Workloads.
24+
- [Network Policies](netpols.md): A self-service form to create Network Policies.
25+
- [Services](services.md): A self-service form to create Services.
2626
- [Security Policies](security-policies.md): A list of all Security Policies applicable to the Team.
2727
- [Settings](settings.md): Specific Team configuration options.
28-
- [Shell](shell.md): Access to the cloud Shell within the context of the Team.
2928

30-
Download links section:
29+
Access Section:
3130

31+
- [Shell](shell.md): Access to the cloud Shell within the context of the Team.
3232
- A "Download KUBECFG" link to download a KUBECONFIG file that gives access to the namespace of the team selected. Admins can download one with `cluster-admin` permissions (giving access to all namespaces) by setting the team selector to '-'. You can use it like `export KUBECONFIG=$file_location` or by merging it with another KUBECONFIG file like `.kube/config`. Please visit the official Kubernetes [documentation about managing kube contexts](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/).
3333
- When Harbor is enabled, a link to download the Dockercfg file.
34-
- When an automatic generated CA or Let's Encrypt staging certificates are used, a "Download CA" link is provided.
34+
- When automatic generated CA or Let's Encrypt staging certificates are used, a "Download CA" link is provided.
3535

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
slug: team-admin-builds
3+
title: Team Admin Builds
4+
sidebar_label: Builds
5+
---
6+
7+
The Builds self-service feature for the Team Admin is the same as for regular teams. See [here](../../for-devs/console/builds.md) for more information about Builds.
8+
9+
10+
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
slug: team-admin-catalog
3+
title: Team Admin Catalog
4+
sidebar_label: Catalog
5+
---
6+
7+
## About the Catalog Helm charts
8+
9+
The Catalog is a library of curated Helm charts to create Kubernetes resources. By default the Catalog contains a set of Helm charts provided to get started quickly, but they can also be modified depending on your requirements or be removed from the Catalog.
10+
11+
The contents of the Catalog and the RBAC configuration (which Team can use which Helm chart) are managed by the platform administrator.
12+
13+
The Catalog contains a set of Helm charts that can be used as quick starts, but also offers the option (for platform administrators only) to add more Helm charts to the Catalog, using the `+ Add Helm Chart` option.
14+
15+
## Helm charts available for platform administrators
16+
17+
Next to the Helm charts that are by default included in the Catalog and made available for Teams, the Catalog also by default includes a set of curated Helm charts that can only be installed by platform administrators. These Helm charts are visible in the Catalog for the Team `Admin`.
18+
19+
The Helm charts that are by default added to the Catalog are maintained in the [apl-charts](https://github.com/linode/apl-charts) GitHub repository. Currently the following Helm charts are made available for platform-administrators:
20+
21+
1. Kwasm Operator
22+
23+
The `kwasm-operator` Helm chart can be used to add WebAssembly support to the Kubernetes Nodes. `kwasm-operator` is a prerequisite for installing `spin-operator`
24+
25+
2. Spin Operator
26+
27+
The `spin-operator` Helm chart can be used to enable deploying Spin applications to Kubernetes.
28+
29+
3. Spin Shim Executor
30+
31+
The `spin-shim-executor` Helm chart can be used to create a `SpinAppExecutor` utilized by Spin Operator to determine which executor type should be used in running a SpinApp.
32+
33+
4. KubeFlow Pipelines Cluster Resources
34+
35+
The `kfp-cluster-resources` Helm chart can be used to install the KubeFlow Pipelines CRDs.
36+
37+
5. Kubeflow Pipelines
38+
39+
The `kubeflow-pipelines` Helm chart can be used to install KubeFlow Pipelines in any Team.
40+
41+
## Adding Helm charts to the Catalog
42+
43+
1. Select view `team` and select team `admin` in the top bar.
44+
45+
2. Click on `Catalog` in the left menu.
46+
47+
3. You will now see all the templates that are available for use.
48+
.
49+
4. Click on `+ Add Helm Chart`.
50+
51+
5. Fill in a URL that points to a `Chart.yaml`.
52+
53+
6. Click on `GET DETAILS`.
54+
55+
![catalog](../../img/add-helm-chart.png)
56+
57+
7. Optionally change the `Icon URL` to point to an icon you want to use for this hem chart in the Catalog.
58+
59+
8. If the Helm chart should be made available for all Teams, select `Allow teams to use this chart`.
60+
61+
8. Click `ADD CHART`.
62+
63+
The Helm chart will now be added to the `charts` repository in the Local Git service (Gitea) and will be visible in the Catalog:
64+
65+
![catalog](../../img/team-admin-catalog.png)
66+
67+
68+
69+
70+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
slug: team-admin-netpols
3+
title: Team Admin Network Policies
4+
sidebar_label: Network Policies
5+
---
6+
7+
The Network Policies self-service feature for the Team Admin is the same as for regular teams. See [here](../../for-devs/console/netpols.md) for more information about Network Policies.
8+
9+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
slug: team-admin-overview
3+
title: Team Admin Overview
4+
sidebar_label: Overview
5+
---
6+
7+
## The Console - Team Admin
8+
9+
The Console is the web UI of the platform and offers access to all integrated apps and self-service tasks. The Console has a topbar showing a View and a Team selector. The View selector allows to switch between the `Platform` and the `Team` view.
10+
11+
Self-service section:
12+
13+
- [Catalog](team-admin-catalog.md): The Helm charts available for platform administrators to install in any namespace
14+
- [Projects](team-admin-projects.md): A self-service form for platform administrators to create Projects.
15+
- [Builds](team-admin-builds.md): A self-service form for platform administrators to create Builds.
16+
- [Sealed Secrets](team-admin-sealed-secrets.md): A self-service form for platform administrators to create Sealed Secrets.
17+
- [Workloads](team-admin-workloads.md): A self-service form to create for platform administrators Workloads in any namespace.
18+
- [Network Policies](team-admin-netpols.md): A self-service form for platform administrators to create Network Policies (in the `team-admin` namespace only).
19+
- [Services](team-admin-services.md): A self-service form for platform administrators to create Services to expose endpoints (`ClusterIP` services) from any namespace.
20+
- [Security Policies](team-admin-security-policies.md): A list of all Security Policies applicable to the `team-admin` namespace only.
21+
22+
Access Section:
23+
24+
- [Shell](shell.md): Access to the cloud Shell within the context of the complete cluster (all namespaces).
25+
- The `Download KUBECFG` is disabled for platform administrators.
26+
- When Harbor is enabled, a link to download the Dockercfg file.
27+
- When automatic generated CA or Let's Encrypt staging certificates are used, a "Download CA" link is provided.
28+
29+
30+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
slug: team-admin-projects
3+
title: Team Admin Projects
4+
sidebar_label: Projects
5+
---
6+
7+
The Projects self-service feature for the Team Admin is the same as for regular Teams, but with the following differences:
8+
9+
- The Workload created by the Project can be used to deploy Helm charts from the Catalog in any namespace.
10+
11+
- The Service created by the Project can expose any K8s `ClusterIP` service that exist in any namespace (but needs to be the same namespace as where the Workload is deployed).
12+
13+
See [here](../../for-devs/console/projects.md) for more information about Projects.
14+
15+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
slug: team-admin-sealed-secrets
3+
title: Team Admin Sealed Secrets
4+
sidebar_label: Sealed Secrets
5+
---
6+
7+
The Sealed Secrets self-service feature for the Team Admin is the same as for regular teams. Sealed Secrets can only be created in the `team-admin` namespace. See [here](../../for-devs/console/sealed-secrets.md) for more information about Sealed Secrets.
8+
9+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
slug: team-admin-security-policies
3+
title: Team Admin Security Policies
4+
sidebar_label: Security Policies
5+
---
6+
7+
The Security Policies self-service feature for the Team Admin is the same as for regular teams. Security Policies are only applied in the `team-admin` namespace. See [here](../../for-devs/console/security-policies.md) for more information about Security Policies.
8+
9+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
slug: team-admin-services
3+
title: Team Admin Services
4+
sidebar_label: Services
5+
---
6+
7+
The Services self-service feature for the Team Admin is the same as for regular Teams, but with the following difference:
8+
9+
- The Service created can be used to expose any K8s `ClusterIP` service in any namespace.
10+
11+
See [here](../../for-devs/console/services.md) for more information about Services.
12+
13+
14+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
slug: team-admin-workloads
3+
title: Team Admin Workloads
4+
sidebar_label: Workloads
5+
---
6+
7+
The Workload self-service feature for the Team Admin is the same as for regular Teams, but with the following differences:
8+
9+
- The Workload can be used to deploy Helm charts from the Catalog in any namespace.
10+
11+
- If the namespace does not exist, the namespace can be automatically created.
12+
13+
- Istio sidecars can optionally be enabled for all Pods in the Workload.
14+
15+
See [here](../../for-devs/console/workloads.md) for more information about Workloads.
16+

docs/img/add-helm-chart.png

393 KB
Loading

docs/img/team-admin-catalog.png

433 KB
Loading

docs/img/team-catalog.png

-21 KB
Loading

sidebar-docs.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,25 @@ module.exports = {
9898
},
9999
],
100100
},
101+
{
102+
"Console - Team-Admin": [
103+
"for-ops/console/team-admin-overview",
104+
"for-ops/console/team-admin-catalog",
105+
"for-ops/console/team-admin-projects",
106+
"for-ops/console/team-admin-builds",
107+
"for-ops/console/team-admin-sealed-secrets",
108+
"for-ops/console/team-admin-workloads",
109+
"for-ops/console/team-admin-netpols",
110+
"for-ops/console/team-admin-services",
111+
"for-ops/console/team-admin-security-policies",
112+
],
113+
},
101114
{
102115
"How To": [
103116
"for-ops/how-to/overview",
104117
"for-ops/how-to/use-catalog",
105118
"for-ops/how-to/ingress-classes",
106119
"for-ops/how-to/use-team-admin",
107-
// "for-ops/how-to/core-only",
108120
"for-ops/how-to/backups",
109121
"for-ops/how-to/clone-apl",
110122
"for-ops/how-to/manage-age",

0 commit comments

Comments
 (0)