about summary refs log tree commit diff
path: root/users/grfn/bbbg/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'users/grfn/bbbg/README.md')
-rw-r--r--users/grfn/bbbg/README.md129
1 files changed, 0 insertions, 129 deletions
diff --git a/users/grfn/bbbg/README.md b/users/grfn/bbbg/README.md
deleted file mode 100644
index a7181333b96f..000000000000
--- a/users/grfn/bbbg/README.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# Brooklyn-Based Board Gaming signup sheet
-
-This directory contains a small web application that acts as a signup
-sheet and attendee tracking system for [my local board gaming
-meetup](https://www.meetup.com/brooklyn-based-board-gaming/).
-
-## Development
-
-### Installing dependencies
-
-#### With Nix + Docker ("blessed way")
-
-Prerequisites:
-
--   [Nix](https://nixos.org/)
--   [lorri](https://github.com/nix-community/lorri)
--   [Docker](https://www.docker.com/)
-
-From this directory in a full checkout of depot, run the following
-commands to install all development dependencies:
-
-``` shell-session
-$ pwd
-/path/to/depot/users/grfn/bbbg
-$ direnv allow
-$ lorri watch --once # Wait for a single nix shell build
-```
-
-Then, to run a docker container with the development database:
-
-``` shell-session
-$ pwd
-/path/to/depot/users/grfn/bbbg
-$ arion up -d
-```
-
-#### Choose-your-own-adventure
-
-Note that the **authoritative** source for dev dependencies is the `shell.nix`
-file in this directory - those may diverge from what's written here; if so
-follow those versions rather than these.
-
--   Install the [clojure command-line
-    tools](https://clojure.org/guides/getting_started), with openjdk 11
--   Install and run a postgresql 12 database, with:
-    -   A user with superuser priveleges, the username `bbbg` and the
-        password `password`
-    -   A database called `bbbg` owned by that user.
--   Export the following environment variables in a context visible by
-    whatever method you use to run the application:
-    -   `PGHOST=localhost`
-    -   `PGUSER=bbbg`
-    -   `PGDATABASE=bbbg`
-    -   `PGPASSWORD=bbbg`
-
-### Running the application
-
-Before running the app, you'll need an oauth2 client-id and client secret for a
-Discord app. The application can either load those from a
-[pass](https://www.passwordstore.org/) password store, or read them from
-plaintext files in a directory. In either case, they should be accessible at the
-paths `bbbg/discord-client-id` and `bbbg/discord-client-secret` respectively.
-
-#### From the command line
-
-``` shell-session
-$ clj -A:dev
-Clojure 1.11.0-alpha3
-user=> (require 'bbbg.core)
-nil
-user=> ;; Optionally, if you're using a directory with plaintext files for the discord client ID and client secret:
-user=> (bbbg.util.dev-secrets/set-backend! [:dir "/path/to/that/directory"])
-user=> (bbbg.core/run-dev)
-##<SystemMap>
-user=> (bbbg.db/migrate! (:db bbbg.core/system))
-11:57:26.536 [main] INFO  migratus.core - Starting migrations {  }
-11:57:26.538 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... {  }
-11:57:26.883 [main] INFO  com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.impossibl.postgres.jdbc.PGDirectConnection@3cae770e {  }
-11:57:26.884 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. {  }
-11:57:26.923 [main] INFO  migratus.core - Ending migrations {  }
-nil
-```
-
-This will run a web server for the application listening at
-<http://localhost:8888>
-
-#### In Emacs, with [CIDER](https://docs.cider.mx/cider/index.html) + [direnv](https://github.com/wbolster/emacs-direnv)
-
-Open `//users/grfn/bbbg/src/bbbg/core.clj` in a buffer, then follow the
-instructions at the end of the file
-
-## Deployment
-
-### With nix+terraform
-
-Deployment configuration is located in the `tf.nix` file, which is
-currently tightly coupled to my own infrastructure and AWS account but
-could hypothetically be adjusted to be general-purpose.
-
-To deploy a new version of the application, after following "installing
-dependencies" above, run the following command in a context with ec2
-credentials available:
-
-``` shell-session
-$ terraform apply
-```
-
-The current deploy configuration includes:
-
--   An ec2 instance running nixos, with a postgresql database and the
-    bbbg application running as a service, behind nginx with an
-    auto-renewing letsencrypt cert
--   The DNS A record for `bbbg.gws.fyi` pointing at that ec2 instance,
-    in the cloudflare zone for `gws.fyi`
-
-### Otherwise
-
-¯\\\_(ツ)_/¯
-
-You'll need:
-
--   An uberjar for bbbg; the canonical way of building that is `nix-build
-    /path/to/depot -A users.grfn.bbbg.server-jar` but I\'m not sure how that
-    works outside of nix
--   A postgresql database
--   Environment variables telling the app how to connect to that
-    database. See `config.systemd.services.bbbg-server.environment` in
-    `module.nix` for which env vars are currently being exported by the
-    NixOS module that runs the production version of the app