Bunnyshell Requirements

Prerequisites

Before using Bunnyshell, make sure the following requirements are met:
  • Your application's source code is checked into a Git Version Control System (VCS). Bunnyshell currently functions with the following providers:
    • Github
    • Gitlab
    • Bitbucket
  • A Kubernetes cluster available for which you have privileges to create users and grant them access.

Supported Kubernetes clusters

Bunnyshell currently supports integration with Kubernetes clusters provided by the following:
Amazon Web Services
Bunnyshell
DigitalOcean
Bunnyshell
Google Cloud Platform
Bunnyshell
Microsoft Azure
Bunnyshell
Private Kubernetes clusters are also compatible with our service:
Private Kubernetes Clusters
Bunnyshell

Applications

Container-based applications

When creating environments for container-based applications, you also need to take into consideration these prerequisites:
  • Bunnyshell requires a definition of your application in a docker-compose.yml. Behind the scenes, we perform the translation from docker-compose.yml to Kubernetes manifest. Here you can find the supported conversion table for docker-compose.
  • For OAuth based VCS integrations you'll need a user who has admin permissions on the repository to install webhooks and deploy keys.

Static applications

Bunnyshell makes it easy to create environments for static Javascript applications. In this case, you will also need:
  • A package.json. Bunnyshell analyzes the specified branch on your repo to find all the applications and their required dependencies (services and databases). This information is gathered from package.json

Organizing applications

We recommend using a monorepo and a directory-per-service at the project root when your application requires two or more services. Here is an example repository/filesystem layout for three services that require docker builds:
1
├── README.md
2
├── docker-compose.yml
3
├── app
4
│ └── Dockerfile
5
├── backend
6
│ └── Dockerfile
7
└── worker
8
└── Dockerfile
Copied!
If you're not using a monorepo, you can create an application for each repository.