From 2cc36354c57bf8b6ff023f12f67b4bbbfd3fe363 Mon Sep 17 00:00:00 2001 From: Rorik Star Platinum Date: Mon, 3 Nov 2025 21:25:56 +0300 Subject: [PATCH] compose.yaml, secrets.yaml, .sops.yaml flake.nix --- .sops.yaml | 8 ++++++++ Cargo.lock | 7 +++++++ compose.yaml | 23 +++++++++++++++++++++++ flake.nix | 20 ++++++++++++++++++++ secrets.yaml | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 94 insertions(+) create mode 100644 .sops.yaml create mode 100644 Cargo.lock create mode 100644 compose.yaml create mode 100644 flake.nix create mode 100644 secrets.yaml diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..5b5a15d --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,8 @@ +# .sops.yaml +creation_rules: + - path_regex: secrets.yaml + key_groups: + - age: + - age1hg8s2z00r8d76qfgea8cde3dakz2eguvtmlzavl8nwmh8ueany0suvdej4 + - age1crq2un0cq9qcep5gew8qkduzh6rhw6er50lqxrxcfe9e2k6avadsl7gfvx + - age105kaqfph40vge8qcq352kyl5u60r350jm4c4yfe27suve2ckkd9qt8tuva diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..6173daf --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "multiberry-backend" +version = "0.1.0" diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..d052abb --- /dev/null +++ b/compose.yaml @@ -0,0 +1,23 @@ +# compose.yaml +version: '3.9' + +services: + postgres: + image: postgres:17-alpine + + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + + ports: + - "5432:5432" + + volumes: + - postgres_data:/var/lib/postgresql/data + + restart: unless-stopped + +volumes: + postgres_data: + driver: local diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..b64fa3b --- /dev/null +++ b/flake.nix @@ -0,0 +1,20 @@ +{ + description = "Multiberry Backend Dev"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in { + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + rustup + cargo-watch + sqlx-cli + ]; + }; + } + ); +} diff --git a/secrets.yaml b/secrets.yaml new file mode 100644 index 0000000..14ab728 --- /dev/null +++ b/secrets.yaml @@ -0,0 +1,36 @@ +POSTGRES_USER: ENC[AES256_GCM,data:bykFaR5MHchKk4k=,iv:ZTTSXETVksbutAzy9ewXFihcRdI6C7z+JucOfXmA/C4=,tag:T3pTEmffB4XFAGR031nqRw==,type:str] +DATABASE_PASSWORD: ENC[AES256_GCM,data:8jj5IkG9PCisQ026sdF5lbuGvKjDrsV0zlVFtPmZCXGTRWX+QA==,iv:4QYf061t+zDYE58RVEH7LkMyKp2JDb3ryZJ7/KF4dnM=,tag:SEou5CUsJtIwLco1PzkeZw==,type:str] +POSTGRES_DB: ENC[AES256_GCM,data:CiyXR4B73lmAG/WV+A==,iv:xH4e40yBtt7I2IN/P6ZqblIhtOpPFhM8WxWG0iH0LZM=,tag:XCEoSeCY4z5yT59qKhDC9A==,type:str] +sops: + age: + - recipient: age1hg8s2z00r8d76qfgea8cde3dakz2eguvtmlzavl8nwmh8ueany0suvdej4 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPWVhTNnBTZkV1L28zWDdK + V0l0Y2NFck1BeFVWMXd5WWNySFVtY0NSNWk4CmYzck9ZRmdQTzQrLzd1OGhMemVK + bEVxRFF4bGpoVU9meDdEU3ZxeHF5S2sKLS0tIGhrV1dpbms3RkZUaUw2MGtFTmpU + RXBUdSsxTWdEcUc4YnFLT0pCM1FkZmMKDA4dlZIQzMaIu8lP8oashOcZVtMxdX5X + BtBDaqxNPvEgxpF5DC+PEb3/OHMD6sP9bJxXqhm8IUef6/uGJcmxdA== + -----END AGE ENCRYPTED FILE----- + - recipient: age1crq2un0cq9qcep5gew8qkduzh6rhw6er50lqxrxcfe9e2k6avadsl7gfvx + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyTENON3cvTjMraVhaTTkr + OE90S1UwTWV2MithRmptUUJnK0hXdEhlSUhVCkYrRzVXeDZGeWROTGdHODdNQjZk + MWJlTFRZREErNWhVbWplZjEzU0s3a0EKLS0tIFZYM0NFQVdLMnZEVTFJcHJXbFdx + VHVvalA2emhxNzZHNy9JMkZUWndIeEEKOSdtnVr1LD1VMC0eufGe01xqocYPpUaL + 1XW4nC7QfQCPPCkReLBClWU5Vmu3JSW7M2Lwq9hmF8N4Nz3Ge/vm3w== + -----END AGE ENCRYPTED FILE----- + - recipient: age105kaqfph40vge8qcq352kyl5u60r350jm4c4yfe27suve2ckkd9qt8tuva + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjNFNmWHZndEJNOGJVY296 + Y3BYM1g5dzE5Y2VNMDZzY2hBU2NGWDFoMFZjCkxUSE45MHNzZFhXSzlsMFZBYmpw + THB4VE9DTk1NUzJEZ1o4cTdxMXg0MUEKLS0tIFFzQzM2RXVTRHc3Y2FqWWV0VEZX + Vm5FSnlGYXFGT1g3WUh3UWZDcGtNZEkKMSndRqxLO7/d5GI3oOGi65J5gkMOlIOf + dSqB2eoVvr0b8bUMEBuW4JAET9xAG64VR9QNt4QlSeebWLjJ/XAenw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-11-03T18:12:49Z" + mac: ENC[AES256_GCM,data:H4aFIEgVmh1ry0eNJlyPOdwrO2uOFWpD5IbpnXMQpLPWAWEGlRY9PoNddykDT++iGwzpbu+lBarAnJUqPjbDh2jw0Sr+TVVzjavPHUqx7gJL8daJxSPwUGFZouhTkHEr17Sj851ov+VxYrXqaiuvoQhGXwm/tk74hj93zFqP/zk=,iv:+PJM6tYvFniVCQsaC7KDy4C7vMNMnHTkeTdz8C9x7ig=,tag:rgq3uRLQK2bD8vwkAMX4BQ==,type:str] + unencrypted_suffix: _unencrypted + version: 3.11.0