Epinio

Epinio

The Epinio Application Development Engine for Kubernetes. Epinio installs into any Kubernetes cluster to bring your application from source code to deployment and allow for Developers and Operators to work better together.

Why use Epinio?

Developer Happiness

Reduce the stress and focus on your application logic instead of Container or Kubernetes details.

Fast & Lightweight

Epinio runs well on any Kubernetes Cluster including your local development machine with Rancher Desktop

Flexible with Sane Defaults

Epinio uses Kubernetes generics and open-source components to give a fantastic developer experience without locking you into our idea of what an application looks like.

Software Included

Package Version License
Epinio v1.0.0 Apache License
CertManager 1.7.2 Apache
Traefik 10.20.1 MIT

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to install a Kubernetes 1-Click Application. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating Epinio using the control panel, you can also use the DigitalOcean API. As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following doctl command. You need to authenticate with doctl with your API access token) and replace the $CLUSTER_NAME variable with the chosen name for your cluster in the command below.

doctl kubernetes clusters create --size s-4vcpu-8gb $CLUSTER_NAME --1-clicks epinio

Getting Started After Deploying Epinio

To keep the installation easy, Epinio used a “magic” domain as the system domain (read more about it here: https://docs.epinio.io/installation/magicDNS_setup).

You now need to connect to the Kubernetes cluster in order to:

  • Find the automatically assigned system domain
  • Change the Epinio system domain to your desired domain

You first need to get a kubeconfig file that points to your DigitalOcean Kubernetes cluster. You can download that file from the DigitalOcean dashboard. As soon as you have kubectl talking to your new Kubernetes cluster, find URL or Epinio with:

$ kubectl get ing -n epinio epinio

(look at the “HOSTS” column)

If you want to change the system domain to a domain you own, you first need to point that desired domain to the LoadBalancer IP address of Traefik. You can find it with a command like this:

$ kubectl get svc -n traefik traefik --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}"

After you configured your DNS server, you now configure Epinio to use that domain as the “system domain”:

$ helm upgrade -n epinio epinio --reuse-values --set global.domain=yourwildcarddomainhere.org

The domain should be a wildcard domain. Read more here: https://docs.epinio.io/installation/dns_setup

Now that you’ve set up Epinio system domain, it’s time to login to Epinio.

You can visit the Web UI (open the ingress url you discovered with kubectl get ing -n epinio epinio) or login using the CLI:

$ epinio login https://the_ingress_url_here

The default credentials are admin/password and it’s important that you change those because your Epinio instance is now publicly accessible.

Do so by changing the User secrets on the cluster. Read more here:

https://docs.epinio.io/references/authorization#list-the-epinio-users

Now epinio cli is pointed to this Epinio cluster and you can start working with it.

Read the Epinio documentation on how to get started:

https://docs.epinio.io/tutorials/quickstart