Skip to content

cardano-tracer: Add TLS (SSL) functionality to EKG/Prometheus.#6433

Open
Icelandjack wants to merge 1 commit intomasterfrom
baldurb/tls
Open

cardano-tracer: Add TLS (SSL) functionality to EKG/Prometheus.#6433
Icelandjack wants to merge 1 commit intomasterfrom
baldurb/tls

Conversation

@Icelandjack
Copy link
Contributor

@Icelandjack Icelandjack commented Feb 9, 2026

Description

Implement TLS (SSL) functionality for EKG and Prometheus services.

SSL enforcement is configurable on a per-endpoint basis, users can now secure metrics exposure over HTTPS. An endpoint is either accessed through HTTP or HTTPS.

When epForceSSL (optional field) is enabled for an endpoint and valid certificates are provided, the servers (EKG and Prometheus) switch to using warp-tls for secure connections. This incorporates error handling and tracing for missing or invalid certificates. Not available for RTView.

{ "hasEKG":
  { "epHost": "127.0.0.1"
  , "epPort": 3100
  , "epForceSSL": true
  }
, "hasPrometheus":
  { "epHost": "127.0.0.1"
  , "epPort": 3000
  ,  "epForceSSL": true
  }
, ..
}

Supports a new certificate configuration (certificate, certificate key and optional certificate chain list), by specifying the optional tlsCertificate field. There is only one certificate that applies to all services.

{ "tlsCertificate":
  { "certificateFile": "/path/to/certificate.pem"
  , "certificateKeyFile": "/path/to/key.pem"
  , "certificateChain": ["/path/to/intermediate1.pem", "/path/to/intermediate2.pem"]
  }
, ..
}

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • roundtrip tests
    • integration tests
      See Runnings tests for more details
  • Any changes are noted in the CHANGELOG.md for affected package
  • The version bounds in .cabal files are updated
  • CI passes. See note on CI. The following CI checks are required:
    • Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • Code builds on Linux, MacOS and Windows for ghc-9.6 and ghc-9.12
  • Self-reviewed the diff

@Icelandjack Icelandjack requested review from a team as code owners February 9, 2026 13:05
@Icelandjack Icelandjack marked this pull request as draft February 9, 2026 13:39
@Icelandjack Icelandjack force-pushed the baldurb/tls branch 7 times, most recently from 2cf625d to fb29767 Compare February 16, 2026 13:33
@Icelandjack Icelandjack marked this pull request as ready for review February 16, 2026 14:10
@Icelandjack Icelandjack requested a review from a team as a code owner February 16, 2026 14:10
@Icelandjack Icelandjack force-pushed the baldurb/tls branch 4 times, most recently from 3ddbe1d to 40235fb Compare February 16, 2026 14:12
Copy link
Contributor

@mgmeier mgmeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Icelandjack Icelandjack force-pushed the baldurb/tls branch 3 times, most recently from 023b9cf to eaeff57 Compare February 16, 2026 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants