Kubernetes application configuration & automation platform
Self-hosted PaaS for Kubernetes
🚀🚀🚀 Try Otomi and win a $50 Amazon Gift Card 🚀🚀🚀
Check out the terms & conditions
Otomi turns any Kubernetes cluster into a PaaS for DevOps teams with paved roads from code to a running application
How Otomi helps
Developers - With easy self-service to let them focus on their apps only
Operations - To setup a Kubernetes-based platform for developers and provide a paved road to production
Check the video below to see how Otomi can be used as a self service portal for developers
Getting started Helm
To install Otomi, make sure to have a K8s cluster running with at least:
1.25
, 1.26
or 1.27
custom
provider, make sure the K8s LoadBalancer Service created by Otomi
can obtain an external IP (using a cloud load balancer or MetalLB)NOTE: Install Otomi with DNS to unlock it's full potential. Check otomi.io for more info.
Add the Helm repository:
helm repo add otomi https://otomi.io/otomi-core helm repo update
and then install the Helm chart:
helm install otomi otomi/otomi \ --set cluster.name=$CLUSTERNAME \ --set cluster.provider=$PROVIDER # use 'azure', 'aws', 'google', 'digitalocean', 'ovh', 'vultr', 'scaleway', 'civo', or 'custom' for any other cloud or onprem K8s
When the installer job is completed, follow the activation steps.
Platform architecture
Self-service portal and CLI
The self-service portal (Otomi Console) offers seamless user experience for developers and platform administrators. Platform administrators can use Otomi Console to enable and configure platform capabilities and onboard development teams. Developers can use Otomi Console to build images, deploy applications, expose services, configure CNAMEs, configure network policies and manage secrets. Otomi Console also provided direct and context aware access to platform capabilities like code repositories, registries, logs, metrics, traces, dashboards, etc. Next to the web based self-service, both developers and admins can start a Cloud Shell and run cli commands.
Desired state store
When Otomi is installed, the desired state of the platform is stored in the Desired State Store (the otomi/values
repo in the local Git repository). Changes made through the Console will be reflected in the repo.
Golden templates catalog
The otomi/charts
Git repo includes a set of build-in Helm charts that are used to create workloads in the Console. You can also add your own charts and offer them to the users of the platform.
Control plane
All changes made through the Console are validated by the control plane (otomi-api
) and then committed in the state store. This will automatically trigger the platform to synchronize the desired state to the actual state of the platform.
Automation
The automation is used to synchronize desired state with the state of applications like Keycloak, Harbor and Gitea.
Capabilities
The platform offers a set of Kubernetes applications for all the required capabilities. Core applications are always installed, optional applications can be activated. When an application is activated, the application will be installed based on default configuration. Default configuration can be adjusted using the Console.
Core Applications (that are always installed):
Optional Applications (that you can activate to compose your ideal platform):
Supported providers
Otomi can be installed on any Kubernetes cluster. At this time, the following providers are supported:
aws
for AWS Elastic Kubernetes Service
azure
for Azure Kubernetes Service
google
for Google Kubernetes Engine
linode
for Linode Kubernetes Engine
ovh
for OVH Cloud
vultr
for Vultr Kubernetes Engine
scaleway
for Scaleway Kapsule
civo
for Civo Cloud K3S
custom
for any other cloud/infrastructureOtomi Features
Otomi Projects
Otomi open source consists out of the following projects:
Documentation
Check out the dev docs index for developer documentation or go to otomi.io for more detailed documentation.
Contribution
If you wish to contribute please read our Contributor Code of Conduct and Contribution Guidelines.
If you want to say thank you or/and support the active development of Otomi:
This project exists thanks to all the people who have contributed
License
Otomi is licensed under the Apache 2.0 License.
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.