load("//bazel:build.bzl", "redpanda_cc_library")

redpanda_cc_library(
    name = "config",
    srcs = [
        "base_property.cc",
        "broker_authn_endpoint.cc",
        "client_group_byte_rate_quota.cc",
        "configuration.cc",
        "leaders_preference.cc",
        "node_config.cc",
        "node_overrides.cc",
        "rest_authn_endpoint.cc",
        "rjson_serialization.cc",
        "throughput_control_group.cc",
        "tls_config.cc",
        "validators.cc",
    ],
    hdrs = [
        "base_property.h",
        "bounded_property.h",
        "broker_authn_endpoint.h",
        "broker_endpoint.h",
        "client_group_byte_rate_quota.h",
        "config_store.h",
        "configuration.h",
        "convert.h",
        "data_directory_path.h",
        "endpoint_tls_config.h",
        "from_string_view.h",
        "fwd.h",
        "leaders_preference.h",
        "mock_property.h",
        "node_config.h",
        "node_overrides.h",
        "property.h",
        "rest_authn_endpoint.h",
        "rjson_serialization.h",
        "seed_server.h",
        "throughput_control_group.h",
        "tls_config.h",
        "types.h",
        "validation_error.h",
        "validators.h",
    ],
    include_prefix = "config",
    visibility = ["//visibility:public"],
    deps = [
        "//src/v/base",
        "//src/v/container:intrusive",
        "//src/v/features:enterprise_feature_messages",
        "//src/v/json",
        "//src/v/model",
        "//src/v/pandaproxy:config",
        "//src/v/security:config",
        "//src/v/serde",
        "//src/v/serde:chrono",
        "//src/v/ssx:sformat",
        "//src/v/storage:config",
        "//src/v/strings:string_switch",
        "//src/v/strings:utf8",
        "//src/v/utils:functional",
        "//src/v/utils:inet_address",
        "//src/v/utils:named_type",
        "//src/v/utils:to_string",
        "//src/v/utils:unresolved_address",
        "@abseil-cpp//absl/algorithm:container",
        "@abseil-cpp//absl/container:flat_hash_set",
        "@abseil-cpp//absl/container:node_hash_set",
        "@boost//:algorithm",
        "@boost//:filesystem",
        "@boost//:lexical_cast",
        "@fmt",
        "@re2",
        "@seastar",
        "@yaml-cpp",
    ],
)
