Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@ jobs:
run: |
sudo mkdir -p /run/secrets
for role in grafana postgraphile reccoom vibetype zammad; do
echo "$role" | sudo tee "/run/secrets/postgres_role_service_${role}_username" > /dev/null
echo "placeholder" | sudo tee "/run/secrets/postgres_role_service_${role}_password" > /dev/null
echo "$role" | sudo tee "/run/secrets/postgres-role-service-${role}-username" > /dev/null
echo "placeholder" | sudo tee "/run/secrets/postgres-role-service-${role}-password" > /dev/null
done

- name: Install Sqitch
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y jq=1.7.1-3ubuntu0.24.04.1 sqitch=1.4.1-1
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y jq=1.7.1-3ubuntu0.24.04.2 sqitch=1.4.1-1

- name: Deploy base migrations
run: sqitch --chdir base/src deploy --target db:pg://ci:postgres@localhost/ci_database
Expand Down
24 changes: 12 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ COPY ./src ./
FROM postgis/postgis:18-3.6 AS postgres-base

ENV POSTGRES_DB=ci_database
ENV POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
ENV POSTGRES_PASSWORD_FILE=/run/secrets/postgres-password
ENV POSTGRES_USER=ci

WORKDIR /srv/app
Expand All @@ -37,18 +37,18 @@ RUN apt-get update \
jq \
sqitch=1.5.2-1 \
&& mkdir -p /run/secrets \
&& echo "grafana" > /run/secrets/postgres_role_service_grafana_username \
&& echo "postgres" > /run/secrets/postgres_password \
&& echo "postgraphile" > /run/secrets/postgres_role_service_postgraphile_username \
&& echo "reccoom" > /run/secrets/postgres_role_service_reccoom_username \
&& echo "vibetype" > /run/secrets/postgres_role_service_vibetype_username \
&& echo "zammad" > /run/secrets/postgres_role_service_zammad_username \
&& echo "grafana" > /run/secrets/postgres-role-service-grafana-username \
&& echo "postgres" > /run/secrets/postgres-password \
&& echo "postgraphile" > /run/secrets/postgres-role-service-postgraphile-username \
&& echo "reccoom" > /run/secrets/postgres-role-service-reccoom-username \
&& echo "vibetype" > /run/secrets/postgres-role-service-vibetype-username \
&& echo "zammad" > /run/secrets/postgres-role-service-zammad-username \
&& echo "placeholder" | tee \
/run/secrets/postgres_role_service_grafana_password \
/run/secrets/postgres_role_service_postgraphile_password \
/run/secrets/postgres_role_service_reccoom_password \
/run/secrets/postgres_role_service_vibetype_password \
/run/secrets/postgres_role_service_zammad_password \
/run/secrets/postgres-role-service-grafana-password \
/run/secrets/postgres-role-service-postgraphile-password \
/run/secrets/postgres-role-service-reccoom-password \
/run/secrets/postgres-role-service-vibetype-password \
/run/secrets/postgres-role-service-zammad-password \
/dev/null

COPY ./src ./src
Expand Down
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.PHONY: init

init:
@if [ -d node_modules ]; then echo "Already initialized."; else pnpm install; fi
2 changes: 1 addition & 1 deletion docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
set -e

SQITCH_TARGET="$(cat /run/secrets/sqitch_target)"
SQITCH_TARGET="$(cat /run/secrets/sqitch-target)"
export SQITCH_TARGET

exec /bin/sh -c "$*"
2 changes: 1 addition & 1 deletion src/deploy/database_grafana.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`

SELECT 'CREATE DATABASE grafana OWNER "' || :'role_service_grafana_username' || '";'
WHERE NOT EXISTS (
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/database_zammad.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\set role_service_zammad_username `cat /run/secrets/postgres_role_service_zammad_username`
\set role_service_zammad_username `cat /run/secrets/postgres-role-service-zammad-username`

SELECT 'CREATE DATABASE zammad OWNER "' || :'role_service_zammad_username' || '";'
WHERE NOT EXISTS (
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/function_invoker_account_id.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

CREATE FUNCTION vibetype.invoker_account_id() RETURNS uuid
LANGUAGE sql STABLE STRICT
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/role_account.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_postgraphile_username `cat /run/secrets/postgres_role_service_postgraphile_username`
\set role_service_postgraphile_username `cat /run/secrets/postgres-role-service-postgraphile-username`

DROP ROLE IF EXISTS vibetype_account;
CREATE ROLE vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/role_anonymous.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_postgraphile_username `cat /run/secrets/postgres_role_service_postgraphile_username`
\set role_service_postgraphile_username `cat /run/secrets/postgres-role-service-postgraphile-username`

DROP ROLE IF EXISTS vibetype_anonymous;
CREATE ROLE vibetype_anonymous;
Expand Down
4 changes: 2 additions & 2 deletions src/deploy/role_grafana.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BEGIN;

\set role_service_grafana_password `cat /run/secrets/postgres_role_service_grafana_password`
\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_password `cat /run/secrets/postgres-role-service-grafana-password`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`

DROP ROLE IF EXISTS :role_service_grafana_username;
CREATE ROLE :role_service_grafana_username LOGIN PASSWORD :'role_service_grafana_password';
Expand Down
4 changes: 2 additions & 2 deletions src/deploy/role_postgraphile.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BEGIN;

\set role_service_postgraphile_password `cat /run/secrets/postgres_role_service_postgraphile_password`
\set role_service_postgraphile_username `cat /run/secrets/postgres_role_service_postgraphile_username`
\set role_service_postgraphile_password `cat /run/secrets/postgres-role-service-postgraphile-password`
\set role_service_postgraphile_username `cat /run/secrets/postgres-role-service-postgraphile-username`

DROP ROLE IF EXISTS :role_service_postgraphile_username;
CREATE ROLE :role_service_postgraphile_username LOGIN PASSWORD :'role_service_postgraphile_password';
Expand Down
4 changes: 2 additions & 2 deletions src/deploy/role_reccoom.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BEGIN;

\set role_service_reccoom_password `cat /run/secrets/postgres_role_service_reccoom_password`
\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_password `cat /run/secrets/postgres-role-service-reccoom-password`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

DROP ROLE IF EXISTS :role_service_reccoom_username;
CREATE ROLE :role_service_reccoom_username LOGIN PASSWORD :'role_service_reccoom_password' BYPASSRLS;
Expand Down
6 changes: 3 additions & 3 deletions src/deploy/role_vibetype.sql
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
BEGIN;

\set role_service_vibetype_password `cat /run/secrets/postgres_role_service_vibetype_password`
\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_postgraphile_username `cat /run/secrets/postgres_role_service_postgraphile_username`
\set role_service_vibetype_password `cat /run/secrets/postgres-role-service-vibetype-password`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`
\set role_service_postgraphile_username `cat /run/secrets/postgres-role-service-postgraphile-username`

DROP ROLE IF EXISTS :role_service_vibetype_username;
CREATE ROLE :role_service_vibetype_username LOGIN PASSWORD :'role_service_vibetype_password';
Expand Down
4 changes: 2 additions & 2 deletions src/deploy/role_zammad.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BEGIN;

\set role_service_zammad_password `cat /run/secrets/postgres_role_service_zammad_password`
\set role_service_zammad_username `cat /run/secrets/postgres_role_service_zammad_username`
\set role_service_zammad_password `cat /run/secrets/postgres-role-service-zammad-password`
\set role_service_zammad_username `cat /run/secrets/postgres-role-service-zammad-username`

DROP ROLE IF EXISTS :role_service_zammad_username;
CREATE ROLE :role_service_zammad_username LOGIN PASSWORD :'role_service_zammad_password';
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/schema_private.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`

CREATE SCHEMA vibetype_private;

Expand Down
4 changes: 2 additions & 2 deletions src/deploy/schema_public.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
BEGIN;

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

CREATE SCHEMA vibetype;

Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_account_block.sql
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ COMMENT ON COLUMN vibetype.account_block.blocked_account_id IS 'The account id o
COMMENT ON COLUMN vibetype.account_block.created_at IS E'@behavior -insert\nTimestamp of when the account block was created.';
COMMENT ON COLUMN vibetype.account_block.created_by IS 'The account id of the user who created the account block.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT INSERT, SELECT, DELETE ON TABLE vibetype.account_block TO vibetype_account;
GRANT SELECT ON TABLE vibetype.account_block TO vibetype_anonymous;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_account_private.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`

CREATE TABLE vibetype_private.account (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_achievement_code.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

CREATE TABLE vibetype_private.achievement_code (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_device.sql
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ CREATE TRIGGER update_fcm
FOR EACH ROW
EXECUTE FUNCTION vibetype.trigger_device_update_fcm_token();

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

GRANT INSERT, SELECT, UPDATE, DELETE ON TABLE vibetype.device TO vibetype_account;
GRANT SELECT ON TABLE vibetype.device TO :role_service_vibetype_username;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_event_category.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ COMMENT ON TABLE vibetype.event_category IS E'@behavior -insert -update -delete\
COMMENT ON COLUMN vibetype.event_category.id IS 'The id of the event category.';
COMMENT ON COLUMN vibetype.event_category.name IS 'A category name.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT ON TABLE vibetype.event_category TO vibetype_anonymous;
GRANT SELECT ON TABLE vibetype.event_category TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_event_category_mapping.sql
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ COMMENT ON TABLE vibetype.event_category_mapping IS 'Mapping events to categorie
COMMENT ON COLUMN vibetype.event_category_mapping.event_id IS 'An event id.';
COMMENT ON COLUMN vibetype.event_category_mapping.category_id IS 'A category id.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT ON TABLE vibetype.event_category_mapping TO vibetype_anonymous;
GRANT SELECT, INSERT, DELETE ON TABLE vibetype.event_category_mapping TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_event_format.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ COMMENT ON TABLE vibetype.event_format IS E'@behavior -insert -update -delete\nE
COMMENT ON COLUMN vibetype.event_format.id IS 'The id of the event format.';
COMMENT ON COLUMN vibetype.event_format.name IS 'The name of the event format.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT ON TABLE vibetype.event_format TO vibetype_anonymous;
GRANT SELECT ON TABLE vibetype.event_format TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_event_format_mapping.sql
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ COMMENT ON TABLE vibetype.event_format_mapping IS 'Mapping events to formats (M:
COMMENT ON COLUMN vibetype.event_format_mapping.event_id IS 'An event id.';
COMMENT ON COLUMN vibetype.event_format_mapping.format_id IS 'A format id.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT ON TABLE vibetype.event_format_mapping TO vibetype_anonymous;
GRANT SELECT, INSERT, DELETE ON TABLE vibetype.event_format_mapping TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_event_policy.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT ON TABLE vibetype.event TO vibetype_anonymous;
GRANT INSERT, SELECT, UPDATE, DELETE ON TABLE vibetype.event TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_notification.sql
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ COMMENT ON COLUMN vibetype_private.notification.is_acknowledged IS 'Whether the
COMMENT ON COLUMN vibetype_private.notification.payload IS 'The notification''s payload.';
COMMENT ON COLUMN vibetype_private.notification.created_at IS 'The timestamp of the notification''s creation.';

\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`
GRANT SELECT ON TABLE vibetype_private.notification TO :role_service_grafana_username;

COMMIT;
2 changes: 1 addition & 1 deletion src/deploy/table_preference_event_category.sql
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ COMMENT ON TABLE vibetype.preference_event_category IS 'Event categories a user
COMMENT ON COLUMN vibetype.preference_event_category.account_id IS 'A user account id.';
COMMENT ON COLUMN vibetype.preference_event_category.category_id IS 'An event category id.';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT, INSERT, DELETE ON TABLE vibetype.preference_event_category TO vibetype_account;
GRANT SELECT ON TABLE vibetype.preference_event_category TO :role_service_reccoom_username;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_preference_event_format.sql
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ COMMENT ON COLUMN vibetype.preference_event_format.account_id IS 'A user account
COMMENT ON COLUMN vibetype.preference_event_format.format_id IS 'The id of an event format.';
COMMENT ON COLUMN vibetype.preference_event_format.created_at IS 'The timestammp when the record was created..';

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

GRANT SELECT, INSERT, DELETE ON TABLE vibetype.preference_event_format TO vibetype_account;
GRANT SELECT ON TABLE vibetype.preference_event_format TO :role_service_reccoom_username;
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_profile_picture.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

CREATE TABLE vibetype.profile_picture (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/table_upload_policy.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

GRANT SELECT ON TABLE vibetype.upload TO vibetype_anonymous;
GRANT INSERT, SELECT, UPDATE, DELETE ON TABLE vibetype.upload TO vibetype_account;
Expand Down
2 changes: 1 addition & 1 deletion src/revert/role_grafana.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_grafana_username `cat /run/secrets/postgres_role_service_grafana_username`
\set role_service_grafana_username `cat /run/secrets/postgres-role-service-grafana-username`

DROP ROLE :role_service_grafana_username;

Expand Down
2 changes: 1 addition & 1 deletion src/revert/role_postgraphile.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_postgraphile_username `cat /run/secrets/postgres_role_service_postgraphile_username`
\set role_service_postgraphile_username `cat /run/secrets/postgres-role-service-postgraphile-username`

DROP ROLE :role_service_postgraphile_username;

Expand Down
2 changes: 1 addition & 1 deletion src/revert/role_reccoom.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

DROP ROLE :role_service_reccoom_username;

Expand Down
2 changes: 1 addition & 1 deletion src/revert/role_vibetype.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_vibetype_username `cat /run/secrets/postgres_role_service_vibetype_username`
\set role_service_vibetype_username `cat /run/secrets/postgres-role-service-vibetype-username`

DROP ROLE :role_service_vibetype_username;

Expand Down
2 changes: 1 addition & 1 deletion src/revert/role_zammad.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_zammad_username `cat /run/secrets/postgres_role_service_zammad_username`
\set role_service_zammad_username `cat /run/secrets/postgres-role-service-zammad-username`

DROP ROLE :role_service_zammad_username;

Expand Down
2 changes: 1 addition & 1 deletion src/revert/table_event_policy.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BEGIN;

\set role_service_reccoom_username `cat /run/secrets/postgres_role_service_reccoom_username`
\set role_service_reccoom_username `cat /run/secrets/postgres-role-service-reccoom-username`

DROP POLICY event_select ON vibetype.event;
DROP FUNCTION vibetype_private.events_with_claimed_attendance();
Expand Down
Loading
Loading