Overview
The purpose of this guide is to show you how to harness the full potential of Bunnyshell. To that end, we'll be diving into a simple project involving a predefined application, using some of the most important Bunnyshell features and discussing our platform's functionality.
What you'll learn
How to create an Environment in Bunnyshell, starting from a
docker-compose.yaml, the one used for local developmentHow to deploy your Environment
How to create and use Ephemeral Environments
How to use Remote Development
How to debug frequent issues
How to integrate and extend Bunnyshell using the CLI tool and our Public API
A number of other useful features that Bunnyshell provides
Resources
The Demo Repository
As part of this guide, we crafted a simple repository for a demo application, named Bunnyshell Books.
You can choose to run this on local, or directly in Bunnyshell.
To run on local you just need to:
Fork & clone the repository
Run
docker-compose upin the root of the projectAdd 1 line in the
/etc/hostsfile (seeREADME.md)
In order to deploy it in Bunnyshell, you just need to:
Create an environment and add an application
Select the repository and indicate the path to the
docker-compose.yamlfileDeploy the Environment
See how it will look like when deployed in Kubernetes.
The Demo Application
Bunnyshell Books, our demo Application, is composed of:
The React frontend
The backend (API made with Nodejs and Express)
The Postgres database
The Bunnyshell Books demo app is inspired by this tutorial.
The original repositories are located here.
The application is built to allow easy local development and uses a docker-compose.yaml file, stored in the root of the repo. Each component is located in its own folder (an approach commonly referred to as monorepo).
Please note that the application is as simple as possible, to allow for a quick understanding of how it works and ease focusing on how Bunnyshell works. It is by no means production ready, with concerns such as code architecture and error handling being largely ignored.
Because Bunnyshell handles the certificate for HTTPS, the current setup skips certificate generation and configuration.
Enhancing the application
Using Terraform, we'll expand the functionality of the app by adding images for books. The images will be generated (to simplify app changes) and will be uploaded into an S3 bucket which will be created using a Terraform Module for AWS S3.
Using a Helm Chart, a Redis component will be added, to allow caching capabilities.
You can dive deeper on technical features and explore our Terraform and Helm Charts integrations.
Last updated
Was this helpful?
