Skip to content

Commit 07119f1

Browse files
committed
Add mini academy, summer schools and professional activities views
1 parent 1b31006 commit 07119f1

File tree

11 files changed

+366
-0
lines changed

11 files changed

+366
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ jobs:
5757
- "catalog-mini-academy.l"
5858
- "catalog-manage-um.l"
5959
- "catalog-view-um.l"
60+
- "catalog-view-mini-academy.l"
61+
- "catalog-view-summer-schools.l"
62+
- "catalog-view-professional-activities.l"
6063
- "catalog-professional-activities.l"
6164
- "grades.l"
6265
- "grades-dev.l"

flake.nix

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,15 @@
253253
"catalog-view-um.l" = mkSystem "catalog-view-um.l" [
254254
catalog-registration.nixosModules.default
255255
];
256+
"catalog-view-summer-schools.l" = mkSystem "catalog-view-summer-schools.l" [
257+
catalog-registration.nixosModules.default
258+
];
259+
"catalog-view-mini-academy.l" = mkSystem "catalog-view-mini-academy.l" [
260+
catalog-registration.nixosModules.default
261+
];
262+
"catalog-view-professional-activities.l" = mkSystem "catalog-view-professional-activities.l" [
263+
catalog-registration.nixosModules.default
264+
];
256265
"catalog-professional-activities.l" = mkSystem "catalog-professional-activities.l" [
257266
catalog-manage.nixosModules.default
258267
];

infra/infra.nix

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,21 @@
259259
backing = "minimal-base-v4";
260260
capacity = unit.GiB 16;
261261
}
262+
{
263+
name = "catalog-view-summer-schools";
264+
backing = "minimal-base-v4";
265+
capacity = unit.GiB 16;
266+
}
267+
{
268+
name = "catalog-view-mini-academy";
269+
backing = "minimal-base-v4";
270+
capacity = unit.GiB 16;
271+
}
272+
{
273+
name = "catalog-view-professional-activities";
274+
backing = "minimal-base-v4";
275+
capacity = unit.GiB 16;
276+
}
262277
];
263278
};
264279
};
@@ -1011,6 +1026,66 @@
10111026
}
10121027
];
10131028
};
1029+
"catalog-view-summer-schools" = {
1030+
start = true;
1031+
autoStart = true;
1032+
memory = unit.GiB 2;
1033+
vcpu = 1;
1034+
disks = [
1035+
{
1036+
device = "vda";
1037+
pool = "alternative2";
1038+
volume = "catalog-view-summer-schools";
1039+
}
1040+
];
1041+
networkInterfaces = [
1042+
{
1043+
network = "private-network";
1044+
hostname = "catalog-view-summer-schools.l";
1045+
address = "10.17.3.241";
1046+
}
1047+
];
1048+
};
1049+
"catalog-view-mini-academy" = {
1050+
start = true;
1051+
autoStart = true;
1052+
memory = unit.GiB 2;
1053+
vcpu = 1;
1054+
disks = [
1055+
{
1056+
device = "vda";
1057+
pool = "alternative2";
1058+
volume = "catalog-view-mini-academy";
1059+
}
1060+
];
1061+
networkInterfaces = [
1062+
{
1063+
network = "private-network";
1064+
hostname = "catalog-view-mini-academy.l";
1065+
address = "10.17.3.242";
1066+
}
1067+
];
1068+
};
1069+
"catalog-view-professional-activities" = {
1070+
start = true;
1071+
autoStart = true;
1072+
memory = unit.GiB 2;
1073+
vcpu = 1;
1074+
disks = [
1075+
{
1076+
device = "vda";
1077+
pool = "alternative2";
1078+
volume = "catalog-view-professional-activities";
1079+
}
1080+
];
1081+
networkInterfaces = [
1082+
{
1083+
network = "private-network";
1084+
hostname = "catalog-view-professional-activities.l";
1085+
address = "10.17.3.243";
1086+
}
1087+
];
1088+
};
10141089
"catalog-professional-activities" = {
10151090
start = true;
10161091
autoStart = true;
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{config, pkgs, lib, ...}:
2+
3+
let
4+
catalogId = "221f1cc4-1607-4418-a6a5-4b3fb897d82c";
5+
courses = (lib.importJSON ../../courses.json).${catalogId};
6+
catalog = (lib.importJSON ../../catalogs.json).${catalogId};
7+
8+
view = pkgs.callPackage ./view.nix {} {
9+
inherit catalogId courses catalog;
10+
};
11+
in
12+
{
13+
imports = [
14+
../../modules/image.nix
15+
../../modules/base.nix
16+
../../users/root.nix
17+
../../users/rescue.nix
18+
../../users/catalog.nix
19+
];
20+
21+
networking.firewall.allowedTCPPorts = [22 80 8001];
22+
23+
services.nginx.enable = true;
24+
services.nginx.virtualHosts."$hostname" = {
25+
root = view;
26+
27+
extraConfig = ''
28+
default_type "text/html";
29+
rewrite ^/(.*)/$ /$1 permanent;
30+
error_page 404 /404.html;
31+
try_files $uri $uri.html $uri/index.html index.html =404;
32+
'';
33+
};
34+
35+
noo.services.catalog = {
36+
enable = true;
37+
38+
frontendSubscribe = {
39+
inherit catalogId;
40+
enable = true;
41+
serverUrl = "https://upravljanje-katalog.um.si/api";
42+
privacyPolicyUrl = "https://feri.um.si/o-nas/dokumentno-sredisce/zasebnost/";
43+
shortCoursesUrl = "https://krajsa-izobrazevanja.um.si";
44+
requireDateOfBirth = true;
45+
timestamp = courses.revision;
46+
coursePicturesAddress = "https://upravljanje-katalog.um.si/";
47+
};
48+
};
49+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{lib, callPackage, fetchFromGitHub}:
2+
3+
{catalogId, courses, catalog}:
4+
let
5+
mkCourses = callPackage ../../packages/make-courses.nix {};
6+
mkCatalog = callPackage ../../packages/make-catalog.nix {};
7+
mkView = callPackage ../../packages/make-view2.nix {};
8+
in
9+
mkView {
10+
src = fetchFromGitHub {
11+
owner = "UM-LPM";
12+
repo = "short-courses";
13+
rev = "2619c17da2b569c8b7878bc80106cb5304ebfd08";
14+
hash = "sha256-5jy+Ltlxm4JTswM1n6f8SaUX4RsI6TCG8/pZhbH++TE=";
15+
};
16+
courses = mkCourses {
17+
catalog = catalogId;
18+
inherit (courses) revision hash;
19+
};
20+
catalog = mkCatalog {
21+
catalog = catalogId;
22+
inherit (catalog) revision hash;
23+
};
24+
}
25+
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{config, pkgs, lib, ...}:
2+
3+
let
4+
catalogId = "221f1cc4-1607-4418-a6a5-4b3fb897d82c";
5+
courses = (lib.importJSON ../../courses.json).${catalogId};
6+
catalog = (lib.importJSON ../../catalogs.json).${catalogId};
7+
8+
view = pkgs.callPackage ./view.nix {} {
9+
inherit catalogId courses catalog;
10+
};
11+
in
12+
{
13+
imports = [
14+
../../modules/image.nix
15+
../../modules/base.nix
16+
../../users/root.nix
17+
../../users/rescue.nix
18+
../../users/catalog.nix
19+
];
20+
21+
networking.firewall.allowedTCPPorts = [22 80 8001];
22+
23+
services.nginx.enable = true;
24+
services.nginx.virtualHosts."$hostname" = {
25+
root = view;
26+
27+
extraConfig = ''
28+
default_type "text/html";
29+
rewrite ^/(.*)/$ /$1 permanent;
30+
error_page 404 /404.html;
31+
try_files $uri $uri.html $uri/index.html index.html =404;
32+
'';
33+
};
34+
35+
noo.services.catalog = {
36+
enable = true;
37+
38+
frontendSubscribe = {
39+
inherit catalogId;
40+
enable = true;
41+
serverUrl = "https://upravljanje-katalog.um.si/api";
42+
privacyPolicyUrl = "https://feri.um.si/o-nas/dokumentno-sredisce/zasebnost/";
43+
shortCoursesUrl = "https://krajsa-izobrazevanja.um.si";
44+
requireDateOfBirth = true;
45+
timestamp = courses.revision;
46+
coursePicturesAddress = "https://upravljanje-katalog.um.si/";
47+
};
48+
};
49+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{lib, callPackage, fetchFromGitHub}:
2+
3+
{catalogId, courses, catalog}:
4+
let
5+
mkCourses = callPackage ../../packages/make-courses.nix {};
6+
mkCatalog = callPackage ../../packages/make-catalog.nix {};
7+
mkView = callPackage ../../packages/make-view2.nix {};
8+
in
9+
mkView {
10+
src = fetchFromGitHub {
11+
owner = "UM-LPM";
12+
repo = "short-courses";
13+
rev = "2619c17da2b569c8b7878bc80106cb5304ebfd08";
14+
hash = "sha256-5jy+Ltlxm4JTswM1n6f8SaUX4RsI6TCG8/pZhbH++TE=";
15+
};
16+
courses = mkCourses {
17+
catalog = catalogId;
18+
inherit (courses) revision hash;
19+
};
20+
catalog = mkCatalog {
21+
catalog = catalogId;
22+
inherit (catalog) revision hash;
23+
};
24+
}
25+
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{config, pkgs, lib, ...}:
2+
3+
let
4+
catalogId = "221f1cc4-1607-4418-a6a5-4b3fb897d82c";
5+
courses = (lib.importJSON ../../courses.json).${catalogId};
6+
catalog = (lib.importJSON ../../catalogs.json).${catalogId};
7+
8+
view = pkgs.callPackage ./view.nix {} {
9+
inherit catalogId courses catalog;
10+
};
11+
in
12+
{
13+
imports = [
14+
../../modules/image.nix
15+
../../modules/base.nix
16+
../../users/root.nix
17+
../../users/rescue.nix
18+
../../users/catalog.nix
19+
];
20+
21+
networking.firewall.allowedTCPPorts = [22 80 8001];
22+
23+
services.nginx.enable = true;
24+
services.nginx.virtualHosts."$hostname" = {
25+
root = view;
26+
27+
extraConfig = ''
28+
default_type "text/html";
29+
rewrite ^/(.*)/$ /$1 permanent;
30+
error_page 404 /404.html;
31+
try_files $uri $uri.html $uri/index.html index.html =404;
32+
'';
33+
};
34+
35+
noo.services.catalog = {
36+
enable = true;
37+
38+
frontendSubscribe = {
39+
inherit catalogId;
40+
enable = true;
41+
serverUrl = "https://upravljanje-katalog.um.si/api";
42+
privacyPolicyUrl = "https://feri.um.si/o-nas/dokumentno-sredisce/zasebnost/";
43+
shortCoursesUrl = "https://krajsa-izobrazevanja.um.si";
44+
requireDateOfBirth = true;
45+
timestamp = courses.revision;
46+
coursePicturesAddress = "https://upravljanje-katalog.um.si/";
47+
};
48+
};
49+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{lib, callPackage, fetchFromGitHub}:
2+
3+
{catalogId, courses, catalog}:
4+
let
5+
mkCourses = callPackage ../../packages/make-courses.nix {};
6+
mkCatalog = callPackage ../../packages/make-catalog.nix {};
7+
mkView = callPackage ../../packages/make-view2.nix {};
8+
in
9+
mkView {
10+
src = fetchFromGitHub {
11+
owner = "UM-LPM";
12+
repo = "short-courses";
13+
rev = "2619c17da2b569c8b7878bc80106cb5304ebfd08";
14+
hash = "sha256-5jy+Ltlxm4JTswM1n6f8SaUX4RsI6TCG8/pZhbH++TE=";
15+
};
16+
courses = mkCourses {
17+
catalog = catalogId;
18+
inherit (courses) revision hash;
19+
};
20+
catalog = mkCatalog {
21+
catalog = catalogId;
22+
inherit (catalog) revision hash;
23+
};
24+
}
25+

0 commit comments

Comments
 (0)