Git Product home page Git Product logo

otomi-core's Introduction


Self-hosted PaaS for Kubernetes

A complete platform experience on top of any Kubernetes cluster to empower developers and lower the burden on operations

Releases Docker pulls Build status Last commit License Contributions GitHub User's stars Website otomi.io Tweet YouTube Channel Subscribers

Join our Slack channel for Q&A

Otomi brings a PaaS experience to your Kubernetes cluster without the constraints and abstractions of traditional PaaS offerings like OpenShift, Cloud Foundry and Heroku. No more reinventing the wheel when building and maintaining your own K8s based (developer) platform.

Otomi features

๐Ÿš€ Getting started

Helm

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

  • Version 1.18 up to 1.23
  • 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.19, 1.20, 1.21, 1.22 and 1.23 are supported
--set cluster.name=$CLUSTERNAME \
--set cluster.provider=$PROVIDER # use azure, aws, google, digitalocean or custom for any other cloud or onprem K8s

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

K8s quick starts

Use the quickstarts for Azure, GCP, AWS, Linode, Digital Ocean and Minikube to provision a Kubernetes cluster. Then use the helm chart to install Otomi.

Workshops

In our workshops repository, we have prepared a comprehensive set of hands-on labs to get a good understanding/overview of Otomi.

๐ŸŽ‰ Otomi Features

โœ… Drag and Drop apps to create your own preferred suite

โœ… GitOps with Argo CD out-of-the-box

โœ… Advanced ingress architecture. Expose services with just a few clicks

โœ… Configure network policies for internal ingress and external egress

โœ… Deploy Knative serverless workloads without writing any YAML

โœ… Create and manage secrets in HashiCorp Vault and use them in your workloads

โœ… Create Kubernetes Jobs and Cron Jobs without writing any YAML

โœ… Role-based access to all integrated applications based on group membership

โœ… Policy enforcement based on a default set of security policies

โœ… Direct access to logs and metrics of your deployed workloads

โœ… Onboard new development teams or projects within minutes in a comprehensive multi-tenant setup

โœ… Make development teams self-serving by providing access to predefined automation tasks

โœ… Bring your favorite IdP, DNS and/or CA

๐Ÿง‘โ€๐Ÿ’ป Integrated technologies

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

Integrated technologies

Learn more about all the integrated technologies
  • Istio: The service mesh framework with end-to-end transit encryption
  • Argo CD: Declarative continuous deployment
  • Knative: Deploy and manage serverless workloads
  • Prometheus: Collecting container application metrics
  • 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: 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

๐Ÿ’ช Otomi Projects

Otomi consists out of the following projects:

  • Otomi Core (this project): The heart of Otomi
  • Otomi Tasks: Autonomous jobs orchestrated by Otomi Core
  • Otomi API: The brain of Otomi, handling console input and talking to Otomi Core
  • Otomi Console: The UI of Otomi for admins and teams, talking to Otomi API
  • 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 and tutorials.

๐Ÿค 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: main

  • Add a GitHub Star to the project
  • Feel free to write articles about the project on dev.to, medium or on your personal blog as we are curious to see how you use Otomi

๐Ÿ”– License

Otomi is free and open-source software licensed under the Apache 2.0 License.

otomi-core's People

Contributors

0-sv avatar bartusz01 avatar dependabot[bot] avatar diabhey avatar dunky13 avatar githubcdr avatar j-zimnowoda avatar k8sbee avatar martijncalker avatar mojtabaimani avatar morriz avatar rawc0der avatar renovate[bot] avatar srodenhuis avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.