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

Deploying and Scaling a PyTorch Chatbot Model with Kubernetes, Cog and Acorn
Deploying and Scaling Containerized Machine Learning Models – Part 4 This four-part series focuses on leveraging Kubernetes, Cog and Acorn frameworks to package, deploy, and scale machine learning models in cloud native environments. Part...

Microservices are Dead, Long Live the Monolith
Have you heard the news? Amazon Prime Video has migrated away from microservices to a monolith! Surely if Amazon engineering is eschewing microservices and serverless architectures, we all should do the same and return to the bygone...
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