validator1:
  kms:
    type: gcp
    locationId: us-central1
    projectId: da-cn-devnet
    keyRingId: validator1_mock
multiValidator:
  postgresPvcSize: '100Gi'
  # Dummy values for testing
  extraValidatorEnvVars:
    - name: MULTI_VALIDATOR_ADDITIONAL_CONFIG_YOLO
      value: |
        canton.validator-apps.validator_backend_INDEX.automation.paused-triggers += "org.lfdecentralizedtrust.splice.wallet.automation.ExpireTransferOfferTrigger"
        canton.validator-apps.validator_backend_INDEX.automation.paused-triggers += "org.lfdecentralizedtrust.splice.wallet.automation.ExpireAcceptedTransferOfferTrigger"
  extraParticipantEnvVars:
    - name: MULTI_PARTICIPANT_ADDITIONAL_CONFIG_MAX_CONNECTIONS
      value: canton.participants.participant_INDEX.storage.parameters.max-connections = 33
sv:
  synchronizer:
    skipInitialization: true
splitwell:
  maxDarVersion: '0.1.8'
synchronizerMigration:
  archived:
    - id: 1
      version: 0.3.18
      releaseReference:
        gitReference: "981227e62011e386cca3cdb5f00b472cf05a12c4"
        repoUrl: https://github.com/hyperledger-labs/splice
        pulumiStacksDir: "cluster/stacks/prod"
        pulumiBaseDir: "splice/cluster/pulumi"
        deploymentDir: "cluster/deployment"
        spliceRoot: "splice"
    - id: 2
      version: 0.3.19
      releaseReference:
        gitReference: "refs/heads/release-line-0.3.19"
        repoUrl: https://github.com/hyperledger-labs/splice
        pulumiStacksDir: "cluster/stacks/prod"
        pulumiBaseDir: "splice/cluster/pulumi"
        deploymentDir: "cluster/deployment"
        spliceRoot: "splice"
  active:
    id: 3
    version: 0.3.20
    releaseReference:
      gitReference: "refs/heads/release-line-0.3.20"
      repoUrl: https://github.com/hyperledger-labs/splice
      pulumiStacksDir: "cluster/stacks/prod"
      pulumiBaseDir: "splice/cluster/pulumi"
      deploymentDir: "cluster/deployment"
      spliceRoot: "splice"
      privateConfigsDir: "cluster/configs/configs-private"
      publicConfigsDir: "cluster/configs/configs"
  upgrade:
    id: 4
    version: 0.3.21
    releaseReference:
      gitReference: "refs/heads/release-line-0.3.21"
      repoUrl: https://github.com/hyperledger-labs/splice
      pulumiStacksDir: "cluster/stacks/prod"
      pulumiBaseDir: "splice/cluster/pulumi"
      deploymentDir: "cluster/deployment"
      spliceRoot: "splice"
      privateConfigsDir: "cluster/configs/configs-private"
      publicConfigsDir: "cluster/configs/configs"
pulumiProjectConfig:
  default:
    interAppsDependencies: false
    isExternalCluster: true
    hasPublicInfo: true
    cloudSql:
      enabled: true
monitoring:
  alerting:
    enableNoDataAlerts: true
    alerts:
      cloudSql:
        maintenance: true
      svNames:
        - Dummy-SV-1
        - Dummy-SV-2
    logAlerts:
      # These are mock values and in no way recommendations
      forCometBft: |
        -(resource.labels.container_name="multi-validator" AND jsonPayload.message=~"wallet/transfer-offers.* resulted in a timeout")
      forNonTAPS: |
        -(resource.labels.container_name="multi-participant" AND jsonPayload.message=~"The sequencer clock timestamp.*is already past the max sequencing time")
        -(jsonPayload."span-name"="MergeValidatorLicenseContractsTrigger" AND (severity=WARNING OR "has not vetted"))
        -(jsonPayload."error-code"=~"ACS_COMMITMENT_MISMATCH" AND jsonPayload.remote=~"tw-cn-testnet-participant")
      missingConfiguredCardinality: |
        -(jsonPayload.message="Instrument splice.trigger.latency.duration.seconds has exceeded the maximum allowed cardinality (1999).")
operatorDeployment:
  reference:
    gitReference: refs/heads/main
    repoUrl: https://github.com/DACH-NY/canton-network-internal
    pulumiStacksDir: "cluster/stacks/prod"
    pulumiBaseDir: "splice/cluster/pulumi"
    deploymentDir: "cluster/deployment"
    spliceRoot: "splice"
    privateConfigsDir: "cluster/configs/configs-private"
    publicConfigsDir: "cluster/configs/configs"
loadTester:
  enable: true
  iterationsPerMinute: 30
  minRate: 0.123
  chartVersion: 1.2.3
  adaptiveScenario:
    enabled: true
svs:
  default:
    scanApp:
      additionalEnvVars:
        - name: CUSTOM_MOCK_ENV_VAR_NAME
          value: CUSTOM_MOCK_ENV_VAR_VALUE
      additionalJvmOptions: "-DcustomScanAppJvmFlag"
      resources:
        requests:
          cpu: "0.5"
          memory: '1536Mi'
        limits:
          memory: '2048Mi'
    svApp:
      additionalEnvVars:
        - name: CUSTOM_MOCK_ENV_VAR_NAME
          value: CUSTOM_MOCK_ENV_VAR_VALUE
      additionalJvmOptions: "-DcustomSvAppJvmFlag"
      resources:
        requests:
          cpu: "1"
          memory: '1Gi'
        limits:
          memory: '2Gi'
    participant:
      additionalEnvVars:
        - name: CUSTOM_MOCK_ENV_VAR_NAME
          value: CUSTOM_MOCK_ENV_VAR_VALUE
      additionalJvmOptions: "-DcustomParticipantJvmFlag"
    sequencer:
      additionalEnvVars:
        - name: CUSTOM_MOCK_ENV_VAR_NAME
          value: CUSTOM_MOCK_ENV_VAR_VALUE
      additionalJvmOptions: "-DcustomSequencerJvmFlag"
      cloudSql:
        tier: "sequencer-override-tier"
      resources:
        requests:
          cpu: "1"
          memory: '1Gi'
        limits:
          memory: '2Gi'
    mediator:
      additionalEnvVars:
        - name: CUSTOM_MOCK_ENV_VAR_NAME
          value: CUSTOM_MOCK_ENV_VAR_VALUE
      additionalJvmOptions: "-DcustomMediatorJvmFlag"
      resources:
        requests:
          cpu: "1"
          memory: '1Gi'
        limits:
          memory: '2Gi'
    logging:
      appsLogLevel: WARN
      cantonLogLevel: INFO
      cantonStdoutLogLevel: DEBUG
  sv:
    participant:
      bftSequencerConnection: false
  sv-1:
    logging:
      appsLogLevel: WARN
      cantonLogLevel: INFO
      cantonStdoutLogLevel: DEBUG
    scanApp:
      bigQuery:
        dataset: mock_da2_scan
        prefix: da2
  sv-da-1: # non "sv-X" key => additional SV that is always deployed (key == node name == k8s namespace)
    publicName: Digital-Asset-1
    subdomain: sv-1
    participant:
      kms:
        keyRingId: sv-da-1_participant_mock
        locationId: us-central1
    cometbft:
      nodeId: d825622358065aea3cb3b3479cf64d172675037e
      validatorKeyAddress: 2D21D8AB2306770E9F93E8BD0E0F07B3E86817D7
      keysGcpSecret: svda1-mock-cometbft-keys
    svApp:
      auth0:
        clientId: bxjt0vzLyRG2rk2fapXfOzH5lzK4mrl7
      svIdKeyGcpSecret: svda1-mock-id
      cometBftGovernanceKeyGcpSecret: svda1-mock-cometbft-governance-key
    validatorApp:
      walletUser: auth0|68c2c41e6470184569e4521e
      sweep:
        fromEnv: SVDA1
      auth0:
        clientId: fBFpzZSRuufk9ueV2pSEkOXNYXuQtVmY
    logging:
      appsLogLevel: INFO
      cantonLogLevel: INFO
infra:
  extraCustomResources:
    deny-onboard-prepare-endpoint:
      apiVersion: security.istio.io/v1
      kind: AuthorizationPolicy
      metadata:
        name: deny-onboard-prepare-endpoint
        # if we pass a list here, pulumi will multiply the CR for us
        namespace: [ sv-1, sv-2 ]
      spec:
        selector:
          matchLabels:
            app: sv-app
        action: DENY
        rules:
          - to:
              - operation:
                  paths: [ "/api/sv/v0/devnet/onboard/validator/prepare" ]
    mock-cr:
      apiVersion: mock.example.com/v1
      kind: MockResource
      metadata:
        name: mock-resource
        namespace: validator1
      spec:
        key: value
        anotherKey: anotherValue
cluster:
  nodePools:
    apps:
      nodeType: n2-standard-16
networkWide:
  maxVettingDelay: 1m
validators:
  validator-runbook:
    partyAllocator:
      enable: true
      maxParties: 1234
      parallelism: 321
      preapprovalRetries: 9876
      preapprovalRetryDelayMs: 42
    participant:
      additionalEnvVars:
        - name: ADDITIONAL_ENV_VAR_VALIDATOR_PARTICIPANT_NAME
          value: ADDITIONAL_ENV_VAR_VALIDATOR_PARTICIPANT_VALUE
      additionalJvmOptions: -Dparticipantoption
    validatorApp:
      additionalEnvVars:
        - name: ADDITIONAL_ENV_VAR_VALIDATOR_NAME
          value: ADDITIONAL_ENV_VAR_VALIDATOR_NAME
      additionalJvmOptions: -Dparticipantoption
  extra-validator:
    namespace: validator
    partyHint: 'extra-validator'
