packages feed

eventlog-live-otelcol-0.3.0.0: eventlog-live-otelcol.cabal

cabal-version:   3.0
name:            eventlog-live-otelcol
version:         0.3.0.0
synopsis:        Stream eventlog data to the OpenTelemetry Collector.
description:
  This executable supports live streaming of eventlog data into
  the OpenTelemetry Collector.

  > Usage: eventlog-live-otelcol (--eventlog-stdin | --eventlog-file FILE |
  >                                --eventlog-socket SOCKET)
  >                              [--eventlog-socket-timeout NUM]
  >                              [--eventlog-socket-exponent NUM]
  >                              [--batch-interval NUM] [--eventlog-log-file FILE]
  >                              [-h Tcmdyrbi] [--service-name STRING]
  >                              [-v|--verbosity quiet|error|warning|info|debug|0-4]
  >                              [--config FILE] --otelcol-host HOST
  >                              [--otelcol-port PORT] [--otelcol-authority HOST]
  >                              [--otelcol-ssl] [--otelcol-certificate-store FILE]
  >                              [--otelcol-ssl-key-log FILE |
  >                                --otelcol-ssl-key-log-from-env]
  >                              [--print-defaults]
  >
  > Available options:
  >   --eventlog-stdin         Read the eventlog from stdin.
  >   --eventlog-file FILE     Read the eventlog from a file.
  >   --eventlog-socket SOCKET Read the eventlog from a Unix socket.
  >   --eventlog-socket-timeout NUM
  >                            Eventlog socket connection retry timeout in
  >                            microseconds.
  >   --eventlog-socket-exponent NUM
  >                            Eventlog socket connection retry timeout exponent.
  >   --batch-interval NUM     Batch interval in milliseconds.
  >   --eventlog-log-file FILE Use file to log binary eventlog data.
  >   -h Tcmdyrbi              Heap profile breakdown.
  >   --service-name STRING    The name of the profiled service.
  >   -v,--verbosity quiet|error|warning|info|debug|0-4
  >                            The verbosity threshold for logging.
  >   --config FILE            The path to a detailed configuration file.
  >   --print-defaults         Print default configuration options that can be used
  >                            in config.yaml
  >   --help                   Show this help text.
  >   --version                Show version information
  >
  > OpenTelemetry Collector Server Options
  >   --otelcol-host HOST      Server hostname.
  >   --otelcol-port PORT      Server TCP port.
  >   --otelcol-authority HOST Server authority.
  >   --otelcol-ssl            Use SSL.
  >   --otelcol-certificate-store FILE
  >                            Store for certificate validation.
  >   --otelcol-ssl-key-log FILE
  >                            Use file to log SSL keys.
  >   --otelcol-ssl-key-log-from-env
  >                            Use SSLKEYLOGFILE to log SSL keys.

license:         BSD-3-Clause
license-file:    LICENSE
author:          Wen Kokke
maintainer:      wen@well-typed.com
copyright:       (c) 2025 Well-Typed
build-type:      Simple
category:        Debug, Monitoring, System
extra-doc-files: CHANGELOG.md
tested-with:     GHC ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4 || ==9.10.2

source-repository head
  type:     git
  location: https://github.com/well-typed/eventlog-live.git
  subdir:   eventlog-live-otelcol

common language
  ghc-options:
    -Wall -Wcompat -Widentities -Wprepositive-qualified-module
    -Wredundant-constraints -Wunticked-promoted-constructors
    -Wunused-packages

  default-language:   Haskell2010
  default-extensions:
    BangPatterns
    DataKinds
    DefaultSignatures
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    DerivingStrategies
    DuplicateRecordFields
    FlexibleContexts
    FlexibleInstances
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    NoFieldSelectors
    NumericUnderscores
    OverloadedRecordDot
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    TupleSections
    TypeApplications
    TypeFamilies

library
  import:          language
  hs-source-dirs:  src
  exposed-modules:
    GHC.Eventlog.Live.Otelcol
    GHC.Eventlog.Live.Otelcol.Config

  other-modules:
    Options.Applicative.Compat
    Paths_eventlog_live_otelcol
    System.Random.Compat

  autogen-modules: Paths_eventlog_live_otelcol
  build-depends:
    , aeson                  >=2.2    && <2.3
    , base                   >=4.16   && <4.22
    , bytestring             >=0.11   && <0.13
    , data-default           >=0.8    && <0.9
    , dlist                  >=1.0    && <1.1
    , eventlog-live          >=0.3    && <0.4
    , ghc-events             >=0.20   && <0.21
    , grapesy                >=1.0.0  && <1.2
    , hashable               >=1.4    && <1.6
    , hs-opentelemetry-otlp  >=0.1.0  && <0.2
    , lens-family            >=2.1.3  && <2.2
    , machines               >=0.7.4  && <0.8
    , optparse-applicative   >=0.17   && <0.20
    , proto-lens             >=0.7.1  && <0.8
    , random                 >=1.2    && <1.4
    , text                   >=1.2    && <2.2
    , unordered-containers   >=0.2.20 && <0.3
    , vector                 >=0.11   && <0.14
    , yaml                   >=0.11   && <0.12

executable eventlog-live-otelcol
  import:         language
  main-is:        Main.hs
  hs-source-dirs: app
  build-depends:  eventlog-live-otelcol