From 09930fe64f3d60f359fdd0947b12bcd7de3830a4 Mon Sep 17 00:00:00 2001 From: thelanc3 Date: Tue, 28 Apr 2026 16:52:18 +0300 Subject: [PATCH] Inited projects --- .env.example | 0 .gitignore | 2 ++ docker-compose.yml | 34 ++++++++++++++++++++++++++++++++++ nats.example.conf | 32 ++++++++++++++++++++++++++++++++ src/api/Dockerfile | 0 src/api/go.mod | 3 +++ src/api/main.go | 1 + src/storage/Dockerfile | 0 src/storage/go.mod | 3 +++ src/vault/Dockerfile | 0 src/vault/go.mod | 3 +++ src/web/Dockerfile | 0 12 files changed, 78 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 docker-compose.yml create mode 100644 nats.example.conf create mode 100644 src/api/Dockerfile create mode 100644 src/api/go.mod create mode 100644 src/api/main.go create mode 100644 src/storage/Dockerfile create mode 100644 src/storage/go.mod create mode 100644 src/vault/Dockerfile create mode 100644 src/vault/go.mod create mode 100644 src/web/Dockerfile diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e69de29 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a27dbd --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +nats.conf \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9db1590 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3.8' +services: + nats: + image: nats:latest + container_name: nats-server + ports: + - "4222:4222" + - "8222:8222" + volumes: + - ./nats.conf:/etc/nats/nats.conf + command: "-c /etc/nats/nats.conf" + + api: + build: ./src/api + depends_on: + - nats + environment: + NATS_URL: "nats://api_service:password@nats:4222" + + storage: + build: ./src/storage + depends_on: + - nats + - api + environment: + NATS_URL: "nats://storage_service:password@nats:4222" + + vault: + build: ./src/vault + depends_on: + - nats + - api + environment: + NATS_URL: "nats://vault_service:password@nats:4222" \ No newline at end of file diff --git a/nats.example.conf b/nats.example.conf new file mode 100644 index 0000000..f2ffd14 --- /dev/null +++ b/nats.example.conf @@ -0,0 +1,32 @@ +listen: 4222 + +accounts { + APP { + users [ + { + user: "api_service", + password: "api_password", + permissions: { + publish: ["files.upload", "vault.get"], + subscribe: ["vault.response"] + } + }, + { + user: "storage_service", + password: "storage_password", + permissions: { + subscribe: ["files.upload"], + publish: [] + } + }, + { + user: "vault_service", + password: "vault_password", + permissions: { + subscribe: ["vault.get"], + publish: ["vault.response"] + } + } + ] + } +} \ No newline at end of file diff --git a/src/api/Dockerfile b/src/api/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/src/api/go.mod b/src/api/go.mod new file mode 100644 index 0000000..af866e1 --- /dev/null +++ b/src/api/go.mod @@ -0,0 +1,3 @@ +module thelanc3.ru/memome/v2/api + +go 1.26.1 diff --git a/src/api/main.go b/src/api/main.go new file mode 100644 index 0000000..778f64e --- /dev/null +++ b/src/api/main.go @@ -0,0 +1 @@ +package api diff --git a/src/storage/Dockerfile b/src/storage/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/src/storage/go.mod b/src/storage/go.mod new file mode 100644 index 0000000..ed3e979 --- /dev/null +++ b/src/storage/go.mod @@ -0,0 +1,3 @@ +module thelanc3.ru/memome/v2/storage + +go 1.26.1 diff --git a/src/vault/Dockerfile b/src/vault/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/src/vault/go.mod b/src/vault/go.mod new file mode 100644 index 0000000..bc13d2f --- /dev/null +++ b/src/vault/go.mod @@ -0,0 +1,3 @@ +module thelanc3.ru/memome/v2/vault + +go 1.26.1 diff --git a/src/web/Dockerfile b/src/web/Dockerfile new file mode 100644 index 0000000..e69de29