Add advanced Decodal example
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
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;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user