blob: f254486cb190317f37bbf34e4020bf712b3f1b46 [file] [log] [blame]
local kube = import "../../kube/hscloud.libsonnet";
// NOTE: Run `kubectl -n kasownik delete job/kasownik-clear-lockfile; kubecfg update hswaw/kasownik/clear_lockfile.jsonnet` to clear lockfile
// This will not work if cronjob pod is still running (volume won't be mounted)
{
local top = self,
local cfg = self.cfg,
cfg:: {
name: 'kasownik',
namespace: 'kasownik',
},
local ns = kube.Namespace(cfg.namespace),
clear_lockfile: ns.Contain(kube.Job(cfg.name + '-clear-lockfile')) {
spec+: {
ttlSecondsAfterFinished: 10, // NOTE: does not work, requires k8s 1.23
template+: {
spec+: {
containers_: {
default: kube.Container("default") {
image: 'alpine:3.20.1',
volumeMounts_: {
data: { mountPath: '/data' },
},
command: ["sh", "-c", |||
set -e -x
rm /data/kasownik.lock
|||]
}
},
volumes_: {
data: {
persistentVolumeClaim: { claimName: cfg.name + '-fetch-data' },
},
}
}
}
}
}
}