Skip to content

Commit

Permalink
fix: update for 2.1.0 (#37)
Browse files Browse the repository at this point in the history
  • Loading branch information
srodenhuis authored Dec 15, 2023
1 parent f8e7a28 commit 05e22b1
Show file tree
Hide file tree
Showing 36 changed files with 489 additions and 247 deletions.
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@
"ABDEFHIJZ",
"aspinu",
"vultr",
"behaviour",
"OVHcloud",
"CISA",
"minikube",
"cloudnativepg",
"srodenhuis",
"Traefik",
"rbaumgar",
"ebpf",
"minio",
"Alin",
"petclinc",
Expand Down
31 changes: 3 additions & 28 deletions docs/apps/drone.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,6 @@ title: Drone
sidebar_label: Drone
---

Otomi uses Drone to deploy changes from the values repo. As such, it is installed and configured by default. When no source control is configured, Otomi will deploy Gitea as Drone's git hosting dependency.

You may use Otomi's Drone for other purposes if desired.

## Configuration values

### Source control

Configure Drone to use another Git repository for `otomi-values`. The following sGit services are supported:

- Bitbucket cloud
- Bitbucket server
- Gitea (external)
- Git hub
- Git lab
- Gogs

### Debug

Turns on debugging in Drone.

### Tracing

Turns on tracing in Drone

### Resources

Adjust default provided resource requests and limits for Drone Runner, Drone Server and Drone Agent
:::info
Drone has been deprecated. We advise to use Tekton if you would need to create custom CI/CD pipelines
:::
8 changes: 2 additions & 6 deletions docs/apps/external-dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,5 @@ External-dns is required to make public service domains accessible by registerin
The use of external-dns is a prerequisite for using the following features:

- Harbor private registries for teams
- Builds (rely on Harbor)
- Projects (rely on Harbor)

## Configuration values

External-dns can be configured in the [DNS section](/docs/for-ops/console/settings/dns) of the Platform Setting
- Builds (relies on Harbor)
- Projects (relies on Harbor)
21 changes: 12 additions & 9 deletions docs/apps/falco.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,22 @@ title: Falco
sidebar_label: Falco
---

Falco can be used for thread detection. When turned on

:::Notes:
Your deployed workloads may trigger one or more Falco rules. Hence, you may want to reconfigure some of the defaults. Something you consider as normal can be whitelisted in the Raw values of the Falco application.
:::
Falco can be used for thread detection. Before activating Falco, please first check which [Driver](https://falco.org/docs/event-sources/kernel/) to use. If you know which driver should be selected, activate Falco, go to the `Values`, select the `Driver` and submit changes. No `Deploy Changes`

## Configuration values
### Falco sidekick configuration

- Number of replica's of Falco Sidekick
- Minimum priority (default is informational).
### Driver settings

Select the driver to use:

- module
- ebpf (default)
- modern-bpf

### Resources

Adjust default provided resource requests and limits for Falco, Falco Sidekick and Falco Exporter.
Adjust default provided resource requests and limits for Falco and Falco Exporter.

## Raw values

When Falco is installed, Otomi will add a set of rules to `white-list` all known behaviour. These rules are added using the Raw Values.
2 changes: 1 addition & 1 deletion docs/apps/otel.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ title: Open Telemetry Operator
sidebar_label: Open Telemetry Operator
---

OpenTelemetry Operator is used to create a OTEL Collector to receive telemetry data from Istio and Nginx Ingress (and applications configured with Instrumentation) and export this data to the Tempo backend. Grafana can then be used to see the full traces.
OpenTelemetry Operator is used to create an OTEL Collector to receive telemetry data from Istio and Nginx Ingress (and applications configured with Instrumentation) and export this data to the Tempo backend. Grafana can then be used to see traces.
2 changes: 1 addition & 1 deletion docs/apps/thanos.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ title: Thanos
sidebar_label: Thanos
---

Thanos can be enabled for multi-cluster long term metrics retention.
Thanos can be enabled for multi-cluster metrics retention using an off-site object storage service.
2 changes: 1 addition & 1 deletion docs/apps/vault.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_label: Hashicorp Vault
---

:::note
Hashicorp Vault is being deprecated in Otomi. We are going to replace this app with solution based on SealedSecrets.
Hashicorp Vault is being deprecated. The Otomi Secrets feature is soon going to be based on SealedSecrets.
:::

HashiCorp Vault is a shared application for securely storing and managing secrets. Read more about Vault [here](https://www.vaultproject.io/docs/what-is-vault).
Expand Down
50 changes: 50 additions & 0 deletions docs/for-devs/console/catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
slug: catalog
title: Otomi Catalog
sidebar_label: Otomi Catalog
---

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

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.

## About Otomi Catalog quick starts

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

### k8s-deployment

The `otomi-quickstart-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.

### k8s-deployment-otel

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

### k8s-deployments-canary

The `otomi-quickstart-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`. Optionally a `HorizontalPodAutoscaler`, a Prometheus `ServiceMonitor` and a `Configmap` (for each version) can be created.

### knative-service

The `otomi-quickstart-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.


## Using the Catalog

1. Click on `Catalog` in the left menu

2. You will now see all the templates that are available to use

![catalog](../../img/catalog-1.png)

3. Click on the `k8s-deployment` template

![catalog](../../img/catalog-2.png)

In the Info tab you'll see some information about the Chart like the version and additional instructions.

3. Click on the `Values` tab

![catalog](../../img/catalog-3.png)

4. Continue to [create a workload](workloads.md)
4 changes: 2 additions & 2 deletions docs/for-devs/console/workloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ Before creating a workload from the developer catalog, we'll need the `repositor

2. Go to `Workloads` in the left menu and click on `New Workload`

3. Add a `Name` for the workload
3. Select a template from the catalog to use

4. Select a template from the catalog to use
4. Add a `Name` for the workload

5. (Optional) Configure the `Auto image updater`. Default is `Disabled`.

Expand Down
16 changes: 10 additions & 6 deletions docs/for-devs/get-started/lab-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@ sidebar_label: Prerequisites

Welcome to Otomi! If you are a developer and are going to use Otomi, this getting started guide is for you. In this first part we are going to make sure everything is ready to get started.

## Prerequisites

We assume the platform administrator has:

1. Activated the following applications:
1. Installed Otomi with DNS configured

2. Activated the following applications:

- Harbor
- ArgoCD
Expand All @@ -18,11 +22,11 @@ We assume the platform administrator has:
- Trivy Operator
- Gatekeeper (with option `Disable validating webhook` set to true)

For the [Use OpenTelemery](lab-27) Lab, the Tempo app needs to be enabled together with tracing at `Istio` and `Nginx Ingress` apps.
For the [Use OpenTelemery](lab-27) Lab, the Tempo app needs to be enabled together with tracing in the `Istio` and `Nginx Ingress` apps.

1. Created a team called `demo`
2. [Created an account](/docs/apps/keycloak#create-a-user-in-keycloak) and added your user the team group in Keycloak
3. Provided you with the following information:
3. Created a team called `demo` with `Managed prometheus and alert manager` enabled
4. [Created an account](/docs/apps/keycloak#create-a-user-in-keycloak) and added your user to the team group in Keycloak
5. Provided you with the following information:

- The URL to access the Otomi web UI (Otomi Console)
- Your login credentials
Expand All @@ -36,4 +40,4 @@ When you have received the URL of the web UI and have a username/password, then

After sign in, you will see this page:

![Team apps](../../img/team-apps.png)
![Team apps](../../img/team-apps.png)
10 changes: 4 additions & 6 deletions docs/for-devs/get-started/lab-11.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Now go to the [Expose services](lab-18) lab and expose the `green` service. When

In the Trigger Builds lab we already created a Build called `green` and configured it with a trigger.

Now go to the `green` repo in Gitea and change the color in the `green.html` to `orange`:
Now go to the `green` repo in Gitea and change the the welcome message:

```html
<!DOCTYPE html>
Expand All @@ -59,7 +59,7 @@ Now go to the `green` repo in Gitea and change the color in the `green.html` to
<style>
body {
color: #ffffff;
background-color: orange
background-color: green
font-family: Arial, sans-serif;
font-size: 14px;
}
Expand All @@ -79,14 +79,12 @@ Now go to the `green` repo in Gitea and change the color in the `green.html` to
</head>
<body>
<div align="center">
<h1>Welcome to Orange</h1>
<h1>Welcome to the improved Green app</h1>
</div>
</body>
</html>
```

And commit changes.

After the change has been committed, go to `Services` in the left menu and click on the Url of the `green` service. After a couple of minutes (note that the auto image update checks for changes every 2 minutes) you should see an `orange` page saying `Welcome to Orange`

Now go to `Services` in the left menu and click on the Url of the `green` service. What do you see?
After the change has been committed, go to `Services` in the left menu and click on the Url of the `green` service. After a couple of minutes (note that the auto image update checks for changes every 2 minutes) you should see a `green` page saying `Welcome to the improved Green app`
34 changes: 18 additions & 16 deletions docs/for-devs/get-started/lab-13.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,19 @@ title: Deploy workloads using Otomi
sidebar_label: Create workloads
---

In the previous lab we deployed a workload using Argo CD. In this lab we'll deploy a regular workload (a Kubernetes Deployment) using the Otomi Developer Catalog and Otomi Workload feature.
In the previous lab we deployed a workload using Argo CD with a BYO manifest and we explored the Catalog. In this lab we'll create a workload (a Kubernetes Deployment) using the Catalog and the Workload feature.

The Otomi Developer Catalog allows to store any Helm chart in the `otomi/charts` repository in Gitea. By deploying a given Helm chart from the catalog, Otomi saves the corresponding Helm chart values in a separate file in the `otomi/values` repo. Otomi configures Argo CD to observe the values and automatically deploy changes when values are adjusted (based on the GitOps principle).
## Create a Workload from the Catalog

## About the Developer Catalog

The Developer Catalog in Otomi is a curated list of Helm charts that can be used in workloads to create Kubernetes resources. The catalog by default only contains a set of Otomi quick start Helm charts.

## Create a Workload from the Developer Catalog

Before creating a workload from the developer catalog, we'll need the `repository` and `tag` of the image to use. Go to the list of Builds and add the `repository` of the `blue` build to your clipboard. Remember that the tag is `latest`.
Before creating a workload from the Catalog, we'll need the `repository` and `tag` of the image to use. Go to the list of Builds and add the `repository` of the `blue` build to your clipboard. Remember that the tag is `latest`.

You can create a workload from the developer catalog:

1. Go to `Workloads` in the left menu and click on `New Workload`
1. Go to `Catalog` in the left menu and click on the `k8s-deployment`template

2. Add the Name `blue` for the workload
2. Click on `Values`

3. Select `otomi-quickstart-k8s-deployment` from the catalog
3. Add the Name `blue`

4. Leave the `Auto image updater` to `Disabled`

Expand All @@ -34,10 +28,18 @@ image:
tag: latest
```
6. Click `Submit`
![workloads](../../img/workloads-1.png)
6. Click `Submit` and then `Deploy Changes`

Otomi will now create all the needed Argo CD resources to deploy your workload.

7. Click on `Workloads` in the left menu. You will now see a list of all Workloads and there status:

![workloads](../../img/workloads-2.png)

Now click on `Deploy Changes`
8. In the workloads list, click on the `Application` link of your workload to see the status of your workload in Argo CD:

After a few minutes, Otomi will have created all the needed Argo CD resources to deploy your workload. In the workloads list, click on the `Application` link of your workload to see the status of your workload in Argo CD.
![workloads](../../img/workloads-3.png)

The values of a workload can be changed at any time. Changes will be deployed automatically.
The values of a workload can be changed at any time. Changes will automatically be synchronized.
Loading

0 comments on commit 05e22b1

Please sign in to comment.