Merge branch 'feature/rabbi-gerzi'
This commit is contained in:
commit
be6cc669bd
6 changed files with 133 additions and 11 deletions
|
|
@ -5,3 +5,7 @@ creation_rules:
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *server
|
- *server
|
||||||
|
- path_regex: secrets/rabbi-gerzi\.env$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *server
|
||||||
|
|
|
||||||
57
flake.lock
generated
57
flake.lock
generated
|
|
@ -36,6 +36,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rabbi-gerzi": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"utils": "utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782998088,
|
||||||
|
"narHash": "sha256-FBh/n9Z5V3pBzYzTpCYXbmtNXiopZDOpaUcL3292ZLM=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "b1281be699d2d75b1f25ecd5cf11d7204bf4c237",
|
||||||
|
"revCount": 349,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.yisroelbaum.com/yisroelbaum/Rabbi_Gerzi"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.yisroelbaum.com/yisroelbaum/Rabbi_Gerzi"
|
||||||
|
}
|
||||||
|
},
|
||||||
"resume": {
|
"resume": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -60,6 +81,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"rabbi-gerzi": "rabbi-gerzi",
|
||||||
"resume": "resume",
|
"resume": "resume",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"tide": "tide"
|
"tide": "tide"
|
||||||
|
|
@ -100,12 +122,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tide": {
|
"tide": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"utils": "utils"
|
"utils": "utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778485449,
|
"lastModified": 1778485449,
|
||||||
|
|
@ -138,6 +175,24 @@
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
30
flake.nix
30
flake.nix
|
|
@ -20,6 +20,10 @@
|
||||||
url = "git+https://git.yisroelbaum.com/yisroelbaum/MyResume";
|
url = "git+https://git.yisroelbaum.com/yisroelbaum/MyResume";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
rabbi-gerzi = {
|
||||||
|
url = "git+https://git.yisroelbaum.com/yisroelbaum/Rabbi_Gerzi";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
@ -30,20 +34,24 @@
|
||||||
sops-nix,
|
sops-nix,
|
||||||
tide,
|
tide,
|
||||||
resume,
|
resume,
|
||||||
|
rabbi-gerzi,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
domainName = "yisroelbaum.com";
|
domainName = "yisroelbaum.com";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
./discourse.nix
|
./discourse.nix
|
||||||
./tide.nix
|
./tide.nix
|
||||||
|
./rabbi-gerzi.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
tide.nixosModules.tide
|
tide.nixosModules.tide
|
||||||
|
rabbi-gerzi.nixosModules.default
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
|
@ -52,14 +60,16 @@
|
||||||
];
|
];
|
||||||
specialArgs = { inherit domainName resume; };
|
specialArgs = { inherit domainName resume; };
|
||||||
};
|
};
|
||||||
devShells."${system}".default = let
|
devShells."${system}".default =
|
||||||
pkgs = import nixpkgs { inherit system; };
|
let
|
||||||
in pkgs.mkShell {
|
pkgs = import nixpkgs { inherit system; };
|
||||||
buildInputs = with pkgs; [
|
in
|
||||||
nixos-rebuild
|
pkgs.mkShell {
|
||||||
sops
|
buildInputs = with pkgs; [
|
||||||
age
|
nixos-rebuild
|
||||||
];
|
sops
|
||||||
};
|
age
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
34
rabbi-gerzi.nix
Normal file
34
rabbi-gerzi.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
domainName,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
services.rabbi-gerzi = {
|
||||||
|
enable = true;
|
||||||
|
frontend = {
|
||||||
|
hostName = "rabbigerzi.${domainName}";
|
||||||
|
nginx = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
backend = {
|
||||||
|
hostName = "rabbigerziapi.${domainName}";
|
||||||
|
environmentFile = config.sops.secrets."rabbi-gerzi-env".path;
|
||||||
|
nginx = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets."rabbi-gerzi-env" = {
|
||||||
|
sopsFile = ./secrets/rabbi-gerzi.env;
|
||||||
|
format = "dotenv";
|
||||||
|
key = "";
|
||||||
|
mode = "0400";
|
||||||
|
owner = config.services.rabbi-gerzi.user;
|
||||||
|
group = config.services.rabbi-gerzi.group;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -21,3 +21,13 @@ host's age key.
|
||||||
|
|
||||||
`tide.yaml` is encrypted and committed. `tide.yaml.example` is
|
`tide.yaml` is encrypted and committed. `tide.yaml.example` is
|
||||||
the plaintext template.
|
the plaintext template.
|
||||||
|
|
||||||
|
## Rabbi Gerzi
|
||||||
|
|
||||||
|
Create `rabbi-gerzi.env` as a SOPS-encrypted dotenv file with:
|
||||||
|
|
||||||
|
```dotenv
|
||||||
|
APP_KEY=base64:...
|
||||||
|
RABBI_GERZI_INITIAL_ADMIN_EMAIL=...
|
||||||
|
RABBI_GERZI_INITIAL_ADMIN_PASSWORD=...
|
||||||
|
```
|
||||||
|
|
|
||||||
9
secrets/rabbi-gerzi.env
Normal file
9
secrets/rabbi-gerzi.env
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
APP_KEY=ENC[AES256_GCM,data:oBfwwZoeClMagCYNCtKVHr/PHtwGJedwCxOQx59lRx2axbAF7EkhguwgSGDfDTlde2K/,iv:PRjJ5umGKokJ9aeJByNW4UQx2f41mPTCLaYatrfuMZo=,tag:v2B+hbh0KEtIy/ZSuj7nQw==,type:str]
|
||||||
|
RABBI_GERZI_INITIAL_ADMIN_EMAIL=ENC[AES256_GCM,data:DLzOu5WRYbIZRMheNIRJxRQ6U9A=,iv:ql+WFYHCK6La48azvyqOYoAPBX4kjVTjCl+9S9ynRXo=,tag:R6T98nWiIWQ8YDzsW0CqfA==,type:str]
|
||||||
|
RABBI_GERZI_INITIAL_ADMIN_PASSWORD=ENC[AES256_GCM,data:5R/YEeYAgKHCNCp5pVTEkTia1KoXTCFOrw+aOfJQmNs=,iv:a+39JK/CYE0z+yYrhI6uXEypPErkpFTot05h1Ue4xUY=,tag:ATAl3qfWQ25E0okdPgvLTg==,type:str]
|
||||||
|
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByRndjT3VrTk5vM2daOHdC\nNS8yUXJNcG9uQzBJL3J3K3k3M2NxMUxTTVJJCkhrSTMyWDdJa0xhVmZzbVNCMXNC\nc0lTdTFVU2M3bzFBMDJOM3JpSG14alEKLS0tIDFac3pqbi9rK0FHRklsa2xNRTNX\nS0Q0NXRubXVWRytSSjFVYlI3R2FyU3cKqV5N6ap5lobx9jZexWi/GswKLb4ytAMW\nB3/VA8eeVz9Wuvim0TtiN0UB9oqsBjnbnekJa0Y4tdvwRQhr2AuOxw==\n-----END AGE ENCRYPTED FILE-----\n
|
||||||
|
sops_age__list_0__map_recipient=age1haj8v88kjna6ttkdufjpyjcf478kyvclnpdc8jwh97ewhqcc9eqsgrku4v
|
||||||
|
sops_lastmodified=2026-07-02T13:22:18Z
|
||||||
|
sops_mac=ENC[AES256_GCM,data:3X46T+cx+cG3Zjq8QecbVa4/inJACFnJpMCtL/BWTaz6zDGD1TdkFORiD9z7IKMV3dbCgvve3pOatDkMYmfiWdFgW8wsIlKHHQhz58Eq5WZMHfXNKLykdEix0nGb2RGFdq6d3xaCyc6slJuhpo8uxzDoOHE9FkmdGdAC+NSkWvY=,iv:r6xHAWbldo4yar7YY/WZhw/NX5a4KJS+CWKCUkd+Z0U=,tag:4RIJcaoXZjkYHtkmphEPXA==,type:str]
|
||||||
|
sops_unencrypted_suffix=_unencrypted
|
||||||
|
sops_version=3.12.2
|
||||||
Loading…
Add table
Add a link
Reference in a new issue