| local factorio = import "factorio.libsonnet"; |
| local proxy = import "proxy.libsonnet"; |
| local kube = import "../../../kube/kube.libsonnet"; |
| |
| // This deploys factorio instances and the modproxy in the `factorio` |
| // Kubernetes namespace. |
| // |
| // Available factorio versions: |
| // - 1.0.0-1 |
| // - 1.1.34-1 |
| // - 1.1.35-1 |
| // - 1.1.50-1 |
| // See: //third_party/factorio. |
| |
| { |
| local prod = self, |
| |
| local ns = kube.Namespace("factorio"), |
| |
| // instance makes a factorio server with a given name and at a |
| // given tag/version. |
| instance(name, tag):: factorio { |
| cfg+: { |
| namespace: "factorio", |
| prefix: name + "-", |
| tag: tag, |
| } |
| }, |
| |
| proxy: proxy { |
| cfg+: { |
| namespace: "factorio", |
| }, |
| }, |
| |
| local mod = function(name, version) { name: name, version: version }, |
| pymods: prod.instance("pymods", "1.1.50-1") { |
| cfg+: { |
| // Bump up to 2G/2CPU request/limit. |
| resources: { |
| requests: { |
| cpu: "2", |
| memory: "2Gi", |
| }, |
| limits: self.requests, |
| }, |
| mods: [ |
| // Stdlib for mods |
| mod("stdlib", "1.4.6"), |
| // General QOL |
| // Better loaders |
| mod("LoaderRedux", "1.7.1"), |
| mod("LoaderReduxForFactorioExtendedPlus", "1.1.0"), |
| // Trains |
| mod("traintunnels", "0.0.11"), |
| mod("FARL", "4.1.2"), |
| // Move between buildings |
| mod("Squeak Through", "1.8.2"), |
| // Requirements calculator |
| mod("helmod", "0.12.5"), |
| // Compact loaders for easier and faster transportation |
| mod("deadlock-beltboxes-loaders", "2.4.2"), |
| // Better inserters |
| mod("bobinserters", "1.1.0"), |
| // Teleport to tags for easier movement with huge server |
| mod("TagToTeleport", "1.1.1"), |
| // Necessary for PYmods to get proper list of ingredients for the next step |
| mod("what-is-it-really-used-for", "1.6.0"), |
| // Resource monitor |
| mod("YARM", "0.8.203"), |
| // YEET |
| mod("RenaiTransportation", "0.8.6"), |
| |
| // PYmods |
| mod("pypetroleumhandling", "2.0.6"), |
| mod("pyrawores", "2.2.7"), |
| mod("pyraworesgraphics", "1.0.9"), |
| mod("pycoalprocessing", "1.9.3"), |
| mod("pycoalprocessinggraphics", "1.0.9"), |
| // Resource overhaul |
| mod("rso-mod", "6.2.6"), |
| // mciancia |
| mod("Warehousing", "0.5.2"), |
| mod("AbandonedRuins", "1.1.4"), |
| mod("Factorissimo2", "2.5.2"), |
| ], |
| }, |
| }, |
| } |