{
    "name": "qa_neo4j_5_debian_cluster",
    "description": "role applied to QA neo4j 5.x debian hosts",
    "run_list": [
      "role[qa_base_linux]",
      "recipe[irrigate-neo4j::default]",
      "recipe[irrigate-neo4j::user_backup]",
      "recipe[irrigate-neo4j::restart_user]",
      "recipe[irrigate-neo4j::support_user]",
      "recipe[irrigate-neo4j::reboot]",
      "recipe[irrigate-datadog::neo4j]"
    ],
    "override_attributes": {
      "sshd": {
        "sshd_config": {
          "ClientAliveCountMax": "60",
          "ClientAliveInterval": "60"
        }
      }
    },
    "default_attributes": {
      "aide_update": {
        "excluded_directories": [
          "/var/lib/neo4j",
          "/mnt"
        ]
      },
      "firewall": {
        "firewalld": {
          "permanent": true
        }
      },
      "datadog": {
        "journald": {
          "units": {
            "neo4j": true
          }
        },
        "neo4j_credentials_data_bag_name": "qa_neo4j_datadog_credentials",
        "max_message_size_bytes": 325000,
        "neo4j": {
          "cluster_name": "qa-neo4j-5-cluster",
          "version": "5.26.21",
          "wheel": {
            "version": "3.0.4",
            "source": "https://packagecloud.io/orchardit/neo4j/packages/python/datadog_neo4j-3.0.4-py3-none-any.whl/download"
          },
          "logs": [
            {
              "type": "file",
              "path": "/var/log/neo4j/debug.log",
              "source": "neo4j",
              "sourcecategory": "debug",
              "service": "neo4j"
            },
            {
              "type": "file",
              "path": "/var/log/neo4j/query.log",
              "source": "neo4j",
              "sourcecategory": "query",
              "service": "neo4j",
              "log_processing_rules": [
                {
                  "type": "exclude_at_match",
                  "name": "exclude-getRoutingTable",
                  "pattern": "CALL\\sdbms.routing.getRoutingTable"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-queryJmx",
                  "pattern": "CALL\\sdbms.queryJmx"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-ping",
                  "pattern": "CALL\\sdb.ping"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-licenseAgreementDetails",
                  "pattern": "CALL\\sdbms.licenseAgreementDetails"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-showCurrentUser",
                  "pattern": "CALL\\sdbms.showCurrentUser"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-connection-polling",
                  "pattern": "return\\s1"
                },
                {
                  "type": "exclude_at_match",
                  "name": "exclude-explain",
                  "pattern": "EXPLAIN"
                }
              ]
            }
          ]
        },
        "tags": {
          "environment": "qa",
          "service_name": "neo4j",
          "neo4j_cluster": "qa-neo4j-5-cluster"
        }
      },
      "neo4j": {
        "apoc": {
          "install_url": "https://github.com/neo4j/apoc/releases/download/5.26.21/apoc-5.26.21-core.jar",
          "checksum": "a097e5dd303641b40b9cbce64dc1065c540ee355c1496e413dea852272c34490"
        },
        "version": "5.26.21",
        "data_volume_type": "ebs",
        "config": {
          "dbms.netty.ssl.provider": "OPENSSL",
          "dbms.connectors.default_advertised_address_prefix": "qa-neo4j-5-cluster",
          "server.memory.heap.initial_size": "31G",
          "server.memory.heap.max_size": "31G",
          "server.memory.pagecache.size": "192000000000",
          "dbms.routing.enabled": "true",
          "causal_clustering.causal_clustering.discovery_address": "qa-neo4j-5-cluster-discovery.theorchard.io",
          "db.logs.query.enabled": "INFO",
          "ssl_policy": {
            "policies": {
              "backup": {
                "base_directory": "/etc/neo4j/default",
                "allow_key_generation": "false",
                "data_bag_name": "qa_neo4j_certificate",
                "trust_all": "false",
                "client_auth": "NONE",
                "verify_hostname": "false",
                "tls_versions": "TLSv1.2",
                "ciphers": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
              },
              "bolt": {
                "base_directory": "/etc/neo4j/default",
                "allow_key_generation": "false",
                "data_bag_name": "qa_neo4j_certificate",
                "trust_all": "false",
                "client_auth": "NONE",
                "verify_hostname": "false",
                "tls_versions": "TLSv1.2",
                "ciphers": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
              },
              "cluster": {
                "base_directory": "/etc/neo4j/cluster_policy",
                "allow_key_generation": "false",
                "data_bag_name": "qa_neo4j_certificate",
                "trust_all": "false",
                "client_auth": "REQUIRE",
                "verify_hostname": "false",
                "tls_versions": "TLSv1.2",
                "ciphers": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
              }
            }
          },
          "kafka.zookeeper.connect": "z-2.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:2182,z-3.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:2182,z-1.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:2182",
          "kafka.bootstrap.servers": "b-1.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094,b-3.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094,b-2.qa-managed-kafka-cdc-d.2kgc64.c6.kafka.us-east-1.amazonaws.com:9094",
          "kafka.security.protocol": "SSL",
          "kafka.ssl.truststore.location": "/etc/ssl/certs/java/cacerts",
          "dbms.security.procedures.allowlist": "apoc.*",
          "dbms.security.procedures.unrestricted": "apoc.*",
          "apoc.export.file.enabled": "true",
          "apoc.trigger.enabled": "true"
        },
        "backup": {
          "user_backup": {
            "ssh_public_key": "AAAAB3NzaC1yc2EAAAADAQABAAACAQDXHKlxExnz/BU3UQtgqFnfDDkqEjWBMk66XcDT4dtPXoJ5iqglrrNoOFX66zZh0TRyXdK8byd4JMq03GNU4w/vqtQgDAwxzooV9MGWJJwRP1WS22swe892nZfBpsT34WjFf7csibTxaGQWgG7lL0P1HMRXLehjQElH9cJU0ZKifDm1fDkzXOmJircIdIOhJyQU2gXTof2r8QS2Ss76JBIyhmEAxAv0HxRw+YPlflo8SiH1B3wEFdq5QROCTAHwl8787GBuT3BDe9kzNinJO2GzBjqP1Psf/G+M1TY7568p6u3h57ZSswzq38CFrZhm9FGR1KD61KYI78EfLo+f+8nOIYiyamqDFQ61JRF/xmjoIzlmTRDxplsUzdxyjW3H7xXxRDdBBP3uohVIHwZuE8kMQ1ssHVdKn2U0I28WN9rQjZuHBU9B9bfOOHCmd7ieRgLzr/Yh9MW+fxMa1uUsEIgYXLbMumshewFFgX+lp/v8/Ehqy4OrOJvVcvFX+oS1SwuCMbu+rTA4uSdieF6t4IQN52NJG/cbv6RuNnTg1AB11doCcFBa3DxELxZfbQecEBHx276QNkrqbouTVNZpryOAYjBwF6qbvT9I7D4la0swZ5n4OKypqO8U4XKcY+LfDb3f5USL8qXIZHbIQP816RID0PY1Qvt4aCdHRPC5Z+2l9w=="
          }
        },
        "users": {
          "s3_bucket_name": "qa-orcdbucket"
        },
        "route53": {
          "domain_name": "theorchard.io",
          "zone_id": "Z2RSKZ9M7TJ9Z",
          "networking_account_enabled": true
        }
      },
      "unattended_upgrades": {
        "unattended_upgrade": 7,
        "package_blacklist": [
          "neo4j-enterprise",
          "cypher-shell"
        ]
      }
    }
  }
  