{"templateId":"markdown","versions":[{"version":"v1.40","label":"v1.40 STS","link":"/products/custody/deployment/reference/networking","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/v1.39/deployment/reference/networking","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/deployment/reference/networking","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/deployment/reference/networking","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/deployment/reference/networking","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/deployment/reference/networking","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/deployment/reference/networking","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Networking configuration","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"networking-configuration","__idx":0},"children":["Networking configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this page to understand certificate, proxy, and ingress fields for ","Ripple Custody",". The example shows one possible networking shape; your certificates, DNS records, ingress controller, proxy, and TLS policy depend on your deployment."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This page applies to on-premise deployments only. For current defaults and the full supported schema, use the configuration packaged with your release."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For networking design, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/planning/networking"},"children":["Networking planning"]},". For service URL fields, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/urls"},"children":["URL configuration"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-this-config-controls","__idx":1},"children":["What this config controls"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Networking configuration covers:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Root CA and component certificates."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Additional trusted certificates mounted into components."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["HTTP proxy settings for outbound traffic."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ingress settings for externally exposed services."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Database SSL and message-broker TLS are covered separately in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/postgresql"},"children":["PostgreSQL configuration"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/amqp"},"children":["AMQP configuration"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"root-ca-certificate","__idx":2},"children":["Root CA certificate"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Location: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.certificates.rootCA"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Default"},"children":["Default"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables root CA certificate configuration."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["certificate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Demo certificate"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PEM-encoded root CA certificate."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The root CA certificate is stored in a ConfigMap, mounted into components at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/app/rootCA.crt"]},", and used through the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NODE_EXTRA_CA_CERTS"]}," environment variable."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The default certificate is for demonstration purposes only. Replace it with the certificate required by your deployment."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"component-certificates","__idx":3},"children":["Component certificates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Location: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.certificates.<component>"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables TLS certificate configuration for this component."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["existingSecret"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reference to an existing Kubernetes TLS secret."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["privateKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PEM-encoded private key."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["certificate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["PEM-encoded X.509 certificate."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Supported certificate formats documented in this reference include PEM, PKCS#12, and PKCS#8."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"existing-tls-secret","__idx":4},"children":["Existing TLS secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["existingSecret"]}," is used, the referenced Kubernetes TLS secret must contain:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Secret key"},"children":["Secret key"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tls.crt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Base64-encoded certificate."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tls.key"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Base64-encoded private key."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example secret shape:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"apiVersion: v1\nkind: Secret\nmetadata:\n  name: frontend-tls-secret\ntype: kubernetes.io/tls\ndata:\n  tls.crt: <base64-encoded-certificate>\n  tls.key: <base64-encoded-private-key>\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"certificate-inheritance","__idx":5},"children":["Certificate inheritance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most component certificates inherit from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["frontend"]}," certificate by default. Override a component certificate only when that component needs a different certificate than the default frontend certificate."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"harmonize:\n  certificates:\n    frontend:\n      enabled: true\n      existingSecret: \"wildcard-tls\"\n    keycloak:\n      existingSecret: \"wildcard-tls\"\n    oauth:\n      existingSecret: \"wildcard-tls\"\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-certificates","__idx":6},"children":["Additional certificates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To mount additional CA certificates or custom certificates into components, use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["common.persistence"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"common:\n  persistence:\n    myCert:\n      enabled: true\n      name: my-certificate\n      type: configMap\n      mountPath: /etc/ssl/certs/myCert.crt\n      subPath: myCert.crt\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"http-proxy","__idx":7},"children":["HTTP proxy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Location: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.httpProxy"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Default"},"children":["Default"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables HTTP proxy configuration."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["protocol"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"https\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Proxy protocol. Possible values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["host"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Proxy server hostname."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["port"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["-"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Proxy server port."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["username"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Proxy authentication username."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["password"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Proxy authentication password."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["indexers"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indexers that use the proxy."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The proxy URL is constructed from the proxy fields:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"{protocol}://{username}:{password}@{host}:{port}\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When proxy configuration is applied to an indexer, the deployment sets ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTP_PROXY"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTPS_PROXY"]}," for that indexer."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ingress","__idx":8},"children":["Ingress"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Global URL settings are configured under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.urls"]},". Component ingress settings are configured under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["components.<component>.ingress"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"global-url-fields","__idx":9},"children":["Global URL fields"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Default"},"children":["Default"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.urls.tls"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables TLS for ingress endpoints."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["harmonize.urls.base"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["See release values"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Base URL for service subdomains."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"component-ingress-fields","__idx":10},"children":["Component ingress fields"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables ingress for this component."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["className"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ingress class name."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["annotations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ingress annotations."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hosts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hostname and path rules."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tls"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TLS secret and hostname mappings."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example","__idx":11},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This example shows root CA, component certificate, proxy, and ingress fields together:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"harmonize:\n  urls:\n    base: \"custody.example.com\"\n    tls: true\n\n  certificates:\n    rootCA:\n      enabled: true\n      certificate: |-\n        -----BEGIN CERTIFICATE-----\n        <root-ca-certificate>\n        -----END CERTIFICATE-----\n    frontend:\n      enabled: true\n      existingSecret: \"frontend-tls\"\n\n  httpProxy:\n    enabled: true\n    protocol: \"https\"\n    host: \"proxy.example.com\"\n    port: 8080\n    username: \"<proxy-user>\"\n    password: \"<proxy-password>\"\n    indexers:\n      - nbxplorer\n      - eth-indexer\n\ncomponents:\n  frontend:\n    ingress:\n      enabled: true\n      className: \"nginx\"\n      hosts:\n        - host: \"app.custody.example.com\"\n          paths:\n            - path: /\n              pathType: Prefix\n      tls:\n        - secretName: frontend-tls\n          hosts:\n            - app.custody.example.com\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-topics","__idx":12},"children":["Related topics"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/overview/security/secure-communication"},"children":["Secure communication"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/planning/networking"},"children":["Networking planning"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/urls"},"children":["URL configuration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/postgresql"},"children":["PostgreSQL configuration"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/reference/amqp"},"children":["AMQP configuration"]}]}]}]},"headings":[{"value":"Networking configuration","id":"networking-configuration","depth":1},{"value":"What this config controls","id":"what-this-config-controls","depth":2},{"value":"Root CA certificate","id":"root-ca-certificate","depth":2},{"value":"Component certificates","id":"component-certificates","depth":2},{"value":"Existing TLS secret","id":"existing-tls-secret","depth":3},{"value":"Certificate inheritance","id":"certificate-inheritance","depth":3},{"value":"Additional certificates","id":"additional-certificates","depth":3},{"value":"HTTP proxy","id":"http-proxy","depth":2},{"value":"Ingress","id":"ingress","depth":2},{"value":"Global URL fields","id":"global-url-fields","depth":3},{"value":"Component ingress fields","id":"component-ingress-fields","depth":3},{"value":"Example","id":"example","depth":2},{"value":"Related topics","id":"related-topics","depth":2}],"frontmatter":{"seo":{"title":"Networking configuration"}},"lastModified":"2026-07-27T10:10:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/v1.38/deployment/reference/networking","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}