New macros working with Docker Compose

This commit is contained in:
Cyber MacGeddon 2024-10-14 17:29:07 +01:00
parent 0369072bdd
commit ed605f03f9

View file

@ -18,12 +18,15 @@
reservations: {},
ports: [],
volumes: [],
environment: {},
with_image:: function(x) self + { image: x },
with_command:: function(x) self + { command: x },
with_environment:: function(x) self + { environment: x },
with_environment:: function(x) self + {
environment: super.environment + x,
},
with_limits:: function(c, m) self + { limits: { cpus: c, memory: m } },
@ -45,6 +48,16 @@
]
},
with_env_var_secrets::
function(vars)
std.foldl(
function(obj, x) obj.with_environment(
{ [x]: "${" + x + "}" }
),
vars.variables,
self
),
add:: function() {
services +: {
[container.name]: {
@ -62,7 +75,7 @@
{ command: container.command }
else {}) +
(if std.objectHas(container, "environment") then
(if ! std.isEmpty(container.environment) then
{ environment: container.environment }
else {}) +
@ -170,6 +183,27 @@
},
envSecrets:: function(name)
{
local volume = self,
name: name,
volid:: name,
variables:: [],
with_env_var::
function(name) self + {
variables: super.variables + [name],
},
add:: function() {
}
},
containers:: function(name, containers)
{