Wave Deploy is a proof of concept that demonstrates the steps involved in building a very simple PAAS.
For detailed documentation and usage instructions, please visit here.
Before getting started, make sure you have the following prerequisites installed on your system:
- Go programming language
- MySQL
git clone https://github.com/Oluwatunmise-olat/WaveDeploy
Create a .env file in the root directory of the project and mirror .env.example:
MYSQL_CONNECTION_STRING=
ENVIRONMENT=<PRODUCTION, STAGING>
APP_KEY=<ANY KEY>
GITHUB_APP_ID=
GITHUB_APP_PUBLIC_LINK="https://github.com/apps/<YOUR APP>"
CONNECT_TO_GITHUB_URL=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
PORT=
GITHUB_APP_WEBHOOK_SECRET=
make db-migrate-up mysql_username=<YOUR USERNAME> mysql_password=<YOUR PASSWORD>
# Cli
go run main.go
# Start HTTP Server to receive webhooks
go run main.go -serve-http true (Configure url on github)
- Domain Name Mapping in Caddy Configuration (priority 3).
- Optimize deployment for varying deployment type (SPA AND API) (priority 1).
- Auto-Scale Based on metrics from prometheus (would be a background worker) (priority 5).
- PR Preview Link (priority 5).
If you would like to make any updates/improvements to the application, it is greatly appreciated and welcome. Here's how you can contribute:
- Fork the repository and create a new branch for your changes.
- Work on the task(s) you'd like to help with.
- Once you're done, submit a pull request with your changes.
- Feel free to reach out to us if you have any questions or need further clarification.
Thank you for your support and contributions!