/epinio

Opinionated platform that runs on Kubernetes, that takes you from App to URL in one step.

Primary LanguageGoApache License 2.0Apache-2.0

Epinio

Opinionated platform that runs on Kubernetes to take you from Code to URL in one step.

godoc CI AKS-CI EKS-CI GKE-CI RKE-CI golangci-lint

Contents

What problem does Epinio solve?

Epinio makes it easy for developers to iterate on their applications running in Kubernetes. Easy means:

  • No experience with Kubernetes is required
  • No steep learning curve
  • Quick local setup with minimal configuration
  • Deploying to production similar to development

Kubernetes is becoming the de-facto standard for container orchestration. Developers may want to use Kubernetes for all the benefits it provides or may have to do so because that's what their Ops team has chosen. Whatever the case, using Kubernetes is not simple. It has a steep learning curve and doing it right is a full time job. Developers should spend their time working on their applications, not doing operations.

Epinio is adding the needed abstractions and intelligence to allow Developers to use Kubernetes as a PaaS (Platform as a Service).

Documentation

Installation and user documentation is available at our main docs.epinio.io site.

Our developer documentation explains how to build and run Epinio from a source checkout.

Features

  • Security
    • mTLS: Epinio uses linkerd to secure all communication between epinio components inside the kubernetes cluster
    • Basic Authentication to access the API
  • Epinio Clients
    • Web UI
    • Epinio CLI
  • Apps
    • Push code directly without additional tools or steps
    • Basic operation of your application once pushed
    • Cloud Native Buildpacks build and containerize your code for you
  • Services
    • CRUD operations of your service. A service can be a database, SaaS etc. A service can be an external component or can be created using epinio service
    • Bind services to apps

Usage

  • QuickStart - Tutorial on how to create a namespace and push an application.

Buildpacks

Buildpacks convert your application source code into container images in which the buildpack provides the framework, dependencies and runtime support for your app based on it's programming language.

Epinio uses Paketo Buildpacks through tekton pipelines to convert your source code into container images.

Tekton Buildpack Pipeline - Epinio uses this tekton pipeline with the Paketo's full Builder Image.

Using Custom Buildpack - Steps to create and use a custom builder image that includes a buildpack for Python (The paketo full Builder Image doesn't support python apps yet).

Example apps

Reach Us

Contributing

Epinio uses Github Project for tracking issues. You can also find the issues currently being worked on in the BackLog section.

Find more information in the Contribution Guide.

License

Copyright (c) 2020-2021 SUSE, LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.