blob: 0e3888ff0389ccb4b199e4b18cc47afae605a2bd [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 Bazanskif7efc402021-06-18 19:30:21 +000011// - 1.1.35-1
Serge Bazanskie7f4cc12021-06-12 21:55:40 +000012// See: //third_party/factorio.
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020013
14{
15 local prod = self,
16
17 namespace: kube.Namespace("factorio"),
Serge Bazanskic684ca92021-06-12 22:02:25 +000018
19 // instance makes a factorio server with a given name and at a
20 // given tag/version.
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020021 instance(name, tag):: factorio {
22 cfg+: {
23 namespace: "factorio",
24 prefix: name + "-",
25 tag: tag,
26 }
27 },
28
Serge Bazanskic684ca92021-06-12 22:02:25 +000029 proxy: proxy {
30 cfg+: {
31 namespace: "factorio",
Sergiusz Bazanski0581bbf2020-05-11 03:21:32 +020032 },
33 },
34
35 local mod = function(name, version) { name: name, version: version },
Serge Bazanskif7efc402021-06-18 19:30:21 +000036 pymods: prod.instance("pymods", "1.1.35-1") {
Dariusz Niemczykb3799c82021-06-12 23:02:58 +020037 cfg+: {
38 mods: [
39 // Stdlib for mods
40 mod("stdlib", "1.4.6"),
41 // General QOL
42 // Better loaders
43 mod("LoaderRedux", "1.7.1"),
44 mod("LoaderReduxForFactorioExtendedPlus", "1.1.0"),
45 // Trains
46 mod("traintunnels", "0.0.11"),
47 mod("FARL", "4.1.2"),
48 // Move between buildings
49 mod("Squeak Through", "1.8.2"),
50 // Requirements calculator
51 mod("helmod", "0.12.5"),
52 // Compact loaders for easier and faster transportation
53 mod("deadlock-beltboxes-loaders", "2.4.2"),
54 // Better inserters
55 mod("bobinserters", "1.1.0"),
56 // Teleport to tags for easier movement with huge server
57 mod("TagToTeleport", "1.1.1"),
58 // Necessary for PYmods to get proper list of ingredients for the next step
59 mod("what-is-it-really-used-for", "1.6.0"),
60 // Resource monitor
61 mod("YARM", "0.8.203"),
62 // YEET
63 mod("RenaiTransportation", "0.8.6"),
64
65 // PYmods
66 mod("pypetroleumhandling", "2.0.6"),
67 mod("pyrawores", "2.2.7"),
68 mod("pyraworesgraphics", "1.0.9"),
69 mod("pycoalprocessing", "1.9.3"),
70 mod("pycoalprocessinggraphics", "1.0.9"),
71 // Resource overhaul
Dariusz Niemczykba0fd862021-06-13 23:45:56 +020072 mod("rso-mod", "6.2.6"),
73 // mciancia
74 mod("Warehousing", "0.5.2"),
75 mod("AbandonedRuins", "1.1.4"),
76 mod("Factorissimo2", "2.5.2"),
Dariusz Niemczykb3799c82021-06-12 23:02:58 +020077 ],
78 },
79 },
Sergiusz Bazanskicb5c3212019-05-19 03:10:17 +020080}