This is a templated based on Echo Server and Bat Cave that contains the basic setup of a rust HTTP Server with telemetry and a postgres database.
There is also a basic terraform config included to be built upon.
This project also includes the standard CI/CD:
- Release
- Rust CI
- Terraform CI
- CD
- Intake
- Mocha (NodeJS) based integration tests
- Build:
cargo build - Test:
cargo test - Run:
docker-compose-up - Integration test:
yarn install(once) and thenyarn integration:local(dev/staging/prod)
Any reference to rust-http-starter should be changed to your project name as well as all the below list:
-
README.mdReplace this file with a Readme for your project -
Cargo.tomlChange package name and authors, then build the project to re-gen theCargo.lock -
/terraform/main.tfChangeapp_nameto the repo's name -
/terraform/main.tfSetup a new hosted zone in the infra repository -
/terraform/variables.tfChange the default value ofpublic_url -
/terraform/backend.tfChange thekeyfor thes3backend to your project's name -
/.github/workflows/cd.ymlEnsure any URLs for health checks and environments match the terraform files -
/.github/workflows/intake.ymlThis is specific to WalletConnect, feel free to remove or modify for your own needs -
/.github/ISSUE_TEMPLATE/feature_request.ymlChange any references to Rust HTTP Starter\ -
/.github/workflows/release.ymlOn line 95-97 there are references to the registry name on ECR/GHCR ensure you change this -
/.github/integration/integration.tests.tsUpdate the URLs -
/Dockerfile-devUpdate the workdir -
/docker-compose.ymlUpdate references to rust-http-starter
-
/.github/workflows/**/*.ymlChange theruns-onto theubuntu-runnersgroup
Required GitHub secrets for Actions to run successfully
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYPATPersonal Access Token for Github to commit releases
ASSIGN_TO_PROJECT_GITHUB_TOKEN