# README
Sanic Build
Sanic is an all-in-one tool to build, test, and deploy software organized in a Monorepo, where:
- The only things to be built are distinct Docker services with single Dockerfiles
- Deployment is done with Kubernetes
- Unit tests are stored in Dockerfiles in a folder named "dockerfiles" in each service
Requirements
- A recent docker client installed, and docker daemon running (i.e., "docker run" should work)
- Access to docker without needing
sudo
every time, e.g.., a sudoers NOPASSWD entry, being in the docker group, or running applicable sanic commands as root. See Manage Docker as a non-root user - kubectl installed
Examples
Timestamp as a Service
A simple app which consists of three Docker services: A Python Flask api server and web server, and a Redis container
To try it out, clone this repository somewhere, then, in a bash shell:
GO111MODULE=on go install
cd examples/timestamp-as-a-service
sanic env dev
sanic deploy
(to start the local environment, this may take a while. Note the URL printed at the end)sanic build --push
(to build and push the images)sanic kubectl get po
(to list the running pods in the new cluster)sanic kubectl delete po --all
(to force kubernetes to check if new pods have been created, avoiding waiting a minute after building)- Navigate to the URL that was printed in step #4 to see the deployed webserver!
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author