https://github.com/gopad/gopad-infra
Infra for the Gopad project
https://github.com/gopad/gopad-infra
etherpad gopad infra infrastructure provisioning terraform
Last synced: about 1 year ago
JSON representation
Infra for the Gopad project
- Host: GitHub
- URL: https://github.com/gopad/gopad-infra
- Owner: gopad
- License: apache-2.0
- Created: 2018-07-13T11:05:29.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-04-07T08:32:23.000Z (about 1 year ago)
- Last Synced: 2025-04-07T09:33:28.592Z (about 1 year ago)
- Topics: etherpad, gopad, infra, infrastructure, provisioning, terraform
- Language: HTML
- Homepage: https://gopad.eu
- Size: 560 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Gopad: Infra
[](https://github.com/gopad/gopad-infra/actions/workflows/general.yml) [](https://matrix.to/#/#gopad:matrix.org) [](https://app.codacy.com/gh/gopad/gopad-infra/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
This repository defines the infrastructure used by this project, including setup
of subdomains and object storage buckets and what else is needed.
## Usage
We are using [Terraform][terraform] to provision all related parts. Every change
have to be submitted via pull requests, after merging the pull request the
changes are getting applied automatically by our CI system. It is possible to
execute everything from a workstation, but it's encouraged to keep it in the
hands of our CI system.
### Variables
To get access to the secrets you got to install the 1Password CLI and export the
environment variable `OP_SERVICE_ACCOUNT_TOKEN` which you can find in our shared
store, after that you can simply execute the commands below.
```console
cat << EOF >| .envrc
use flake . --impure
export CLOUDFLARE_EMAIL=$(op read op://Gopad/Cloudflare/username)
export CLOUDFLARE_API_KEY=$(op read op://Gopad/Cloudflare/token)
export AWS_ACCESS_KEY_ID=$(op read op://Gopad/Terraform/username)
export AWS_SECRET_ACCESS_KEY=$(op read op://Gopad/Terraform/password)
EOF
direnv allow
```
### Deployment
```console
bin/terraform init
bin/terraform plan
bin/terraform apply
```
## Security
If you find a security issue please contact
[gopad@webhippie.de](mailto:gopad@webhippie.de) first.
## Contributing
Fork -> Patch -> Push -> Pull Request
## Authors
- [Thomas Boerger](https://github.com/tboerger)
## License
Apache-2.0
## Copyright
```console
Copyright (c) 2018 Thomas Boerger
```
[terraform]: https://www.terraform.io/