• Stars
    star
    2,212
  • Rank 20,853 (Top 0.5 %)
  • Language Smarty
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Application Platform for Linode Kubernetes Engine (or any other K8s)


Self-hosted PaaS for Kubernetes

Releases Docker pulls Build status Last commit License Contributions Website otomi.io Follow us on Twitter Join Facebook group

Add developer- and operations-centric tools, automation and self-service on top of Kubernetes in any infrastructure or cloud. 1 install, 1 spec, and 1 console to build, deploy, secure, expose and monitor containerized applications.

Otomi integrated applications

Otomi helps

Developers - To focus on their apps only

  • Build images from application code
  • Deploy containerized workloads without writing any YAML
  • Direct access to logs and metrics
  • Store charts and images in a private registry
  • Build and run custom CI pipelines
  • Easy ingress and network policy configuration
  • Manage your own secrets

Platform teams - To setup and manage production-ready Kubernetes-based platforms

  • Onboard development teams in a comprehensive multi-tenant setup
  • Get all the required K8s tools in an integrated and automated way
  • Create your platform profile and deploy to any K8s
  • One schema to manage all platform configuration
  • Ensure governance with security policies
  • Implement zero-trust networking
  • Make development teams self-serving
  • Change the desired state of the platform based on Configuration-as-Code
  • Support multi- and hybrid cloud scenarios

Getting started

Helm

To install Otomi using Helm, make sure to have a K8s cluster running with at least:

  • Version 1.23 up to 1.24
  • A node pool with 6 vCPU and 8GB+ RAM (more is advised!)
  • Calico CNI installed (or any other CNI that supports K8s network policies)
  • When installing using the custom provider, make sure the K8s LoadBalancer Service created by Otomi can obtain an external accessible IP (using a cloud load balancer or MetalLB)

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.k8sVersion=$VERSION \ # 1.23 and 1.24 are supported
--set cluster.name=$CLUSTERNAME \
--set cluster.provider=$PROVIDER # use 'azure', 'aws', 'google', 'digitalocean', 'ovh', 'vultr', 'scaleway' or 'custom' for any other cloud or onprem K8s

When the installer job is completed, follow the activation steps.

Integrated K8s applications

Otomi integrated applications

Otomi installs, configures, integrates and automates all of your favorite K8s apps:

  • Istio: The service mesh framework with end-to-end transit encryption
  • Velero: Back up and restore your Kubernetes cluster resources and persistent volumes
  • Argo CD: Declarative continuous deployment
  • Knative: Deploy and manage serverless workloads
  • Prometheus: Collecting container application metrics
  • Grafana: Visualize metrics, logs, and traces from multiple sources
  • Loki: Collecting container application logs
  • Harbor: Container image registry with role-based access control, image scanning, and image signing
  • HashiCorp Vault: Manage Secrets and Protect Sensitive Data
  • Kubeapps: Launching and managing applications on Kubernetes
  • Keycloak: Identity and access management for modern applications and services
  • OPA/Gatekeeper: Policy-based control for cloud-native environments
  • Let's Encrypt: A nonprofit Certificate Authority providing industry-recognized TLS certificates
  • Jaeger: End-to-end distributed tracing and monitor for complex distributed systems
  • Kiali: Observe Istio service mesh relations and connections
  • External DNS: Synchronize exposed ingresses with DNS providers
  • Drone: Continuous integration platform built on Docker
  • Gitea: Self-hosted Git service
  • Nginx Ingress Controller: Ingress controller for Kubernetes
  • Minio: High performance Object Storage compatible with Amazon S3 cloud storage service
  • Trivy: Kubernetes-native security toolkit
  • Thanos: HA Prometheus setup with long term storage capabilities
  • Falco: Cloud Native Runtime Security
  • Opencost: Cost monitoring for Kubernetes
  • Tekton Pipeline: K8s-style resources for declaring CI/CD pipelines.
  • Paketo build packs: Cloud Native Buildpack implementations for popular programming language ecosystems
  • KubeClarity: Detect vulnerabilities of container images

Otomi Features

  • Activate capabilities to compose your own platform
  • GitOps out-of-the-box
  • Container image scanning (at the gate and during runtime)
  • Security policies (at the gate and during runtime)
  • Advanced ingress architecture
  • Network policies for internal ingress and external egress
  • Deploy workloads the GitOps way without writing any YAML
  • Create and manage secrets in Vault and use them in workloads
  • Role-based access to all integrated tools
  • Comprehensive multi-tenant setup
  • Automation tasks for Harbor, Keycloak, ArgoCD, Vault, Velero, Gitea and Drone
  • Expose services on multiple (public/private) networks
  • SOPS/KMS for encryption of sensitive configuration values
  • BYO IdP, DNS and/or CA

And much more...

Otomi Projects

The open source Core of Otomi consists out of the following projects:

  • Otomi Core (this project): The heart of Otomi
  • Otomi Tasks: Autonomous jobs orchestrated by Otomi Core
  • Otomi Clients: Factory to build and publish openapi clients used in the redkubes/otomi-tasks repo

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:

  • Star the Otomi project on Github
  • Feel free to write articles about the project on dev.to, medium or on your personal blog and share your experiences

This project exists thanks to all the people who have contributed

License

Otomi is licensed under the Apache 2.0 License.

More Repositories

1

docs

Linode guides and tutorials.
Python
1,380
star
2

manager

Akamai's Cloud Manager is an open-source, single-page application designed as the primary frontend interface for interacting with the Linode API. It is entrusted by hundreds of thousands of customers with the management of their Linode services.
TypeScript
689
star
3

cli

This is the DEPRECATED Linode CLI. Use https://github.com/linode/linode-cli
Perl
466
star
4

linode-cli

The official Linode command line interface.
Python
376
star
5

longview

Linode Longview Agent
Perl
334
star
6

terraform-provider-linode

Terraform Linode provider
Go
203
star
7

linodego

Go client for Linode REST v4 API
Go
138
star
8

linode_api4-python

Official Python bindings for the Linode API
Python
136
star
9

linode-cloud-controller-manager

Kubernetes Cloud Controller Manager for Linode
Go
83
star
10

terraform-linode-k8s

Kubernetes installer for Linode
HCL
67
star
11

linode-blockstorage-csi-driver

Container Storage Interface (CSI) Driver for Linode Block Storage
Go
65
star
12

ansible_linode

Linode Ansible Collection
Python
57
star
13

Marketplace-Apps

The Linode Marketplace is designed to make it easier for developers and companies to share One-Click Apps with the Linode community.
Shell
53
star
14

docker-volume-linode

Docker Volume driver for Linode Block Storage
Go
46
star
15

docker-machine-driver-linode

Linode Driver Plugin for Docker Machine using Linode APIv4
Go
44
star
16

cluster-api-provider-linode

A Cluster API implementation to create Kubernetes clusters for Linode (CAPL)
Go
26
star
17

beginners-guide-to-devops-tools

SCSS
26
star
18

linode-api-docs

Source for the Linode API v4 Docs
Python
23
star
19

packer-builder-linode

Packer Builder plugin for Linode Images
Go
21
star
20

apl-tasks

Tasks needed by APL to glue all the pieces together
TypeScript
20
star
21

provider-ceph

Provider Ceph is a Crossplane provider capable of managing S3 Buckets on one or more Ceph clusters.
Go
18
star
22

homebrew-cli

Homebrew formula for Linode CLI
Ruby
14
star
23

provider-linode

Provider Linode is a Crossplane provider for managing Linode Akamai Cloud Computing resources.
Go
12
star
24

packer-plugin-linode

Packer plugin for Linode Builder
Go
10
star
25

k8s-node-decorator

Add labels and annotations to your kubernetes nodes with this in cluster decorator that reads data from the metadata for the underlying linodes
Go
10
star
26

apl-clients

Factory to build and publish open API clients used in the apl-tasks repo
Shell
10
star
27

kontainer-engine-driver-lke

Kontainer Engine Driver for Rancher Cluster Driver
Go
8
star
28

developers

developers-linode-com
JavaScript
8
star
29

action-linode-cli

A GitHub Action for installing the Linode CLI
8
star
30

lelastic

elastic IP client
Go
7
star
31

linode-doc-template

Template for creating bounty docs for Linode.
6
star
32

rancher-ui-driver-linode

UI for Linode options when used as a Rancher Node Template
JavaScript
6
star
33

linode-react-components

React Components consumed by linode/manager and linode/linode-api-docs
JavaScript
6
star
34

linode-k8s-e2e-tests

A collection of end-to-end test for Kubernetes running on Linode
Go
6
star
35

velero-plugin

Verlero plugin that clones Linode CSI volumes for archival
Go
5
star
36

capi-bootstrap

Cluster API self-managed cluster bootstrapping
Go
4
star
37

linode-cosi-driver

A Kubernetes Container Object Storage Interface (COSI) Driver for Linode
Go
4
star
38

agreements

Linode's Legal Agreements
4
star
39

go-metadata

A Go package for interacting with the Linode Metadata Service.
Go
4
star
40

apl-docs

App Platform for LKE documentation website - https://apl-docs.net
JavaScript
4
star
41

linode-hugo-theme

JavaScript
4
star
42

manager-design

Design repository for the Linode manager
4
star
43

ui-cluster-driver-lke

UI for Linode options when used as a Rancher Cluster Driver
JavaScript
3
star
44

terraform-linode-dcos

[WORK-IN-PROGRESS] DC/OS Provisioning Terraform module for Linode
HCL
3
star
45

design-language-system

A repository of our foundational design tokens in various formats help build a cohesive and consistent visual language across digital platforms. Includes color palettes, typography, spacing, layout rules, and more. Provides a pre-built set of tokens for designers and developers to easily implement in their projects, promoting brand identity
TypeScript
3
star
46

apl-charts

App Platform for LKE - Catalog Helm charts
Smarty
3
star
47

ansible-specdoc

A utility for dynamically generating Ansible Collection documentation.
Python
2
star
48

py-metadata

A Python package for interacting with the Linode Metadata Service.
Python
2
star
49

styles

Linode stylesheets
CSS
2
star
50

lke-sintel-demo

Three manifest Nginx Ingress, Cert Manager, and External DNS demo on Linode Kubernetes Engine
HTML
2
star
51

ndproxy

Go
2
star
52

dhcpd-unnumbered

Go
2
star
53

arpproxy

Go
2
star
54

docs-cloud-projects

Jinja
1
star
55

docs-scripts

Python
1
star
56

ansible-specdoc-example

An example Ansible Collection using ansible-specdoc.
Python
1
star
57

splunk-addon-linode

Linode Splunk Integration
Python
1
star
58

rad-unnumbered

Go
1
star
59

cloud-firewall-controller

Go
1
star