feat: + kestra for AZ-PRM-1
This commit is contained in:
190
flake.nix
190
flake.nix
@@ -178,96 +178,126 @@
|
||||
};
|
||||
};
|
||||
homeConfigurations = {
|
||||
"logistik@AZPILOGISTIK01" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIK01";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIK01" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIK01";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK01.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK01.nix];
|
||||
};
|
||||
"logistik@AZPILOGISTIK02" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIK02";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIK02" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIK02";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK02.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK02.nix];
|
||||
};
|
||||
"logistik@AZPILOGISTIK03" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIK03";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIK03" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIK03";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK03.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK03.nix];
|
||||
};
|
||||
"logistik@AZPILOGISTIK04" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIK04";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIK04" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIK04";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK04.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK04.nix];
|
||||
};
|
||||
"logistik@AZPILOGISTIK05" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIK05";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIK05" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIK05";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK05.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIK05.nix];
|
||||
};
|
||||
"logistik@AZPILOGISTIKTEST" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPILOGISTIKTEST";
|
||||
username = "logistik";
|
||||
"logistik@AZPILOGISTIKTEST" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPILOGISTIKTEST";
|
||||
username = "logistik";
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIKTEST.nix];
|
||||
};
|
||||
modules = [./home/users/logistik/AZPILOGISTIKTEST.nix];
|
||||
};
|
||||
"produktion@AZPIPRODUKTION01" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPIPRODUKTION01";
|
||||
username = "produktion";
|
||||
"produktion@AZPIPRODUKTION01" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPIPRODUKTION01";
|
||||
username = "produktion";
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION01.nix];
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION01.nix];
|
||||
};
|
||||
"produktion@AZPIPRODUKTION02" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPIPRODUKTION02";
|
||||
username = "produktion";
|
||||
"produktion@AZPIPRODUKTION02" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPIPRODUKTION02";
|
||||
username = "produktion";
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION02.nix];
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION02.nix];
|
||||
};
|
||||
"produktion@AZPIPRODUKTION03" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPIPRODUKTION03";
|
||||
username = "produktion";
|
||||
"produktion@AZPIPRODUKTION03" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPIPRODUKTION03";
|
||||
username = "produktion";
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION03.nix];
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION03.nix];
|
||||
};
|
||||
"produktion@AZPIPRODUKTION04" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."aarch64-linux";
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
hostname = "AZPIPRODUKTION04";
|
||||
username = "produktion";
|
||||
"produktion@AZPIPRODUKTION04" = let
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs system;
|
||||
hostname = "AZPIPRODUKTION04";
|
||||
username = "produktion";
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION04.nix];
|
||||
};
|
||||
modules = [./home/users/produktion/AZPIPRODUKTION04.nix];
|
||||
};
|
||||
};
|
||||
deploy.nodes = {
|
||||
AZ-CLD-1 = {
|
||||
|
||||
@@ -73,7 +73,7 @@ in {
|
||||
"librechat_uploads:/app/uploads"
|
||||
"librechat_logs:/app/api/logs"
|
||||
];
|
||||
extraOptions = ["--ip=10.89.0.23" "--network=web"];
|
||||
extraOptions = ["--ip=10.89.0.23" "--network=web" "--dns=8.8.8.8" "--dns=8.8.4.4"];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
in {
|
||||
virtualisation.oci-containers.containers.${serviceName} = {
|
||||
#image = "ghcr.io/berriai/litellm:v1.78.5-stable";
|
||||
image = "docker.litellm.ai/berriai/litellm:v1.81.14-stable.gpt-5.4_patch";
|
||||
image = "docker.litellm.ai/berriai/litellm:v1.81.14-stable";
|
||||
ports = ["127.0.0.1:${toString servicePort}:4000"];
|
||||
environmentFiles = [config.age.secrets.litellm-env.path];
|
||||
environment = {
|
||||
|
||||
@@ -5,4 +5,7 @@
|
||||
./secrets.nix
|
||||
./services
|
||||
];
|
||||
extraServices = {
|
||||
podman.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
traefik-env = {
|
||||
file = ../../secrets/traefik-env.age;
|
||||
};
|
||||
kestra-config = {
|
||||
file = ../../secrets/kestra-config.age;
|
||||
mode = "644";
|
||||
};
|
||||
kestra-env = {file = ../../secrets/kestra-env.age;};
|
||||
n8n-env = {
|
||||
file = ../../secrets/n8n-env.age;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{lib, ...}: {
|
||||
imports = [
|
||||
#./baserow.nix
|
||||
# ./kestra.nix
|
||||
./kestra.nix
|
||||
./stirling-pdf.nix
|
||||
];
|
||||
system.activationScripts.createPodmanNetworkWeb = lib.mkAfter ''
|
||||
|
||||
@@ -1,12 +1,20 @@
|
||||
{config, ...}: {
|
||||
virtualisation.oci-containers.containers."kestra" = {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
serviceName = "kestra";
|
||||
portUtils = import ../../../../lib/port-utils.nix {inherit lib;};
|
||||
servicePort = portUtils.getPort serviceName "AZ-CLD-1";
|
||||
in {
|
||||
virtualisation.oci-containers.containers."${serviceName}" = {
|
||||
image = "docker.io/kestra/kestra:latest";
|
||||
environmentFiles = [config.age.secrets.kestra-env.path];
|
||||
cmd = ["server" "standalone" "--config" "/etc/config/application.yaml"];
|
||||
ports = ["127.0.0.1:3031:8080"];
|
||||
ports = ["127.0.0.1:${toString servicePort}:8080"];
|
||||
user = "root";
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock"
|
||||
"/var/run/podman/podman.sock:/var/run/docker.sock"
|
||||
"${config.age.secrets.kestra-config.path}:/etc/config/application.yaml"
|
||||
"kestra_data:/app/storage"
|
||||
"/tmp/kestra-wd:/tmp/kestra-wd"
|
||||
@@ -20,7 +28,7 @@
|
||||
|
||||
# Traefik configuration specific to littlelink
|
||||
services.traefik.dynamicConfigOptions.http = {
|
||||
services.kestra.loadBalancer.servers = [{url = "http://localhost:3031/";}];
|
||||
services.kestra.loadBalancer.servers = [{url = "http://localhost:${toString servicePort}/";}];
|
||||
|
||||
routers.kestra = {
|
||||
rule = "Host(`k.l.az-gruppe.com`)";
|
||||
|
||||
@@ -16,7 +16,8 @@ in {
|
||||
"secrets/traefik-env.age".publicKeys = systems ++ users;
|
||||
"secrets/baserow-db.age".publicKeys = systems ++ users;
|
||||
"secrets/baserow-env.age".publicKeys = systems ++ users;
|
||||
"secrets/kestra-db.age".publicKeys = systems ++ users;
|
||||
"secrets/kestra-env.age".publicKeys = systems ++ users;
|
||||
"secrets/kestra-config.age".publicKeys = systems ++ users;
|
||||
"secrets/librechat-env.age".publicKeys = systems ++ users;
|
||||
"secrets/librechat.age".publicKeys = systems ++ users;
|
||||
"secrets/librechat-env-prod.age".publicKeys = systems ++ users;
|
||||
|
||||
26
secrets/kestra-config.age
Normal file
26
secrets/kestra-config.age
Normal file
@@ -0,0 +1,26 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyB4TWJl
|
||||
YUhxeXRVMDF5MnNMK1hQOTA2MFB1OWRCdjAzZ0ZSaWI3UGV6MHdvCjBlNTNRMVBB
|
||||
cU0xZThjTUJvM0lOUGxMRUhiUUxrZXhKNzlRUmdMajQxbW8KLT4gc3NoLWVkMjU1
|
||||
MTkgU3JIYXFBIE1BOCtTbGlmQXplU2pSSjBxUFQwMGlZbWJiMDR3cTFCaGRDNllj
|
||||
ejU0ajQKRW9RWXVKc055QXlHemlaaU40ck9vS1Y2ckdPRENSdmZEd2hYQW9SbFFp
|
||||
WQotPiBzc2gtZWQyNTUxOSBsR3FWWmcgNExQT2gyaU1xNStxZ21XVS9QMjRCR2FM
|
||||
bWRWVjlHSVJlQXE3S2dEZVBFOApsdlE3a3ZZWDhGQ29QaG1CQ0VjYVRHMXFtbkJS
|
||||
amlveTZTRE5tOXR6b2NZCi0+IHNzaC1lZDI1NTE5IENTTXloZyBjNXNOaW82VzY5
|
||||
S1JOa2hLck9WamxXcEU3anYzM0Jwb290emRCVDUwaTFjCjNZN3NVNmNySWJXTzRi
|
||||
bmhPTE1ic2hETTlVdDdRYmViRkpDYUwxNDllWFkKLT4gOy0tZ3JlYXNlIDRLPiFT
|
||||
UCFVIEtibUYoIH5CdyBpLSU+VSEKMWFVRUI1eUlsQ1huRVkyUTFyYTdSSmFMN0xN
|
||||
NEZnCi0tLSAxcWxjdXZSRWlQZGZtUzcxZkR2L0phcUNtRG1JQzZSalZDSzRoS05s
|
||||
RkVVCh/SZUhAjpHGjXnnkPmXn7qcYbwXczOrA1z4GN81ntshqzoszx2WyDk7Wfgr
|
||||
BjlHy/Jn3M8s5im+JfE5BS4PuhAjZDKIBXGlghEsvJVIyt5jZvJDdYp3wdu9+IAT
|
||||
Y9qzT0De8xFQYg76hUf0RhoXyRMzgP0rImFcCdvMPdMnMD4Ea518Zex01DiexNEB
|
||||
OtUBbo98spOBr6Ih1HN7thXvSrCA9g6VtNEm3WJWXGSWOQiFboVLh1Ds0WUFHkow
|
||||
96Ip5TgliBdAZSrt6YWlcxDccjsMDwZ5an8l5QjqNNvFP1tdV/JwZ/vKfLsxp1le
|
||||
1OujlZJUmOFYxyOnzggTesInvBvL6Fjku5xLFM+jKKuII35XSXzMWGQ7ekpYxMQ/
|
||||
qDkHqmIZJFniU/13Tc2J2aVMo1ugWG3qKU7Xr31c+OTzH727Qec8xCkx9zllMwKE
|
||||
H2AhVbWL+3j8aeeOU7mNyDnL0hU7pyfvb2Ni0xUaUyHUfFtz8jDKU3BYMiVxQlR0
|
||||
NJSwrEdo9ncU2994AwNYwhCAVvNAt7DclaoxakD0hpWOfk7bOjvGTt2tIIdauenK
|
||||
lhYqmsZCs5zv6EH9QneNxKsLwIu0xnSIGigllntYyqbk14XSciWCfmPgWLZ+1uRW
|
||||
yNZhxNPID7NvhCreVSqgcz2qhk2vYwNG8+yY2Hq6Y3KEp0Wk8dJc7WW8S/4/y1dA
|
||||
/XCEhQ/+6zAH8h1EzqMkNnmHDxWXwRGmCTE=
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
16
secrets/kestra-env.age
Normal file
16
secrets/kestra-env.age
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyBjdmNT
|
||||
bnJScmdlUUZPZSsvdmd2eFJZZEswcjdITDNPeU5zS092OVMyamlZCnNLYi83TFhK
|
||||
YUhDaWlxL2REejNSdDllZVdmNFR5eXVWWlhVVnlIZ2QydEUKLT4gc3NoLWVkMjU1
|
||||
MTkgU3JIYXFBIHBvUTJiZytRbGdJUkRzYm5YbFQ0bEJXaytaU2h1NkJTS2ltWXFw
|
||||
dnFQaFUKSUdpU3hqTjZCTG5qRGpmcjNqaWMzSUoxRTNGY1JNYlJnUXV1TVBqMFF1
|
||||
dwotPiBzc2gtZWQyNTUxOSBsR3FWWmcgK0o0YkptWkRUeWo1ZndudFpMVlJGZjNZ
|
||||
UWVMNG5nMUJZU0NqYmpjcSszawo5TVViZ09heVl2bVBRWElxOXVOL1NsOFlZRS9q
|
||||
TlpGZ25PZ3luZ2UvNm1rCi0+IHNzaC1lZDI1NTE5IENTTXloZyBTY0x5WEZLQnZk
|
||||
KzFUVVV3UnFYU3AzRU44NXZibWJsTUk2Z0t6MU5CVkZFCjhiSE9taHdiV3prNUpC
|
||||
OWZqK2RZVUJZZkxYMjlYRTVkZDYzdmRqaTU1U0kKLT4gbC9qNi4yQyktZ3JlYXNl
|
||||
IHt0LQo2eUpaZ3RwZUEzVjk1Y3hFa1ZPdHVacHdvL3V0WVRUSFZyVndUU1o1REto
|
||||
NWlxZWNOcWMxU0srQjg3cFQvVTh0CnkyRFhUMEtmQkRCcmgxWjdaSmlDZVRDUmJJ
|
||||
ZjZlRkVPc0NTZgotLS0gR01PeFhpNW5EbExTT2pyeWFvelZ1SEEzazYybjd1b0dm
|
||||
K0hyVVNFZGF3OAp3+MW8cSEB7t8dq6oHBdvo/1iVRmKrN64bdO0mxpLkbA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user