Introducing Acorn:

A simple application deployment framework for Kubernetes

-One artifact across dev, test, and production

-Simple CLI and powerful API

-Secure by design

-Open source

containers: {
  nginx: {
    image: "nginx"
    ports: publish: "80/http"
    files: {
      "/usr/share/nginx/html/index.html": "<h1>Hi mom!</h1>"
    }
  }
}

> acorn build

> acorn push

> acorn run

Using Acorn secrets in the Voting App

Using Acorn secrets in the Voting App

In the previous article of the series we described the Voting App in an Acornfile and ran it in a demo cluster. As a reminder, we ended up with the following Acornfile: Specification of the VotingApp in a simple Acornfile If you look at...

read more
What’s New in v0.4.0

What’s New in v0.4.0

Once again, we're excited to announce a new release of Acorn, packed with new features, enhancements, and bug fixes. Let's jump right into what this release has to offer. Let's Encrypt Certificates for Custom Domains In our last release,...

read more

What is Acorn? 

Acorn is a containerized
application packaging framework
 that simplifies deployment on Kubernetes

  • Developers write Acornfiles to define how to build and run an application.

  • Acorn images are built from the Acornfile and then pushed to any OCI-compatible registry.

  • An Acorn image contains one or more Docker images, configuration files, and deployment specifications.

  • Acorn images can run on any Kubernetes cluster.

  • All of this can be utilized through a simple CLI modeled after Docker.

Introducing Acorn

Why Acorn?

Kubernetes has provided an incredibly powerful engine for running containers, however, the level of complexity it introduces can be daunting for many teams, often creating disconnects between development and operations.

Acorn simplifies app deployment on Kubernetes by introducing a standardized application artifact that runs consistently across dev, test, and production environments. 

Having a consistent artifact simplifies Kubernetes operations, and improves application security and reliability.  

 

How Acorn Works

Select any target
Kubernetes cluster

Download and Install Acorn

brew install acorn-io/cli/acorn
acorn init

Create an Acornfile
for the application

echo 'containers: {
  nginx: {
    image: "nginx"
    ports: publish: "80/http"
    files: {
      "/usr/share/nginx/html/index.html": "<h1>My first Acorn!</h1>"
    }
  }
}' >Acornfile

Build and push the Acorn image

acorn build -t ghcr.io/user/web . 
acorn push ghcr.io/user/web

Deploy the Acorn image to Kubernetes

acorn run --name my-app ghcr.io/user/web
acorn apps my-app 

acorn ps
NAME    IMAGE            HEALTHY UP-TO-DATE CREATED   ENDPOINTS                       MESSAGE
my-app  ghcr.io/user/web 1       1          1m ago    http://nginx.my-app.on-acorn.io OK