forked from hswaw/hscloud
49 lines
1.3 KiB
Text
49 lines
1.3 KiB
Text
local mirko = import "../../kube/mirko.libsonnet";
|
|
|
|
{
|
|
local top = self,
|
|
shipstuck:: {
|
|
cfg:: {
|
|
image: "registry.k0.hswaw.net/q3k/shipstuck:315532800-0939d664a3eac4c0c67b447265c67bbcda9939d4",
|
|
domain: error "domain must be set",
|
|
},
|
|
component(cfg, env): mirko.Component(env, "shipstuck") {
|
|
local shipstuck = self,
|
|
cfg+: {
|
|
image: cfg.image,
|
|
container: shipstuck.GoContainer("main", "/personal/q3k/shipstuck") {
|
|
command+: [
|
|
"-public_address", "0.0.0.0:8080",
|
|
],
|
|
},
|
|
ports+: {
|
|
publicHTTP: {
|
|
public: {
|
|
port: 8080,
|
|
dns: cfg.domain,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
env(name):: mirko.Environment(name) {
|
|
local env = self,
|
|
local cfg = self.cfg,
|
|
cfg+: {
|
|
shipstuck: top.shipstuck.cfg,
|
|
},
|
|
components: {
|
|
shipstuck: top.shipstuck.component(cfg.shipstuck, env),
|
|
},
|
|
},
|
|
|
|
prod: top.env("personal-q3k") {
|
|
cfg+: {
|
|
shipstuck+: {
|
|
domain: "shipstuck.q3k.org",
|
|
},
|
|
},
|
|
},
|
|
}
|