okctl is a CLI for creating a production environment on Amazon Web Services (AWS) using Elastic Kubernetes Service (EKS) as its foundation, we aim to be:

  • Specialised: by tightly integrating with the services provided by Oslo kommune
  • Highly opinionated: you will get something that works well that may not be exactly what you want
  • Modern: base our decisions on best-practise methodologies for a modern development lifecycle
  • Sensible: provide a set of sensible default integrations

Compare and contrast

With okctl we are attempting to solve the production environment setup problem. What we include within the definition of a production environment, we can see below.

Functionality okctl eksctl kubectl serverless.tf
Provide authentication and authorisation ?
Define a continuous integration pipeline ?
Assist with creating a deployment pipeline
Create a Kubernetes cluster (run-time environment)
Facilitate with application setup and integration
Provide integrations with version control system
Setup monitoring with metrics, logs and traces

Functionality

The core cluster is up and running, and we are currently working on building a seamless experience on top of this cluster with integrations for common functionality:

Core cluster

Application lifecycle

  • Postgres for creating and integrating a postgres database with your application
  • Amazon Elastic Container Registry for creating and assisting with the publication of container images for use in the cluster
  • Reference application that demonstrates how to use the cluster and its integrations

Inspiration

We stand on the shoulders of giants, we have begged, borrowed and stolen from the following great products and teams: