Commit Graph

315 Commits

Author SHA1 Message Date
3wc d6f2f6d0bf Merge branch 'master' into yolocolo 2021-07-29 09:47:31 +02:00
3wordchant 72c04d8495 Docker image, & local development docker-compose.yml (#2)
continuous-integration/drone/push Build is passing Details
Adds:
- a Docker image, which can be used in both development and production
- a `docker-compose.yml` file for local development (could probably be adapted for production deployments)

Testing:
- `git checkout docker`
- `docker-compose up`
- pray 🙏
- go to http://localhost:5000

## App architecture

I added the ability to load secret config variables (`HUB_TOKEN`, `STRIPE_SECRET_KEY` etc) from files, to support [Docker Secrets](https://docs.docker.com/engine/swarm/secrets/) natively. The code should probably log an error if a specified `HUB_TOKEN_FILE` doesn't exist instead of failing silently..

## Docker architecture

This uses a multi-stage build to reduce the size of the final image -- having pipenv install to a predefined virtualenv, and then copying that over.

The compose file doesn't include a definition for a cron runner service, and I haven't tested running one yet. Here be dragons!

You can rebuild the image locally using `docker-compose build`, but this isn't required for changes to the app code, only if you edit the `Dockerfile`, or want to publish your image for use on a swarm server (in which case you will need to edit the image name to put in your own Docker hub credentials).

Currently, the image is rebuilt (should set up auto-tagging..) and published with every push to this 3wordchant/capsul-flask fork.

Reviewed-on: #2
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-22 01:18:10 +02:00
3wordchant 5bb76173dd Add custom themes, THEME setting, basic "yolocolo" theme (#7)
Specify `THEME=yourtheme`, add some HTML files in `capsulflask/theme/yourtheme` 👌

We probably want to reduce copypasta in the current `yolocolo` theme by using template inheritance, at some point.

Reviewed-on: #7
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-22 01:15:39 +02:00
3wc cfb323bf60 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-22 01:03:02 +02:00
3wc fb83f52162 Merge branch 'master' into yolocolo 2021-07-22 00:57:01 +02:00
forest 50ee1144f9 Merge remote-tracking branch 'threewordchant/master' 2021-07-21 16:46:50 -05:00
forest 08eb38dc57 correctly enforce affordable_vm_sizes post form submission 2021-07-21 16:45:53 -05:00
3wc 487a1ac0a3 Revert accidental change to main images 2021-07-21 23:30:14 +02:00
3wordchant f999adaf71 Add VMs to the database even with HUB_MODE=mock (#6)
https://todo.cyberia.club/~cyberia/services/83

Co-authored-by: 3wc <3wc.cyberia@doesthisthing.work>
Co-authored-by: forest <forest.n.johnson@gmail.com>
Reviewed-on: #6
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-21 23:26:10 +02:00
3wc 71344fbf4d Merge branch 'yc-templates' into yolocolo 2021-07-21 22:49:17 +02:00
3wc 6f3ecf991d Custom theme fixes 2021-07-21 22:48:54 +02:00
3wc 40aa3bccd3 Load YOLOCOLO templates from a "theme" folder..
..configurable using the THEME env var.

Defaults to normal Capsul theme.
2021-07-21 22:24:25 +02:00
3wc bcc3f20b27 Tweak table style 2021-07-21 22:12:13 +02:00
3wc 8bd3971545 Improve form styling 2021-07-21 22:12:13 +02:00
3wc c639899cd0 Remove cash payment option 2021-07-21 22:12:13 +02:00
3wc a47c430855 Further colour tweak 2021-07-21 22:12:13 +02:00
3wc d5362897df Fix typo, tweak colours 2021-07-21 22:12:13 +02:00
3wc a52d183f2e More cheeky template changes 2021-07-21 22:12:13 +02:00
3wc 73042d1705 Disco updates for YOLOCOLO site 2021-07-21 22:12:13 +02:00
3wc 8f2becb9ee Fix SyntaxWarning on `is not ""`
`capsulflask/__init__.py:143: SyntaxWarning: "is not" with a literal. Did you mean "!="?`
2021-07-21 21:51:50 +02:00
3wc 8586b85095 Merge branch 'master' into yolocolo
continuous-integration/drone/push Build is failing Details
2021-07-21 20:38:36 +02:00
3wordchant f848eda931 Merge pull request 'Disable BTCPay in the interface, if BTCPAY_PRIVATE_KEY is un-set' (#3) from optional-btcpay into master
Reviewed-on: #3
2021-07-21 20:20:40 +02:00
3wordchant 46f49e8d8f Merge pull request 'Auto-generate the pricing table from the database' (#4) from generated-prices into master
Reviewed-on: #4
2021-07-21 19:32:09 +02:00
forest 36329796f0 define BTCPAY_ENABLED based on URL and btcpay key, pass it explicitly 2021-07-21 12:12:41 -05:00
forest 28271ee852 remove class="small" from pricing table cuz normal size fits fine 2021-07-21 11:53:44 -05:00
3wc 7923f3a99f Auto-generate the pricing table from the database 2021-07-21 12:19:28 +02:00
3wc b2b78e0015 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-21 11:43:17 +02:00
3wc d6f4be8197 Improve form styling 2021-07-21 11:43:04 +02:00
3wc 157e81e6e5 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-21 02:02:58 +02:00
3wc 97f9486ea3 Remove cash payment option 2021-07-21 02:02:21 +02:00
3wc 4b90a6c7ae Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-21 01:56:45 +02:00
3wc adc3342a8c Further colour tweak 2021-07-21 01:56:36 +02:00
3wc f8bbdcc3c5 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build was killed Details
2021-07-21 01:54:35 +02:00
3wc 1133caa8a4 Fix typo, tweak colours 2021-07-21 01:54:21 +02:00
3wc 1f384f34b5 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build was killed Details
2021-07-21 01:44:52 +02:00
3wc c25d85bbdd More cheeky template changes 2021-07-21 01:44:45 +02:00
3wc 0f4ac8e444 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-21 01:15:51 +02:00
3wc 3cf501a393 Disco updates for YOLOCOLO site 2021-07-21 01:13:52 +02:00
3wc 180efa01af Merge branch 'optional-btcpay' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-21 00:30:34 +02:00
3wc 7ed847251f Don't load /btcpay if BTCPAY_PRIVATE_KEY un-set 2021-07-21 00:22:58 +02:00
3wc e3a4776a5d Hide the BTCPay link if BTCPAY_PRIVATE_KEY un-set 2021-07-21 00:20:38 +02:00
3wc 357d99cb91 Add load_config_vars context processor..
..to allow accessing config variables in the templates.

This removes the need for adding config variables manually to template
contexts.
2021-07-21 00:19:38 +02:00
3wc f5c079ffc2 Un-hard-code SSH key name
continuous-integration/drone/push Build is passing Details
2021-07-20 23:55:03 +02:00
3wc 0e5dfe6bde Last re-hard-coding for "working" joy 2021-07-20 23:55:03 +02:00
3wc 2adbb8d94c Further filthy fix for local libvirt 2021-07-20 23:55:03 +02:00
3wc 8446d11720 Revert hardcoded local path to tank dir 2021-07-20 23:55:03 +02:00
3wc a580b04659 Bag of hacks to get local libvirt working 2021-07-20 23:55:03 +02:00
3wc 2e6894ad14 Changes from @decentral1se code review
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is passing Details
2021-07-20 23:48:23 +02:00
forest b8279d7491 add about ssh link to faq 2021-07-19 18:09:02 -05:00
3wc be6c1b38b7 STRIPE_SECRET_KEY not STRIPE_PUBLISHABLE_KEY
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2021-07-19 01:17:18 +02:00