From 4cd711d3abf51bfba9c4991eb22743c9c5dc3ca7 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 1 Mar 2024 15:33:43 +0100 Subject: feed-nomath-org: init --- apps/feed-nomath-org/appspec.nix | 13 +++++++++++++ apps/feed-nomath-org/integration.nix | 7 +++++++ apps/feed-nomath-org/module.nix | 6 ++++++ configs/default.nix | 2 ++ nix/sources.json | 6 ++++++ pkgs/feed-nomath-org/default.nix | 1 + systems/system1/configuration.nix | 15 +++++++++++++++ 7 files changed, 50 insertions(+) create mode 100644 apps/feed-nomath-org/appspec.nix create mode 100644 apps/feed-nomath-org/integration.nix create mode 100644 apps/feed-nomath-org/module.nix create mode 100644 pkgs/feed-nomath-org/default.nix diff --git a/apps/feed-nomath-org/appspec.nix b/apps/feed-nomath-org/appspec.nix new file mode 100644 index 0000000..6d3bb2b --- /dev/null +++ b/apps/feed-nomath-org/appspec.nix @@ -0,0 +1,13 @@ +{ fysilib, lib, ... }: { + description = "feed.nomath.org website"; + endOfLife = null; + options = { + domain = lib.mkOption { + description = "Domain of the website"; + type = fysilib.types.fqdn; + }; + repositories = lib.mkOption { + type = lib.types.listOf lib.types.str; + }; + }; +} diff --git a/apps/feed-nomath-org/integration.nix b/apps/feed-nomath-org/integration.nix new file mode 100644 index 0000000..121890a --- /dev/null +++ b/apps/feed-nomath-org/integration.nix @@ -0,0 +1,7 @@ +{ appConfig, lib, ... }: { + port = 8080; + + bindMounts = builtins.listToAttrs + (map (name: lib.nameValuePair name { isReadOnly = true; }) + appConfig.repositories); +} diff --git a/apps/feed-nomath-org/module.nix b/apps/feed-nomath-org/module.nix new file mode 100644 index 0000000..e9c0937 --- /dev/null +++ b/apps/feed-nomath-org/module.nix @@ -0,0 +1,6 @@ +{ appConfig, lib, pkgs, ... }: { + systemd.services."feed-nomath-org".environment.PORT = "8080"; + systemd.services."feed-nomath-org".environment.REPOSITORIES = lib.concatStringsSep ":" appConfig.repositories; + systemd.services."feed-nomath-org".script = "${pkgs.feed-nomath-org}/bin/feed-nomath-org"; + systemd.services."feed-nomath-org".wantedBy = [ "multi-user.target" ]; +} diff --git a/configs/default.nix b/configs/default.nix index 812f365..9d5a7c7 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -18,6 +18,8 @@ security.acme.certs."auth.nomath.org".webroot = "/var/lib/acme/acme-challenge"; security.acme.certs."code.nomath.org".email = "aforemny@posteo.de"; security.acme.certs."code.nomath.org".webroot = "/var/lib/acme/acme-challenge"; + security.acme.certs."feed.nomath.org".email = "aforemny@posteo.de"; + security.acme.certs."feed.nomath.org".webroot = "/var/lib/acme/acme-challenge"; security.acme.certs."nomath.org".email = "aforemny@posteo.de"; security.acme.certs."nomath.org".webroot = "/var/lib/acme/acme-challenge"; security.acme.certs."static.nomath.org".email = "aforemny@posteo.de"; diff --git a/nix/sources.json b/nix/sources.json index a7b62a8..bdf0745 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -5,6 +5,12 @@ "rev": "9f2d5ae570c120f19434f03eb20ab2c3ecf36e0c", "type": "git" }, + "feed-nomath-org": { + "branch": "main", + "repo": "git@code.nomath.org:~/feed-nomath-org", + "rev": "ea152cdf66aaab165178c4fcfa575fc4b898bc44", + "type": "git" + }, "fysiweb-cli": { "branch": "main", "repo": "git@github.com:aforemny/fysiweb-cli.git", diff --git a/pkgs/feed-nomath-org/default.nix b/pkgs/feed-nomath-org/default.nix new file mode 100644 index 0000000..5f37c85 --- /dev/null +++ b/pkgs/feed-nomath-org/default.nix @@ -0,0 +1 @@ +{}: (import "${(import ../../nix/sources.nix).feed-nomath-org}" { }).feed-nomath-org diff --git a/systems/system1/configuration.nix b/systems/system1/configuration.nix index 8357287..da35852 100644 --- a/systems/system1/configuration.nix +++ b/systems/system1/configuration.nix @@ -57,6 +57,21 @@ fysiweb-apps.public.cgit."code-nomath-org".settings.root-desc = ""; fysiweb-apps.public.cgit."code-nomath-org".settings.root-title = "code.nomath.org"; } + # enable "feed.nomath.org" + { + fysiweb-apps.public.feed-nomath-org.feed-nomath-org.domain = "feed.nomath.org"; + # TODO connect with cgit repositories + fysiweb-apps.public.feed-nomath-org.feed-nomath-org.repositories = [ + "/var/lib/git/abuilder" + "/var/lib/git/anissue" + "/var/lib/git/apaperless" + "/var/lib/git/feed-nomath-org" + "/var/lib/git/infra" + "/var/lib/git/json2sql" + "/var/lib/git/nomath-org" + "/var/lib/git/static-nomath-org" + ]; + } # enable abuilder { # TODO add abuilder fysiweb app -- cgit v1.2.3