https://github.com/stefan-kolb/paasyard
Docker powered (mini) deployment system for PaaS.
https://github.com/stefan-kolb/paasyard
cloud cloud-computing deployment docker paas
Last synced: about 1 year ago
JSON representation
Docker powered (mini) deployment system for PaaS.
- Host: GitHub
- URL: https://github.com/stefan-kolb/paasyard
- Owner: stefan-kolb
- License: mit
- Created: 2014-11-25T16:30:10.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-05-28T08:44:05.000Z (about 11 years ago)
- Last Synced: 2023-06-03T10:05:12.623Z (about 3 years ago)
- Topics: cloud, cloud-computing, deployment, docker, paas
- Language: Shell
- Homepage:
- Size: 515 KB
- Stars: 31
- Watchers: 6
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PaaSyard
Docker powered (mini) deployment system for PaaS.
## Requirements
Any system with a running Docker daemon will do!
## Installation
Clone the repository:
```sh
$ git clone https://github.com/stefan-kolb/paasyard.git
```
Configure a `config/provider.cfg` with your provider credentials (see `config/provider.cfg.example`).
```sh
$ cat mv provider.cfg.example provider.cfg
# Heroku
HEROKU_USERNAME=
HEROKU_PASSWORD=
```
Build the Docker images and install the `paasyard` executable:
```sh
$ sudo make install
```
## Usage
Supported vendors:
```sh
$ paasyard list
bluemix
cloudcontrol
dotcloud
elasticbeanstalk
engineyard
heroku
openshift
pivotal
```
Define necessary environment variables inside the app folder in a `.env` file (one per line).
```sh
$ cat .env
RAILS_ENV=production
MONGO_URL=mongodb://user:pass@example.com:59938
```
### Deploy
```sh
$ paasyard create VENDOR [-a APPNAME]
```
### Update
```sh
$ paasyard push VENDOR [-a APPNAME]
```
### Delete
```sh
$ paasyard delete VENDOR [-a APPNAME]
```
## Field of application
- Deployment abstraction
- Quick deployment tests
- Isolated deployment measurements
```sh
$ time paasyard create heroku
real 6m22.759s
user 0m0.049s
sys 0m0.055s
```
## TODO
- Beware that it's currently Ruby focused for some vendors (cloudControl, dotCloud, Beanstalk, OpenShift: Ruby 2.0).
- Only use `create -> push...push -> delete` workflow for safety now, as SSH keys are pushed on create and removed on delete only at the moment.