Welcome to the Webtalk DevOps repository. This is a collection of utilities to manage the infrastructure required to run Webtalk applications.
This project is mainly meant to provide code that would allow developers to easily deploy Webtalk applications to various cloud providers, complete with configuring SSL encryption using Let's Encrypt.
Only the Vagrant - Chef - AWS workflow is supported at the moment.
Configuration of the deployment code is supported via environment variables. The required variables are described below.
WEBTALK_AWS_ACCESS_KEY_ID
- AWS API access key idWEBTALK_AWS_SECRET_ACCESS_KEY
- AWS API secret access keyWEBTALK_AWS_KEYPAIR_NAME
- AWS EC2 keypair nameWEBTALK_AWS_DEFAULT_REGION
- AWS region to deploy toWEBTALK_AWS_ELASTIC_IP
- AWS EC2 elastic ip to use for the instance launched.WEBTALK_AWS_INSTANCE_TYPE
- AWS EC2 instance type to use for deployment.WEBTALK_AWS_AMI
- AWS EC2 machine image to use for deployment (only tested on Ubuntu 16.04 AMIs).WEBTALK_SOURCE_URL
- URL to download the application code from. This currently expects a zip archive with all contents in a single top level directory.WEBTALK_SOURCE_DIR
- Directory name of extracted source archive. For example, the archive of themaster
branch of the Webtalk repository extracts towebtalk-master
.WEBTALK_SERVER_NAME
- Server name that the application will be accessible at (e.g.example.com
).WEBTALK_ACME_CONTACT
- Contact email address required by the ACME protocol for automatically generating certificates from Let's Encrypt.WEBTALK_LOGTALK_VERSION
- Logtalk version the application is based on.
Use the steps specific to your deployment workflow, after configuring the environment variables.
$ git clone https://github.com/sandogeorge/webtalk-ops.git
$ cd webtalk-ops/vagrant
$ vagrant up --provider=aws