Skip to main content

Crate krabka_client_admin

Crate krabka_client_admin 

Source
Expand description

Admin client for Krabka operators and control-plane services.

The client targets the active controller and retries selected RPCs on a refreshed controller connection when the broker returns NOT_CONTROLLER. It supports plaintext by default and the same client-side TLS/SASL security surface as [krabka_client_core] through AdminClient::connect_secured.

The client is built on krabka_client_core::Connection’s typed send::<R: ProtocolRequest>, so request-version negotiation is automatic through the ApiVersionTable that connect time populates. The public modules cover topic CRUD, listing and description, partition expansion, config changes and config-resource listing, SCRAM user credentials, ACLs, client quotas, delegation tokens, metadata-quorum voters, and log-dir inspection.

Re-exports§

pub use cluster::ClusterDescription;
pub use cluster::ClusterNode;
pub use cluster::DescribeClusterOptions;
pub use config_resources::ConfigResource;
pub use config_resources::ConfigResourceType;
pub use configs::AlterConfigOp;
pub use configs::AlterConfigOpType;
pub use configs::AlterConfigsResults;
pub use configs::Config;
pub use configs::ConfigEntry;
pub use configs::ConfigSource;
pub use configs::ConfigSynonym;
pub use configs::ConfigType;
pub use configs::DescribeConfigsOptions;
pub use configs::DescribeConfigsResults;
pub use configs::IncrementalAlterConfigsOptions;
pub use consumer_group_listings::ConsumerGroupListing;
pub use consumer_group_listings::ListConsumerGroupsOptions;
pub use consumer_group_listings::ListConsumerGroupsResult;
pub use delegation_tokens::CreateDelegationTokenOptions;
pub use delegation_tokens::DelegationToken;
pub use delegation_tokens::DescribeDelegationTokenOptions;
pub use delegation_tokens::ExpireDelegationTokenOptions;
pub use delegation_tokens::RenewDelegationTokenOptions;
pub use elections::ElectionResults;
pub use elections::ElectionType;
pub use features::DescribeFeaturesOptions;
pub use features::FeatureMetadata;
pub use features::FeatureRange;
pub use features::FeatureUpdate;
pub use features::UpdateFeaturesOptions;
pub use features::UpdateFeaturesResults;
pub use features::UpgradeType;
pub use group_deletions::GroupDeletions;
pub use group_descriptions::ClassicGroupDescription;
pub use group_descriptions::ConsumerGroupDescription;
pub use group_descriptions::DescribeGroupsOptions;
pub use group_descriptions::GroupDescriptions;
pub use group_descriptions::MemberDescription;
pub use group_descriptions::ShareGroupDescription;
pub use group_descriptions::StreamsGroupDescription;
pub use groups::ConsumerGroupOffsetOutcome;
pub use groups::MemberToRemove;
pub use groups::RemoveMembersOptions;
pub use groups::RemovedMember;
pub use groups::RemovedMembers;
pub use log_dirs::BrokerResult;
pub use log_dirs::LogDirInfo;
pub use log_dirs::LogDirPartitionInfo;
pub use log_dirs::LogDirTopicInfo;
pub use log_dirs::ReplicaLogDir;
pub use log_dirs::ReplicaLogDirInfo;
pub use log_dirs::TopicPartitionReplica;
pub use offsets::IsolationLevel;
pub use offsets::ListedOffset;
pub use offsets::OffsetSpec;
pub use quorum::MetadataQuorum;
pub use quorum::QuorumNode;
pub use quorum::QuorumReplica;
pub use quorum::RaftVoterEndpoint;
pub use quotas::ClientQuotaAlteration;
pub use quotas::ClientQuotaEntity;
pub use quotas::ClientQuotaFilter;
pub use quotas::ClientQuotaFilterComponent;
pub use quotas::ClientQuotaMatch;
pub use quotas::ClientQuotas;
pub use quotas::ENTITY_CLIENT_ID;
pub use quotas::ENTITY_IP;
pub use quotas::ENTITY_USER;
pub use quotas::QuotaOp;
pub use quotas::UserQuotaConfig;
pub use quotas::diff_user_quotas;
pub use share_group_offsets::ListShareGroupOffsetsSpec;
pub use share_group_offsets::ShareGroupOffsets;
pub use share_group_offsets::SharePartitionOffsetInfo;
pub use topic_descriptions::DescribeTopicsOptions;
pub use topic_descriptions::ListTopicsOptions;
pub use topic_descriptions::TopicDescription;
pub use topic_descriptions::TopicDescriptions;
pub use topic_descriptions::TopicListing;
pub use topic_descriptions::TopicPartitionInfo;
pub use topics::AlterPartitionReassignmentsOptions;
pub use topics::CreatePartitionsOp;
pub use topics::CreatePartitionsOutcome;
pub use topics::CreateTopicOutcome;
pub use topics::CreateTopicSpec;
pub use topics::DeleteRecordsOp;
pub use topics::DeleteRecordsOutcome;
pub use topics::DeleteTopicOutcome;
pub use topics::PartitionAssignment;
pub use topics::PartitionAssignmentOutcome;
pub use topics::TopicMetadata;
pub use topics::TopicMetadataEntry;
pub use topics::TopicMutationOptions;
pub use topics::TopicReplicationStatus;
pub use transactions::AbortTransactionSpec;
pub use transactions::ListTransactionsFilter;
pub use transactions::ProducerStateInfo;
pub use transactions::TransactionDescription;
pub use transactions::TransactionListing;
pub use users::AclEntry;
pub use users::AclEntryFilter;
pub use users::AclOperation;
pub use users::CreateAclOutcome;
pub use users::DeleteAclFilterOutcome;
pub use users::PatternType;
pub use users::PermissionType;
pub use users::ResourceType;
pub use users::ScramDeletion;
pub use users::ScramUpsertion;
pub use users::ScramUserOutcome;
pub use users::UserScramCredential;
pub use users::UserScramCredentials;

Modules§

brokers
Broker and controller registration administration.
cluster
Cluster description (DescribeCluster, KIP-700), as Kafka’s Admin.describeCluster.
config_resources
Config resource listing (ListConfigResources, KIP-1142), as Kafka’s Admin.listConfigResources and Admin.listClientMetricsResources.
configs
Config reads and changes of any config resource, as Kafka’s Admin.describeConfigs and Admin.incrementalAlterConfigs.
consumer_group_listings
AdminClient::list_consumer_groups, Apache Kafka’s older listConsumerGroups.
delegation_tokens
KIP-48 delegation tokens, as Kafka’s Admin.createDelegationToken, renewDelegationToken, expireDelegationToken, and describeDelegationToken.
elections
Leader elections (ElectLeaders, KIP-183 and KIP-460), as Kafka’s Admin.electLeaders.
features
Cluster feature administration, as Kafka’s Admin.describeFeatures and Admin.updateFeatures.
group_deletions
Batched group deletion: AdminClient::delete_consumer_groups, AdminClient::delete_share_groups and AdminClient::delete_streams_groups.
group_descriptions
Batched group descriptions: AdminClient::describe_consumer_groups, AdminClient::describe_classic_groups, AdminClient::describe_share_groups and AdminClient::describe_streams_groups.
groups
Consumer-group admin APIs: AdminClient::list_groups and AdminClient::list_consumer_group_offsets.
log_dirs
KIP-113 admin RPCs: AlterReplicaLogDirs (api_key 34) and DescribeLogDirs (api_key 35).
offsets
Partition offset lookup (ListOffsets), as Kafka’s Admin.listOffsets.
quorum
KIP-853 metadata-quorum administration: DescribeQuorum, AddRaftVoter and RemoveRaftVoter, as Kafka’s Admin.describeMetadataQuorum, addRaftVoter and removeRaftVoter.
quotas
Client-quota admin RPCs (KIP-546): DescribeClientQuotas (api_key 48) and AlterClientQuotas (api_key 49), as Kafka’s Admin.describeClientQuotas and alterClientQuotas.
share_group_offsets
Batched share-group offset listing: AdminClient::list_share_group_offsets.
topic_descriptions
Topic listing and description, as Kafka’s Admin.listTopics and Admin.describeTopics.
topics
Topic CRUD wrappers.
transactions
Transaction administration.
users
KafkaUser admin RPCs.

Structs§

AdminClient
Short-lived admin client that targets one cluster’s controller. It can negotiate TLS/SASL through AdminClient::connect_secured.
AdminClientConfig
The settings of an AdminClient.
KafkaError
A Kafka-level error attached to a single per-resource outcome.
MetadataVersionUpdate
Result of applying a metadata.version feature update.
ScramIterations
Broker-valid PBKDF2 iteration count for a SCRAM credential.

Enums§

AdminError

Constants§

DEFAULT_ADMIN_CONNECTIONS_MAX_IDLE
Kafka’s admin client connections.max.idle.ms default (5 minutes).
DEFAULT_ADMIN_REQUEST_TIMEOUT
Kafka’s request.timeout.ms default for the admin client.
DEFAULT_API_TIMEOUT
Kafka’s default.api.timeout.ms default.
DEFAULT_ENABLE_METRICS_PUSH
Kafka’s enable.metrics.push default.
DEFAULT_RETRY_BACKOFF
Kafka’s retry.backoff.ms default.
DEFAULT_RETRY_BACKOFF_MAX
Kafka’s retry.backoff.max.ms default.
DEFAULT_SCRAM_ITERATIONS
Default PBKDF2 iteration count for new Kafka SCRAM credentials.
DEFAULT_SOCKET_CONNECTION_SETUP_TIMEOUT
Kafka’s socket.connection.setup.timeout.ms default.
DEFAULT_SOCKET_CONNECTION_SETUP_TIMEOUT_MAX
Kafka’s socket.connection.setup.timeout.max.ms default.
MAX_SCRAM_ITERATIONS
Maximum PBKDF2 iteration count accepted by the broker.
MIN_SCRAM_ITERATIONS
Minimum PBKDF2 iteration count accepted by the broker.

Traits§

AdminClientLike
Test seam for AdminClient.