blob: e89985974c30a3717e1fe5690aa7394d618b5c8d [file] [log] [blame]
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"),
],
},
},
}