WIP 4
This commit is contained in:
parent
f62c9f064d
commit
b8c6e893ff
43 changed files with 4721 additions and 1807 deletions
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "Creating the Metamigo database and the roles"
|
||||
# We're using 'template1' because we know it should exist. We should not actually change this database.
|
||||
psql -Xv ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname template1 <<EOF
|
||||
CREATE ROLE ${DATABASE_OWNER} WITH LOGIN PASSWORD '${DATABASE_PASSWORD}';
|
||||
GRANT ${DATABASE_OWNER} TO ${DATABASE_ROOT_OWNER};
|
||||
CREATE ROLE ${DATABASE_AUTHENTICATOR} WITH LOGIN PASSWORD '${DATABASE_AUTHENTICATOR_PASSWORD}' NOINHERIT;
|
||||
CREATE ROLE ${DATABASE_VISITOR};
|
||||
GRANT ${DATABASE_VISITOR} TO ${DATABASE_AUTHENTICATOR};
|
||||
-- Database permissions
|
||||
REVOKE ALL ON DATABASE ${DATABASE_NAME} FROM PUBLIC;
|
||||
GRANT ALL ON DATABASE ${DATABASE_NAME} TO ${DATABASE_OWNER};
|
||||
GRANT CONNECT ON DATABASE ${DATABASE_NAME} TO ${DATABASE_AUTHENTICATOR};
|
||||
EOF
|
||||
|
||||
echo "Installing extensions into the database"
|
||||
psql -Xv ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$DATABASE_NAME" <<EOF
|
||||
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
|
||||
CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA public;
|
||||
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
|
||||
CREATE EXTENSION IF NOT EXISTS tablefunc WITH SCHEMA public;
|
||||
EOF
|
||||
|
||||
echo "Creating roles in the database"
|
||||
psql -Xv ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$DATABASE_NAME" <<EOF
|
||||
CREATE ROLE app_anonymous;
|
||||
CREATE ROLE app_user WITH IN ROLE app_anonymous;
|
||||
CREATE ROLE app_admin WITH IN ROLE app_user;
|
||||
GRANT app_anonymous TO ${DATABASE_AUTHENTICATOR};
|
||||
GRANT app_admin TO ${DATABASE_AUTHENTICATOR};
|
||||
EOF
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
echo "Creating Metamigo admin user"
|
||||
psql -Xv ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$DATABASE_NAME" <<EOF
|
||||
INSERT INTO app_public.users(email, name, user_role, is_active, created_by)
|
||||
VALUES('$GITLAB_EMAIL_ADDRESS', 'Admin', 'admin'::app_public.role_type, true, '')
|
||||
on conflict (email) do update set user_role = 'admin'::app_public.role_type, is_active = true;
|
||||
EOF
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
const { spawn } = require("child_process");
|
||||
|
||||
const app = process.argv[2];
|
||||
const command = process.argv[3];
|
||||
|
||||
const files = {
|
||||
all: ["zammad", "postgresql", "metamigo", "opensearch", "leafcutter", "link"],
|
||||
linkDev: ["zammad", "postgresql", "opensearch"],
|
||||
link: ["zammad", "postgresql", "opensearch", "link"],
|
||||
leafcutterDev: ["opensearch"],
|
||||
leafcutter: ["opensearch", "leafcutter"],
|
||||
opensearch: ["opensearch"],
|
||||
metamigoDev: ["zammad", "postgresql"],
|
||||
metamigo: ["zammad", "postgresql", "metamigo"],
|
||||
zammad: ["zammad", "postgresql", "opensearch"],
|
||||
};
|
||||
|
||||
const finalFiles = files[app]
|
||||
.map((file) => ['-f', `docker/compose/${file}.yml`]).flat();
|
||||
const finalCommand = command === "up" ? ["up", "-d"] : [command];
|
||||
|
||||
const dockerCompose = spawn('docker', ['compose', '--env-file', '.env', ...finalFiles, ...finalCommand]);
|
||||
|
||||
dockerCompose.stdout.on('data', (data) => {
|
||||
console.log(`stdout: ${data}`);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue