blob: 181c206e2e025cfe94d9165ccb0726db348b8b61 [file] [log] [blame]
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +02001local factorio = import "factorio.libsonnet";
Serge Bazanskic684ca92021-06-12 22:02:25 +00002local proxy = import "proxy.libsonnet";
Serge Bazanskie7f4cc12021-06-12 21:55:40 +00003local kube = import "../../../kube/kube.libsonnet";
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +02004
Serge Bazanskie7f4cc12021-06-12 21:55:40 +00005// This deploys factorio instances and the modproxy in the `factorio`
6// Kubernetes namespace.
7//
8// Available factorio versions:
Serge Bazanski791ab6d2020-08-14 10:34:29 +00009// - 1.0.0-1
Dariusz Niemczykb3799c82021-06-12 23:02:58 +020010// - 1.1.34-1
Serge Bazanskie7f4cc12021-06-12 21:55:40 +000011// See: //third_party/factorio.
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020012
13{
14 local prod = self,
15
16 namespace: kube.Namespace("factorio"),
Serge Bazanskic684ca92021-06-12 22:02:25 +000017
18 // instance makes a factorio server with a given name and at a
19 // given tag/version.
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020020 instance(name, tag):: factorio {
21 cfg+: {
22 namespace: "factorio",
23 prefix: name + "-",
24 tag: tag,
25 }
26 },
27
Serge Bazanskic684ca92021-06-12 22:02:25 +000028 proxy: proxy {
29 cfg+: {
30 namespace: "factorio",
Sergiusz Bazanski0581bbf2020-05-11 03:21:32 +020031 },
32 },
33
34 local mod = function(name, version) { name: name, version: version },
Dariusz Niemczykb3799c82021-06-12 23:02:58 +020035 pymods: prod.instance("pymods", "1.1.34-1") {
36 cfg+: {
37 mods: [
38 // Stdlib for mods
39 mod("stdlib", "1.4.6"),
40 // General QOL
41 // Better loaders
42 mod("LoaderRedux", "1.7.1"),
43 mod("LoaderReduxForFactorioExtendedPlus", "1.1.0"),
44 // Trains
45 mod("traintunnels", "0.0.11"),
46 mod("FARL", "4.1.2"),
47 // Move between buildings
48 mod("Squeak Through", "1.8.2"),
49 // Requirements calculator
50 mod("helmod", "0.12.5"),
51 // Compact loaders for easier and faster transportation
52 mod("deadlock-beltboxes-loaders", "2.4.2"),
53 // Better inserters
54 mod("bobinserters", "1.1.0"),
55 // Teleport to tags for easier movement with huge server
56 mod("TagToTeleport", "1.1.1"),
57 // Necessary for PYmods to get proper list of ingredients for the next step
58 mod("what-is-it-really-used-for", "1.6.0"),
59 // Resource monitor
60 mod("YARM", "0.8.203"),
61 // YEET
62 mod("RenaiTransportation", "0.8.6"),
63
64 // PYmods
65 mod("pypetroleumhandling", "2.0.6"),
66 mod("pyrawores", "2.2.7"),
67 mod("pyraworesgraphics", "1.0.9"),
68 mod("pycoalprocessing", "1.9.3"),
69 mod("pycoalprocessinggraphics", "1.0.9"),
70 // Resource overhaul
71 mod("rso-mod", "6.2.6")
72 ],
73 },
74 },
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020075}