Merge pull request #11 from input-output-hk/tempo
imp: add tempo monitoring
imp: add tempo monitoring
"alejandra": {
"inputs": {
"flakeCompat": "flakeCompat",
"nixpkgs": "nixpkgs_32"
"nixpkgs": "nixpkgs_35"
},
"locked": {
"lastModified": 1646360966,
"alejandra_3": {
"inputs": {
"flakeCompat": "flakeCompat_3",
"nixpkgs": "nixpkgs_57"
"nixpkgs": "nixpkgs_60"
},
"locked": {
"lastModified": 1646937818,
"data-merge": "data-merge",
"deploy": "deploy_2",
"fenix": "fenix_4",
"hydra": "hydra_2",
"flake-arch": "flake-arch",
"n2c": "n2c",
"nix": "nix_4",
"nixpkgs": "nixpkgs_21",
"ragenix": "ragenix_3",
"std": "std",
"terranix": "terranix_2",
"utils": "utils_9"
"tullia": "tullia",
"utils": "utils_10"
},
"locked": {
"lastModified": 1663263822,
"narHash": "sha256-aXvRoLkRG0TifYK4Li9jwzp4ZcV0Winx6gs3b8Eti1c=",
"lastModified": 1664289564,
"narHash": "sha256-dESIAnrkhibZt/TOGKqArZOnZ/W/pVwnUZ3a4F4DNZM=",
"owner": "input-output-hk",
"repo": "bitte",
"rev": "d5114ec3f264031cb00831b4a35ec0af54f31bfa",
"rev": "0e00dddfebb37b5e022f82e036326f07bc945f06",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "tempo",
"repo": "bitte",
"type": "github"
}
"cicero": "cicero",
"data-merge": "data-merge_3",
"n2c": "n2c_2",
"nixpkgs": "nixpkgs_39",
"std": "std_2"
"nixpkgs": "nixpkgs_42",
"std": "std_3"
},
"locked": {
"lastModified": 1658850116,
"narHash": "sha256-z5OoixQSwb3UCi8gZYD6WddlzzhrbATv7Os5cJk4Jbk=",
"lastModified": 1664287305,
"narHash": "sha256-Vnl2snfdsE6cDloX5zKaIaFVwyMnU+phCxNucaUY6AI=",
"owner": "input-output-hk",
"repo": "bitte-cells",
"rev": "f222dc0a2f68db3c97d331b9d79ae4edcb46033f",
"rev": "60dc9ea76c28c2769be7197c8484130ab5fc83f6",
"type": "github"
},
"original": {
"bitte"
],
"iogo": "iogo_2",
"nixpkgs": "nixpkgs_44",
"nixpkgs": "nixpkgs_47",
"ragenix": "ragenix_4"
},
"locked": {
"haskellNix",
"nixpkgs-2111"
],
"utils": "utils_10"
"utils": "utils_11"
},
"locked": {
"lastModified": 1645734231,
},
"cardano-iohk-nix": {
"inputs": {
"nixpkgs": "nixpkgs_25"
"nixpkgs": "nixpkgs_28"
},
"locked": {
"lastModified": 1649070135,
},
"cardano-mainnet-mirror": {
"inputs": {
"nixpkgs": "nixpkgs_26"
"nixpkgs": "nixpkgs_29"
},
"locked": {
"lastModified": 1642701714,
"haskellNix",
"nixpkgs-2105"
],
"utils": "utils_11"
"utils": "utils_12"
},
"locked": {
"lastModified": 1644509050,
"inputs": {
"customConfig": "customConfig_3",
"emanote": "emanote",
"flake-compat": "flake-compat_7",
"flake-utils": "flake-utils_17",
"flake-compat": "flake-compat_8",
"flake-utils": "flake-utils_19",
"haskellNix": "haskellNix_3",
"hostNixpkgs": [
"bitte-cells",
"inputs": {
"alejandra": "alejandra",
"data-merge": "data-merge_2",
"devshell": "devshell_6",
"devshell": "devshell_7",
"driver": "driver",
"follower": "follower",
"haskell-nix": "haskell-nix",
"inclusive": "inclusive_7",
"nix": "nix_6",
"nix-cache-proxy": "nix-cache-proxy",
"nixpkgs": "nixpkgs_36",
"nixpkgs": "nixpkgs_39",
"poetry2nix": "poetry2nix",
"utils": "utils_15"
"utils": "utils_16"
},
"locked": {
"lastModified": 1647522107,
"inputs": {
"alejandra": "alejandra_2",
"data-merge": "data-merge_4",
"devshell": "devshell_13",
"devshell": "devshell_14",
"driver": [
"nomad-driver-nix"
],
"nix2container"
],
"nixos-shell": "nixos-shell",
"nixpkgs": "nixpkgs_49",
"nixpkgs": "nixpkgs_52",
"poetry2nix": "poetry2nix_2",
"spongix": [
"spongix"
],
"tullia": "tullia",
"utils": "utils_19"
"tullia": "tullia_2",
"utils": "utils_20"
},
"locked": {
"lastModified": 1662449246,
"data-merge_3": {
"inputs": {
"nixlib": "nixlib_3",
"yants": "yants_3"
"yants": "yants_4"
},
"locked": {
"lastModified": 1647559489,
"data-merge_4": {
"inputs": {
"nixlib": "nixlib_4",
"yants": "yants_6"
"yants": "yants_7"
},
"locked": {
"lastModified": 1648237091,
"data-merge_5": {
"inputs": {
"nixlib": "nixlib_5",
"yants": "yants_8"
"yants": "yants_9"
},
n2c.url = "github:nlewo/nix2container";
data-merge.url = "github:divnix/data-merge";
# --- Bitte Stack ----------------------------------------------
bitte.url = "github:input-output-hk/bitte/tempo";
bitte.url = "github:input-output-hk/bitte";
# bitte.url = "path:/home/jlotoski/work/iohk/bitte-wt/tempo";
# bitte.url = "path:/home/manveru/github/input-output-hk/bitte";
bitte-cells.url = "github:input-output-hk/bitte-cells";
# bitte-cells.url = "path:/home/jlotoski/work/iohk/bitte-cells-wt/patroni-metrics";
# bitte-cells.url = "path:/home/jlotoski/work/iohk/bitte-cells-wt/bitte-cells";
bitte.inputs.nomad-driver-nix.follows = "nomad-driver-nix";
# --------------------------------------------------------------
# --- Auxiliary Nixpkgs ----------------------------------------
};
handbook = builtins.getFlake "github:input-output-hk/cicero/${config.run.facts.${factNames.ci}.value.revision}#handbook-entrypoint";
in {
io = ''
let cfg = {
"us-east-2"
];
group.handbook = {
networks = [{
port.http = {};
}];
services = [{
name = "cicero-handbook";
port = "http";
tags = [
"ingress"
"traefik.enable=true"
"traefik.http.routers.cicero-handbook.rule=Host(`cicero-handbook.ci.iog.io`) && PathPrefix(`/`)"
"traefik.http.routers.cicero-handbook.entrypoints=https"
"traefik.http.routers.cicero-handbook.middlewares=oauth-auth-redirect@file"
"traefik.http.routers.cicero-handbook.tls=true"
"traefik.http.routers.cicero-handbook.tls.certresolver=acme"
];
checks = [{
type = "tcp";
networks = [
{
port.http = {};
}
];
services = [
{
name = "cicero-handbook";
port = "http";
# 10s in nanoseconds
interval = 10000000000;
# 2s in nanoseconds
timeout = 2000000000;
}];
}];
tags = [
"ingress"
"traefik.enable=true"
"traefik.http.routers.cicero-handbook.rule=Host(`cicero-handbook.ci.iog.io`) && PathPrefix(`/`)"
"traefik.http.routers.cicero-handbook.entrypoints=https"
"traefik.http.routers.cicero-handbook.middlewares=oauth-auth-redirect@file"
"traefik.http.routers.cicero-handbook.tls=true"
"traefik.http.routers.cicero-handbook.tls.certresolver=acme"
];
checks = [
{
type = "tcp";
port = "http";
# 10s in nanoseconds
interval = 10000000000;
# 2s in nanoseconds
timeout = 2000000000;
}
];
}
];
task.handbook = {
driver = "nix";
config = {
patroniMods.scaling = 3;
patroniMods.resources.cpu = 12000;
patroniMods.resources.memory = 16 * 1024;
tempoMods.scaling = 1;
tempoMods.resources.cpu = 3000;
tempoMods.resources.memory = 3 * 1024;
tempoMods.storageS3Bucket = "iohk-ci-tempo";
tempoMods.storageS3Endpoint = "s3.eu-central-1.amazonaws.com";
};
}
}: {
imports = [
(bitte-cells.patroni.hydrationProfiles.hydrate-cluster ["prod"])
(bitte-cells.tempo.hydrationProfiles.hydrate-cluster ["prod"])
];
# NixOS-level hydration
extraAcmeSANs = [];
kms = "arn:aws:kms:eu-central-1:074718059002:key/5bb7cc1b-151c-4841-bcb3-622bc8df4b5a";
s3Bucket = "iohk-ci-bitte";
s3BucketTempo = "iohk-ci-tempo";
s3Tempo = "iohk-ci-tempo";
};
services = {
(inputs.bitte-cells.patroni.alerts)
bitte-cells-patroni
;
inherit
(inputs.bitte-cells.tempo.alerts)
bitte-cells-tempo
;
}
# Dashboard attrset
{
(inputs.bitte-cells.patroni.dashboards)
bitte-cells-patroni
;
inherit
(inputs.bitte-cells.tempo.dashboards)
bitte-cells-tempo-operational
bitte-cells-tempo-reads
bitte-cells-tempo-writes
;
};
};
cell,
}: let
inherit (inputs.data-merge) append merge;
inherit (inputs.bitte-cells) patroni vector;
inherit (inputs.bitte-cells) patroni tempo vector;
inherit (cell) constants;
inherit (constants) args;
inherit (cell.library) pp;
# Job mod constants
patroniMods
tempoMods
;
in {
database = merge (patroni.nomadJob.default (args.prod // {inherit (patroniMods) scaling;})) {
database = merge (patroni.nomadCharts.default (args.prod // {inherit (patroniMods) scaling;})) {
job.database.constraint = append [
{
operator = "distinct_property";
job.database.group.database.task.backup-walg.env = {inherit WALG_S3_PREFIX;};
};
tempo = merge (tempo.nomadCharts.default (args.prod
// {
inherit (tempoMods) scaling;
nodeClass = "test";
extraTempo = {
services.tempo = {
inherit (tempoMods) storageS3Bucket storageS3Endpoint;
};
};
})) {
job.tempo.group.tempo.task.tempo = {
env = {
# DEBUG_SLEEP = 3600;
# LOG_LEVEL = "debug";
};
resources = {inherit (tempoMods.resources) cpu memory;};
};
};
cicero = import ./cicero {
inherit inputs cell;
inherit (constants.args.prod) domain namespace;
State parameters in this commit: * serial: 413 * lineage: f5784603-8018-97ce-cd82-625ba83e977e * version: 4 * terraform_version: 0.13.7
Prevent updating protocol version with `PParamUpdate`