Skip to content

Commit

Permalink
Update otomi script (#480)
Browse files Browse the repository at this point in the history
* feat: upgrade Otomi in the marektplace

* feat: upgrade Otomi in the marektplace
  • Loading branch information
jeho authored Oct 13, 2023
1 parent d3a830a commit a15054f
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 88 deletions.
97 changes: 11 additions & 86 deletions stacks/otomi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,8 @@

## Description

[Otomi](https://github.com/redkubes/otomi-core) brings a full PaaS experience to Kubernetes without any constraints or abstractions on top of the tools you already love and use. No more reinventing the wheel when building and maintaining your own Kubernetes based (developer) platform.
[Otomi](https://github.com/redkubes/otomi-core) adds developer- and operations-centric tools, automation, and self-service on top of Kubernetes in any infrastructure or cloud, to code, build, and run containerized applications

It consists of a complete suite of pre-configured, integrated and automated applications for Kubernetes (like Istio, Knative, Harbor, Prometheus, Argo CD), combined with developer self-service, and offered as a single installable package.

**Core features**

- Drag and Drop popular open-source apps to create your preferred suite
- An advanced ingress architecture. Expose services with just a few clicks
- Configure network policies for internal ingress and external egress
- Create Kubernetes Jobs and Cron Jobs without writing any YAML
- Onboard (development) teams or projects within minutes in a comprehensive multi-tenant setup
- Make developers self-serving by providing access to predefined automation tasks

**Optional (if app is activated)**

- Deploy serverless workloads without writing any YAML
- Create and manage secrets in HashiCorp Vault and use them in your workloads
- GitOps with Argo CD out-of-the-box
- Policy enforcement is based on a default set of security policies
- Full observability based on Prometheus, Grafana, Loki and Alert manager
- Store images in Harbor
<!-- 7. Runtime container vulnerability scanning -->

**Notes:**

Expand All @@ -39,10 +19,13 @@ It consists of a complete suite of pre-configured, integrated and automated appl

| Package | Application Version |License |
| ---| ---- | ------------- |
| otomi | [v0.16.x](https://github.com/redkubes/otomi-core/releases/) | [Apache 2.0](https://github.com/redkubes/otomi-core/blob/main/LICENSE) |
| otomi | [v1.x.x](https://github.com/redkubes/otomi-core/releases/) | [Apache 2.0](https://github.com/redkubes/otomi-core/blob/main/LICENSE) |

## Getting Started

### Prerequisites
Get familiar with supported Kubernetes versions at https://otomi.io/product/roadmap

### How to Connect to Your Cluster

Follow these [instructions](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/) to connect to your cluster with `kubectl` and `doctl`.
Expand All @@ -67,83 +50,25 @@ Next, check the installer job logs to get the otomi console `url` and `credentia
```bash
kubectl logs jobs/otomi -n default --tail=7
```

The output looks similar to the following:

```bash
########################################################################################################################################
#
# To start using Otomi, go to https://otomi.134.209.133.239.nip.io and sign in to the web console
# with username "otomi-admin" and password "OTzVCbJbvIN1T0LIij4U".
# Then activate Drone. For more information see: https://otomi.io/docs/installation/activation/
#
########################################################################################################################################
```

### Accessing Otomi console

- Sign in to the Otomi web console `url` using the `credentials` found in the installer job logs.
For activation steps follow: https://otomi.io/docs/get-started/activation

<!-- <p align="center"><img src="https://github.com/redkubes/marketplace-kubernetes/blob/main/img/otomi-console-login.png/?raw=true" width="100%" align="center" alt="otomi console login"></p> -->

<img src="./img/otomi-console-login.png" alt="otomi console login" width="1080" height="570" align="center"/>

- Add the auto-generated CA to your keychain/credential manager (optional)

<img src="./img/download-ca.png" alt="download ca" width="1080" height="570"/>

```bash
NOTE:
# To prevent you from clicking away lots of security warnings in your browser, you can add the generated CA to your keychain/credential manager:
# Since we install Otomi without proving a custom CA or using LetsEncrypt, the installer generated a CA which is not trusted on your local machine.
```

- In the left menu of Otomi Console, click on "Download CA"
- Double click the downloaded `ca.crt` or add the CA to your keychain on your mac using the following command:

```bash
# On Mac
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Downloads/ca.crt
# Restart the browser or open it in private mode
```

```powershell
# On Windows(PowerShell - Run as Administrator)
# Use certutil:
certutil.exe -addstore root <downloaded cert path>
# Or
Import-Certificate -FilePath "<downloaded cert path>" -CertStoreLocation Cert:\LocalMachine\Root
# Restart the browser or open it in private mode
```

### Post-install configurations

- In the side menu of Otomi Console under `Platform`, select `Apps` and click on the **Drone** app
- Click on the `play` button in the top right. A new tab will open for Drone and click `CONTINUE`
- Sign in locally with as `otomi-admin` and the `password` provided in the logs of the installer job.
- Click on `Authorize Application`
- Click on `SUBMIT` on the Complete your Drone Registration page. You don't need to fill in your Email, Full Name or Company Name if you don't want to
- Click on the `otomi/values` repository
- Click on `+ ACTIVATE REPOSITORY`

<img src="./img/otomi-drone-activate.gif" alt="activate drone" width="1080" height="570"/>

Now head to the [workshops](https://github.com/redkubes/workshops) to explore Otomi through a series of hands-on labs.
For performing hands-on labs look into: https://otomi.io/docs/for-devs/get-started/overview

## Upgrade Instructions

Upgrading to a new version of Otomi can be easily done via the `otomi-console` as shown in the picture below

<img src="./img/otomi-upgrade.png" alt="upgrade-otomi" width="1080" height="570"/>
Upgrading to a new version of Otomi can be easily done via the `otomi-console`.
From the left menu bar follow: `Settings` then in the main screen click `Otomi` and find `Version` input form. Fill a new version


```bash
NOTE:
# The upgrade must be incremental, e.g.: 0.16.4 -> 0.16.5 -> 0.16.6
# The major and minor upgrades must be incremental, e.g.: 1.16.4 -> 1.17.0
```

### Additional Resources

- [Otomi Documentation](https://otomi.io/docs/installation/)
- [Otomi Documentation](https://otomi.io/docs/get-started/installation)
- [Otomi Slack](https://otomi.slack.com/ssb/redirect#/shared-invite/email)

2 changes: 1 addition & 1 deletion stacks/otomi/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ helm upgrade "$STACK" "$CHART" \
--atomic \
--create-namespace \
--install \
--timeout 8m0s \
--timeout 20m0s \
--namespace "$NAMESPACE" \
--set cluster.k8sVersion="$VERSION" \
--values "$values"
Binary file removed stacks/otomi/img/download-ca.png
Binary file not shown.
Binary file removed stacks/otomi/img/otomi-drone-activate.gif
Binary file not shown.
Binary file removed stacks/otomi/img/otomi-upgrade.png
Binary file not shown.
1 change: 0 additions & 1 deletion stacks/otomi/values.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# otomi/otomi

cluster:
k8sVersion: '1.22'
name: otomi-on-digital-ocean
provider: digitalocean

0 comments on commit a15054f

Please sign in to comment.