From 39b04185c438ad093a10f626b8134c4c24353174 Mon Sep 17 00:00:00 2001 From: gonzalezzfelipe Date: Fri, 24 Jan 2025 17:15:20 -0300 Subject: [PATCH] chore: Handle private vector testnet image --- bootstrap/configs/main.tf | 16 + bootstrap/configs/prime-testnet/config.json | 10 +- bootstrap/configs/vector-testnet/alonzo.json | 365 ++++++++++++++++++ bootstrap/configs/vector-testnet/byron.json | 69 ++++ bootstrap/configs/vector-testnet/conway.json | 36 ++ bootstrap/configs/vector-testnet/shelley.json | 135 +++++++ bootstrap/instance/main.tf | 5 + bootstrap/instance/ogmios.tf | 30 ++ bootstrap/main.tf | 15 +- bootstrap/variables.tf | 13 +- 10 files changed, 676 insertions(+), 18 deletions(-) create mode 100644 bootstrap/configs/vector-testnet/alonzo.json create mode 100644 bootstrap/configs/vector-testnet/byron.json create mode 100644 bootstrap/configs/vector-testnet/conway.json create mode 100644 bootstrap/configs/vector-testnet/shelley.json diff --git a/bootstrap/configs/main.tf b/bootstrap/configs/main.tf index 2594b31..0ce55ad 100644 --- a/bootstrap/configs/main.tf +++ b/bootstrap/configs/main.tf @@ -17,6 +17,22 @@ resource "kubernetes_config_map" "node-config" { } } +resource "kubernetes_config_map" "genesis" { + for_each = var.network == "vector-testnet" ? toset(["vector-testnet"]) : toset([]) + + metadata { + namespace = var.namespace + name = "genesis-${var.network}" + } + + data = { + "alonzo.json" = "${file("${path.module}/${var.network}/alonzo.json")}" + "byron.json" = "${file("${path.module}/${var.network}/byron.json")}" + "conway.json" = "${file("${path.module}/${var.network}/conway.json")}" + "shelley.json" = "${file("${path.module}/${var.network}/shelley.json")}" + } +} + output "cm_name" { value = "configs-${var.network}" } diff --git a/bootstrap/configs/prime-testnet/config.json b/bootstrap/configs/prime-testnet/config.json index ff1d883..5fb9621 100644 --- a/bootstrap/configs/prime-testnet/config.json +++ b/bootstrap/configs/prime-testnet/config.json @@ -1,8 +1,8 @@ { - "ByronGenesisFile": "/genesis/prime-testnet/byron/genesis.json", - "ShelleyGenesisFile": "/genesis/prime-testnet/shelley/genesis.json", - "AlonzoGenesisFile": "/genesis/prime-testnet/shelley/genesis.alonzo.json", - "ConwayGenesisFile": "/genesis/prime-testnet/shelley/genesis.conway.json", + "ByronGenesisFile": "/genesis/prime-testnet/byron-genesis.json", + "ShelleyGenesisFile": "/genesis/prime-testnet/shelley-genesis.json", + "AlonzoGenesisFile": "/genesis/prime-testnet/alonzo-genesis.json", + "ConwayGenesisFile": "/genesis/prime-testnet/conway-genesis.json", "ByronGenesisHash": "acd3e7c4cc071ae176fa253e654f0dd4e759892b16e958d8bd3c393f5c6c66d2", "ShelleyGenesisHash": "0b67b0cb16e973478888efb1c7f69fca8e80489369afed94624a588e94a94f2b", "AlonzoGenesisHash": "0f715ff78fcab739c6cb2cc1073eb87d0ffe3514218bfa0337d416f6fbaf7886", @@ -106,4 +106,4 @@ "TraceLedgerPeers": true, "TracePeerSelectionCounters": true, "TracePeerStateActions": true -} +} \ No newline at end of file diff --git a/bootstrap/configs/vector-testnet/alonzo.json b/bootstrap/configs/vector-testnet/alonzo.json new file mode 100644 index 0000000..85319d8 --- /dev/null +++ b/bootstrap/configs/vector-testnet/alonzo.json @@ -0,0 +1,365 @@ +{ + "collateralPercentage": 150, + "costModels": { + "PlutusV1": [ + 197209, + 0, + 1, + 1, + 396231, + 621, + 0, + 1, + 150000, + 1000, + 0, + 1, + 150000, + 32, + 2477736, + 29175, + 4, + 29773, + 100, + 29773, + 100, + 29773, + 100, + 29773, + 100, + 29773, + 100, + 29773, + 100, + 100, + 100, + 29773, + 100, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 1000, + 0, + 1, + 150000, + 32, + 150000, + 1000, + 0, + 8, + 148000, + 425507, + 118, + 0, + 1, + 1, + 150000, + 1000, + 0, + 8, + 150000, + 112536, + 247, + 1, + 150000, + 10000, + 1, + 136542, + 1326, + 1, + 1000, + 150000, + 1000, + 1, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 1, + 1, + 150000, + 1, + 150000, + 4, + 103599, + 248, + 1, + 103599, + 248, + 1, + 145276, + 1366, + 1, + 179690, + 497, + 1, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 148000, + 425507, + 118, + 0, + 1, + 1, + 61516, + 11218, + 0, + 1, + 150000, + 32, + 148000, + 425507, + 118, + 0, + 1, + 1, + 148000, + 425507, + 118, + 0, + 1, + 1, + 2477736, + 29175, + 4, + 0, + 82363, + 4, + 150000, + 5000, + 0, + 1, + 150000, + 32, + 197209, + 0, + 1, + 1, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 150000, + 32, + 3345831, + 1, + 1 + ], + "PlutusV2": [ + 205665, + 812, + 1, + 1, + 1000, + 571, + 0, + 1, + 1000, + 24177, + 4, + 1, + 1000, + 32, + 117366, + 10475, + 4, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 23000, + 100, + 100, + 100, + 23000, + 100, + 19537, + 32, + 175354, + 32, + 46417, + 4, + 221973, + 511, + 0, + 1, + 89141, + 32, + 497525, + 14068, + 4, + 2, + 196500, + 453240, + 220, + 0, + 1, + 1, + 1000, + 28662, + 4, + 2, + 245000, + 216773, + 62, + 1, + 1060367, + 12586, + 1, + 208512, + 421, + 1, + 187000, + 1000, + 52998, + 1, + 80436, + 32, + 43249, + 32, + 1000, + 32, + 80556, + 1, + 57667, + 4, + 1000, + 10, + 197145, + 156, + 1, + 197145, + 156, + 1, + 204924, + 473, + 1, + 208896, + 511, + 1, + 52467, + 32, + 64832, + 32, + 65493, + 32, + 22558, + 32, + 16563, + 32, + 76511, + 32, + 196500, + 453240, + 220, + 0, + 1, + 1, + 69522, + 11687, + 0, + 1, + 60091, + 32, + 196500, + 453240, + 220, + 0, + 1, + 1, + 196500, + 453240, + 220, + 0, + 1, + 1, + 1159724, + 392670, + 0, + 2, + 806990, + 30482, + 4, + 1927926, + 82523, + 4, + 265318, + 0, + 4, + 0, + 85931, + 32, + 205665, + 812, + 1, + 1, + 41182, + 32, + 212342, + 32, + 31220, + 32, + 32696, + 32, + 43357, + 32, + 32247, + 32, + 38314, + 32, + 35892428, + 10, + 9462713, + 1021, + 10, + 38887044, + 32947, + 10 + ] + }, + "executionPrices": { + "prMem": 5.77e-2, + "prSteps": 7.21e-5 + }, + "lovelacePerUTxOWord": 34482, + "maxBlockExUnits": { + "exUnitsMem": 80000000, + "exUnitsSteps": 40000000000 + }, + "maxCollateralInputs": 3, + "maxTxExUnits": { + "exUnitsMem": 16000000, + "exUnitsSteps": 10000000000 + }, + "maxValueSize": 5000 +} \ No newline at end of file diff --git a/bootstrap/configs/vector-testnet/byron.json b/bootstrap/configs/vector-testnet/byron.json new file mode 100644 index 0000000..c3607e8 --- /dev/null +++ b/bootstrap/configs/vector-testnet/byron.json @@ -0,0 +1,69 @@ +{ + "bootStakeholders": { + "2cdf11838ee7db00a890b827a248a49ba1152a52ca4c255aa1f3399b": 1, + "7493fdbf764a9aca3658d8cc5d33982a67e3ab41fd9e6f0286339d65": 1, + "804aebfa8ae60c78c736937c199689fe9c6535303593263e84bbf956": 1, + "e603992855a731f551b1930bc57b70fcacca6e50a8e03f18e40fa1a1": 1 + }, + "heavyDelegation": { + "2cdf11838ee7db00a890b827a248a49ba1152a52ca4c255aa1f3399b": { + "omega": 0, + "issuerPk": "rqzMCDFtrR2+R+4chisx/9vVh80RVkF7D8VTi6qtqyaVDpUuUd6jB6BLF4uv4Dro9lGIQGLC1KWm9DWnuDwnRw==", + "delegatePk": "ZpID1MzkSX2vOfIDbnsz3wtuWuzB1YRmXK08JGYvQKg0+mKry0SF2NCXYAs/lxUtdOUi3URWR7eXoIPyNXowDw==", + "cert": "b63c70ea5c21a30df5f67ee07a01538ed651aee5b284a2dc2bd95bffb89f53ccc3b32182d3f71d4d2fe0d225cb3a657f8e53ba3dd0b14a937c6ed73b15b4020b" + }, + "7493fdbf764a9aca3658d8cc5d33982a67e3ab41fd9e6f0286339d65": { + "omega": 0, + "issuerPk": "0PteO35vhtiNRrVmBRZ44+toqwjNvRBDAfhPNHlCUpVV0fK9Oyr3TzF6mxe9VmLo+SnDMu6wmPqvrmmrduyaaQ==", + "delegatePk": "PoX8CRpsfIcjanukucqKKEcfcL24B1VIHIakFgrfI2Qv8tGXJZ9rZvbUwW+QE77y1xXgoumlBwKt7yG1XxhS+w==", + "cert": "6df94bfe888c8d6f8173e7158bc987db6e5b17ed14ccf2bb880a2f58fb88f219d2b3db854d349619d5600c663b8c8ac8332cf446e1b1b39c64449e0ae3add002" + }, + "804aebfa8ae60c78c736937c199689fe9c6535303593263e84bbf956": { + "omega": 0, + "issuerPk": "QDCbR+aPmeH7tdP8MilCIvYa95MzWUs30fkHDJdcgZLUhA3gngb+u5iusWUfw6BUAmvGIXHRBOrbOPz0vfQwkg==", + "delegatePk": "ROw4zybfWZYO7vMRnRgH+U9GRSbIYyK13hAwYaErogIYeqv1EWmqtAEIEfS+bCT3bOcMeUs15Yfr5Y3i18OjIg==", + "cert": "24227b9e1a608cd64dfaf269741292d881cd50eff81e241008c30844792c964668da6a086256f99c3b51a2266e5da36820f6132a1a95c5d6fa9d87b09d8d2507" + }, + "e603992855a731f551b1930bc57b70fcacca6e50a8e03f18e40fa1a1": { + "omega": 0, + "issuerPk": "OdQUAcpmPDPX43bT/lYFp4RQq0bVPeiInUkKJqzTMVjAaifZ98QhouV2dhCUg2Qqx0aoGTfy7WLYyB2916LDPg==", + "delegatePk": "tP6e3qaAWpkG3RS71BN5DbrdQAeyW1mAs2T6vefiWFLz10VHXCqS5nSvDiG6yLlT8HOwenQyC9cUAZZDDHT1sg==", + "cert": "c1e92d0031d3f15dfb01cb920bb2bfcb49b6851659403fa53c4e56a337fcf8289176c53df7bb1d609ced138586d957d671e90cbfb4fa289514b20c265f967f07" + } + }, + "startTime": 1708466961, + "nonAvvmBalances": { + "5oP9ib6ym3XbV2ghkTs51ND3PPokrnyCuMmkEf4qYdYboDVWbxPxZnTLn43URJjyQH": "2500000000000000", + "5oP9ib6ym3Xdv2BzuHxyrjX8zaootKPFtPmBzMuFVcizS6RaEmD291S2Pveo1EP3b8": "2500000000000000", + "5oP9ib6ym3Xi1v6J777HrdURHvsjcSEz9cN19R85974CD4EmGfxpaNne1jcKRwZCUt": "2500000000000000", + "5oP9ib6ym3XiioYnzbRbdfA19JYnizzyp1ZwFfVb1rwEEz25edWKZnpx96HgEPVyGB": "2500000000000000" + }, + "blockVersionData": { + "scriptVersion": 0, + "slotDuration": "20000", + "maxBlockSize": "2000000", + "maxHeaderSize": "2000000", + "maxTxSize": "4096", + "maxProposalSize": "700", + "mpcThd": "20000000000000", + "heavyDelThd": "300000000000", + "updateVoteThd": "1000000000000", + "updateProposalThd": "100000000000000", + "updateImplicit": "10000", + "softforkRule": { + "initThd": "900000000000000", + "minThd": "600000000000000", + "thdDecrement": "50000000000000" + }, + "txFeePolicy": { + "summand": "155381000000000", + "multiplier": "43946000000" + }, + "unlockStakeEpoch": "18446744073709551615" + }, + "protocolConsts": { + "k": 100, + "protocolMagic": 1177 + }, + "avvmDistr": {} +} diff --git a/bootstrap/configs/vector-testnet/conway.json b/bootstrap/configs/vector-testnet/conway.json new file mode 100644 index 0000000..a8025bc --- /dev/null +++ b/bootstrap/configs/vector-testnet/conway.json @@ -0,0 +1,36 @@ +{ + "committee": { + "members": {}, + "quorum": 0.0 + }, + "committeeMaxTermLength": 200, + "committeeMinSize": 0, + "constitution": { + "anchor": { + "dataHash": "0000000000000000000000000000000000000000000000000000000000000000", + "url": "" + } + }, + "dRepActivity": 20, + "dRepDeposit": 2000000, + "dRepVotingThresholds": { + "dvtCommitteeNoConfidence": 0.51, + "dvtCommitteeNormal": 0.51, + "dvtHardForkInitiation": 0.51, + "dvtMotionNoConfidence": 0.51, + "dvtPPEconomicGroup": 0.51, + "dvtPPGovGroup": 0.51, + "dvtPPNetworkGroup": 0.51, + "dvtPPTechnicalGroup": 0.51, + "dvtTreasuryWithdrawal": 0.51, + "dvtUpdateToConstitution": 0.51 + }, + "govActionDeposit": 1000000000, + "govActionLifetime": 10, + "poolVotingThresholds": { + "pvtCommitteeNoConfidence": 0.51, + "pvtCommitteeNormal": 0.51, + "pvtHardForkInitiation": 0.51, + "pvtMotionNoConfidence": 0.51 + } +} \ No newline at end of file diff --git a/bootstrap/configs/vector-testnet/shelley.json b/bootstrap/configs/vector-testnet/shelley.json new file mode 100644 index 0000000..fd00365 --- /dev/null +++ b/bootstrap/configs/vector-testnet/shelley.json @@ -0,0 +1,135 @@ +{ + "systemStart": "2024-02-20T22:09:21Z", + "networkMagic": 1177, + "networkId": "Testnet", + "activeSlotsCoeff": 0.5, + "securityParam": 100, + "epochLength": 86400, + "slotsPerKESPeriod": 129600, + "maxKESEvolutions": 60, + "slotLength": 1, + "updateQuorum": 2, + "maxLovelaceSupply": 1e+17, + "protocolParams": { + "minFeeA": 44, + "minFeeB": 155381, + "maxBlockBodySize": 65536, + "maxTxSize": 16384, + "maxBlockHeaderSize": 1100, + "keyDeposit": 0, + "poolDeposit": 0, + "eMax": 18, + "nOpt": 100, + "a0": 0, + "rho": 0.1, + "tau": 0.1, + "minPoolCost": 0, + "decentralisationParam": 0.7, + "extraEntropy": { + "tag": "NeutralNonce" + }, + "protocolVersion": { + "major": 7, + "minor": 0 + }, + "minUTxOValue": 1000000 + }, + "genDelegs": { + "2079f4182ed7caf4dac73fb241dc6fb8d144c4c6ab7952f689c2b8f8": { + "delegate": "80c1556ad0d02588bd0e0c948cfd33a00e28874bdd6bb35b5b9c2efe", + "vrf": "551efd2bec23baffa16fe71da93c8b6390fea245dcfd7a78a4b02ddb3e9723ca" + }, + "9745b7dd83e42dcc6a946d9451e13f9ead7ca2643f370e47896a359a": { + "delegate": "a244214441288de3e481e1e0a037bf87c75168872bef7caa24b0d8d5", + "vrf": "a5dff866c2a3d8152e022498f0c0b9cde5982595c524451f893ca865ef2800c9" + }, + "ddf59c64251020c86a4f26812db84186371c78f20e31eba191bc85d0": { + "delegate": "8f6e571202cf26d0848b0eeb03124cd9ffab69f160c0e18dfa1faba0", + "vrf": "b96a3b1a22eebaf01902346fe264791dd179a5ca92312bfb9695bf056906c738" + } + }, + "initialFunds": { + "6052348482e791c50eb3e88eccf1eb6f9b0c57b4dac78f5a2b700f15ef": 540002, + "60ac2e6ca7deb2a88f44d34301ca591d657a29241879bfc1a5d9d0044c": 540000, + "6078a0d85296cf3c9f6d8a92f126c2224dbe785e0aed7f16c9c055c84c": 540000, + "603602677b4e9fa5ce2e46e231e5e4fb95a97ceef4092403eb591bf377": 540000, + "009d6cb4e423b2944596545b3bcd4f0450cc21b2eca9f70f975eb048e620001c4d06cb3f90f0d1dacc7895abc0092de7104a85319691f5abd1": 540002, + "00a8ed4bb0fb1c35d5f038616290ba8126548dd60c27113f5bf46fc326ef7641ccf2ef572d7cfed3995b3394de6ee9d61caabe4bf275a12dd1": 540000, + "00bface882d52b484bc0a5d55e5a96fb67398570b8fcdc4239630250407f20d4905fdbf195de1e42fe06660af4cf3d0751314fde5767d66345": 540000, + "00703eaef3b1d6c7d4eedd38b6718c201361bfc722183991a976615b5cf6b1c21116f7c2512220318f082854c5bf578c6aaae85488c0dfb88a": 540000 + }, + "staking": { + "pools": { + "a6fcc289a30696b64a47df65f9d664de669f9c9eaf24966aad382ad0": { + "cost": 0, + "margin": 0, + "metadata": null, + "owners": [], + "pledge": 0, + "publicKey": "a6fcc289a30696b64a47df65f9d664de669f9c9eaf24966aad382ad0", + "relays": [], + "rewardAccount": { + "credential": { + "keyHash": "f78ef27bbd29e3c27d88af28b7aee4cb7eb7d14a304518e7194d604f" + }, + "network": "Testnet" + }, + "vrf": "7b947be9c4dc48f571d23e32f315b57b087fc1b2810f1c70165349af95e70226" + }, + "89364f5daac40ff302adc376c9ba53c54ecdd1d5c5569aeb229ace26": { + "cost": 0, + "margin": 0, + "metadata": null, + "owners": [], + "pledge": 0, + "publicKey": "89364f5daac40ff302adc376c9ba53c54ecdd1d5c5569aeb229ace26", + "relays": [], + "rewardAccount": { + "credential": { + "keyHash": "f943da40f88b647d8c4174427f149209cd9b0d96528c9bbe21fdb9ea" + }, + "network": "Testnet" + }, + "vrf": "e548f1eab378e845da6b9130d54a0689269aba9bf75484aac033e0f0db632e0f" + }, + "dfcc023413bb9e99c6a63411a97a60505031dea09943f2e9e76dece9": { + "cost": 0, + "margin": 0, + "metadata": null, + "owners": [], + "pledge": 0, + "publicKey": "dfcc023413bb9e99c6a63411a97a60505031dea09943f2e9e76dece9", + "relays": [], + "rewardAccount": { + "credential": { + "keyHash": "1c4da5b64242e679bf75ae929f47f74aed17ebaf9a45fcd6956614fe" + }, + "network": "Testnet" + }, + "vrf": "6f86442e4264e2e9b81b63f16eeabb6e67884c7848ed017105a14fa945657ae9" + }, + "736d15b63ccd21edbbccad27edcdbeefb2db24bd1ae27bc029a1a521": { + "cost": 0, + "margin": 0, + "metadata": null, + "owners": [], + "pledge": 0, + "publicKey": "736d15b63ccd21edbbccad27edcdbeefb2db24bd1ae27bc029a1a521", + "relays": [], + "rewardAccount": { + "credential": { + "keyHash": "6169352daafcb5601b472317a7cee9f53bcdc0101a7e4da62f4f5a7f" + }, + "network": "Testnet" + }, + "vrf": "dd435f68da7a0ee13be68370d3004275ece0f3ce62754493a873efc1f85072db" + } + }, + "stake": { + "20001c4d06cb3f90f0d1dacc7895abc0092de7104a85319691f5abd1": "a6fcc289a30696b64a47df65f9d664de669f9c9eaf24966aad382ad0", + "ef7641ccf2ef572d7cfed3995b3394de6ee9d61caabe4bf275a12dd1": "89364f5daac40ff302adc376c9ba53c54ecdd1d5c5569aeb229ace26", + "7f20d4905fdbf195de1e42fe06660af4cf3d0751314fde5767d66345": "dfcc023413bb9e99c6a63411a97a60505031dea09943f2e9e76dece9", + "f6b1c21116f7c2512220318f082854c5bf578c6aaae85488c0dfb88a": "736d15b63ccd21edbbccad27edcdbeefb2db24bd1ae27bc029a1a521" + } + } +} diff --git a/bootstrap/instance/main.tf b/bootstrap/instance/main.tf index e3fb00c..2aebc4a 100644 --- a/bootstrap/instance/main.tf +++ b/bootstrap/instance/main.tf @@ -83,3 +83,8 @@ variable "tolerations" { } ] } + +variable "image_pull_secret" { + type = string + default = null +} diff --git a/bootstrap/instance/ogmios.tf b/bootstrap/instance/ogmios.tf index 1bef4e9..055b857 100644 --- a/bootstrap/instance/ogmios.tf +++ b/bootstrap/instance/ogmios.tf @@ -54,6 +54,13 @@ resource "kubernetes_deployment_v1" "ogmios" { spec { restart_policy = "Always" + dynamic "image_pull_secrets" { + for_each = var.image_pull_secret != null ? [var.image_pull_secret] : [] + content { + name = image_pull_secrets.value + } + } + security_context { fs_group = 1000 } @@ -91,6 +98,16 @@ resource "kubernetes_deployment_v1" "ogmios" { mount_path = "/config" } + dynamic "volume_mount" { + for_each = var.network == "vector-testnet" ? toset([1]) : toset([]) + + content { + name = "genesis" + mount_path = "/genesis/${var.network}" + } + + } + liveness_probe { http_get { path = "/health" @@ -137,6 +154,19 @@ resource "kubernetes_deployment_v1" "ogmios" { } } + dynamic "volume" { + for_each = var.network == "vector-testnet" ? toset([1]) : toset([]) + + content { + name = "genesis" + + config_map { + name = "genesis-${var.network}" + } + } + + } + dynamic "toleration" { for_each = var.tolerations content { diff --git a/bootstrap/main.tf b/bootstrap/main.tf index 32e285b..35f3768 100644 --- a/bootstrap/main.tf +++ b/bootstrap/main.tf @@ -71,13 +71,14 @@ module "ogmios_instances" { for_each = var.instances source = "./instance" - namespace = var.namespace - salt = each.value.salt - network = each.value.network - ogmios_image = each.value.ogmios_image - node_private_dns = each.value.node_private_dns - ogmios_version = each.value.ogmios_version - replicas = each.value.replicas + namespace = var.namespace + salt = each.value.salt + network = each.value.network + ogmios_image = each.value.ogmios_image + node_private_dns = each.value.node_private_dns + ogmios_version = each.value.ogmios_version + replicas = each.value.replicas + image_pull_secret = each.value.image_pull_secret tolerations = coalesce(each.value.tolerations, [ { effect = "NoSchedule" diff --git a/bootstrap/variables.tf b/bootstrap/variables.tf index 9422e23..e32ec0a 100644 --- a/bootstrap/variables.tf +++ b/bootstrap/variables.tf @@ -144,12 +144,13 @@ variable "proxy_resources" { variable "instances" { type = map(object({ - salt = string - network = string - ogmios_image = string - node_private_dns = string - ogmios_version = string - replicas = number + salt = string + network = string + ogmios_image = string + node_private_dns = string + ogmios_version = string + replicas = number + image_pull_secret = optional(string) resources = optional(object({ limits = object({ cpu = string