mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Restructure backend into microservices, add envelope encryption, DM files, and message editing
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
-- PostgreSQL initialization script for FromChat compliance architecture
|
||||
-- Creates separate databases and users for each service with minimal required permissions
|
||||
|
||||
-- Create users with passwords from environment variables
|
||||
-- Variables are substituted by envsubst before PostgreSQL runs this script
|
||||
CREATE USER main_user WITH PASSWORD '${MAIN_DB_PASSWORD}';
|
||||
CREATE USER messaging_user WITH PASSWORD '${MESSAGING_DB_PASSWORD}';
|
||||
CREATE USER file_storage_user WITH PASSWORD '${FILE_STORAGE_DB_PASSWORD}';
|
||||
|
||||
-- Create databases for each service
|
||||
CREATE DATABASE fromchat_main OWNER main_user;
|
||||
CREATE DATABASE fromchat_messaging OWNER messaging_user;
|
||||
CREATE DATABASE fromchat_files OWNER file_storage_user;
|
||||
|
||||
-- Connect to main database and set up
|
||||
\c fromchat_main
|
||||
CREATE SCHEMA IF NOT EXISTS fromchat_main AUTHORIZATION main_user;
|
||||
GRANT ALL PRIVILEGES ON DATABASE fromchat_main TO main_user;
|
||||
GRANT ALL PRIVILEGES ON SCHEMA fromchat_main TO main_user;
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA fromchat_main TO main_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_main GRANT ALL ON TABLES TO main_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_main GRANT ALL ON SEQUENCES TO main_user;
|
||||
|
||||
-- Connect to messaging database and set up
|
||||
\c fromchat_messaging
|
||||
CREATE SCHEMA IF NOT EXISTS fromchat_messaging AUTHORIZATION messaging_user;
|
||||
GRANT ALL PRIVILEGES ON DATABASE fromchat_messaging TO messaging_user;
|
||||
GRANT USAGE ON SCHEMA fromchat_messaging TO messaging_user;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA fromchat_messaging TO messaging_user;
|
||||
GRANT USAGE ON ALL SEQUENCES IN SCHEMA fromchat_messaging TO messaging_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_messaging GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO messaging_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_messaging GRANT USAGE ON SEQUENCES TO messaging_user;
|
||||
|
||||
-- Connect to files database and set up
|
||||
\c fromchat_files
|
||||
CREATE SCHEMA IF NOT EXISTS fromchat_files AUTHORIZATION file_storage_user;
|
||||
GRANT ALL PRIVILEGES ON DATABASE fromchat_files TO file_storage_user;
|
||||
GRANT USAGE ON SCHEMA fromchat_files TO file_storage_user;
|
||||
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA fromchat_files TO file_storage_user;
|
||||
GRANT USAGE ON ALL SEQUENCES IN SCHEMA fromchat_files TO file_storage_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_files GRANT SELECT, INSERT, UPDATE ON TABLES TO file_storage_user;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA fromchat_files GRANT USAGE ON SEQUENCES TO file_storage_user;
|
||||
Reference in New Issue
Block a user