48 lines
792 B
Plaintext
48 lines
792 B
Plaintext
let
|
|
schema = import "./schema.dcdl";
|
|
profiles = import "./profiles.dcdl";
|
|
|
|
mkService = (cfg: schema.Service) =>
|
|
cfg // {
|
|
summary = match cfg.env {
|
|
"prod": "production service";
|
|
"dev": "development service";
|
|
_: "custom service";
|
|
};
|
|
};
|
|
|
|
devService = mkService(
|
|
profiles.base & {
|
|
name = "api-dev";
|
|
port = 8443;
|
|
}
|
|
);
|
|
|
|
prodService = mkService(
|
|
profiles.prod & {
|
|
name = "api";
|
|
port = 9443;
|
|
}
|
|
);
|
|
|
|
disabledService = mkService(
|
|
profiles.disabled & {
|
|
name = "api-disabled";
|
|
port = 10443;
|
|
}
|
|
);
|
|
in
|
|
{
|
|
services = [
|
|
devService,
|
|
prodService,
|
|
disabledService,
|
|
];
|
|
|
|
selected = match "prod" {
|
|
"prod": prodService;
|
|
"dev": devService;
|
|
_: disabledService;
|
|
};
|
|
}
|