Wolkstack
Table of Contents
About the Repo
This repo shows the development state of the Wolkstack project, a cloud development framework for
Despite being available on github, this repository is intended as a read-only resource and has been licensed as such. Permissions are not given to use or modify this software.
Getting Started
Wolkstack requires several steps and infrastructure pieces to be setup for optimal usage, the exact steps to install the below software will not be included in this documentation, although tutorials can be found on the provided pages.
Required programs:
With this complete some pre-steps are required to ensure that credentials are generated in your project.
AWS CLI
Ensure that you have run aws configure
and set your authentication credentials locally in your computer
Environment Credentials
Terraform requires some basic credentials to run CI/CD services on your AWS account, the exact commands to set these are shown below.
This code makes use of environment variables to ensure that the user does not expost information, additionally credentials are encrypted and made use of with AWS parameter store, a secure repository for this use case.
Docker-Hub
To deploy containers and install applications we need a docker-hub credential which can be set with:
export TF_VAR_docker_hub_password={password}
Github
To setup web-hooks and access code for CI/CD on your private repositories, how to get the token:
export TF_VAR_github_token={token}
Install
Wolkstack is available as a simple PyPi package
and can be installed with command pip install Wolkstack
Once installed steps and commands can be followed inside the Wolkstack CLI.
Code Structure
Explained here are the most important points of the code structure, where to find configs, etc.
tbd
Architecture
An full example wolkstack deployment is shown here.
Tech
Wolkstack sets you up with a standard set of tools that can be switched and replaced as desired, a list of used technology can be seen here.
Automated Deployments
Cluster Tools
Continuous Deployment / Continous Integration
Service setup:
Frontend
Backend:
Database:
Contributors
License
Copyright 2020 Josh Gorman
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.