Files
iris-context/commands/sys/kafkactl.go
T
VERSE 2ef3c90819 feat(commands): more commands (#30)
- I wrote a scripts to copy and generate all commands missing in iris
from fig repo: https://github.com/withfig/autocomplete
- Add a new script to generate commands docs about which commands
currently are inside commands folder
377d4aac663590e504fe39a92eb4dac4cbd333b2
- Add more icons e64d4e70a1db61e62053460a882e093bd6373ab1
2026-07-04 22:08:36 +07:00

84 lines
5.2 KiB
Go

package sys
import (
"github.com/versenilvis/iris/commands/core"
)
func init() {
core.Register(&core.Spec{
Name: "kafkactl",
Description: "Command-line interface for Apache Kafka",
Subcommands: []core.Subcommand{
{Name: "edit", Description: "Alter topics, partitions"},
{Name: "partition", Description: "Alter a partition"},
{Name: "topic", Description: "Alter a topic"},
{Name: "attach", Description: "Run kafkactl pod in kubernetes and attach to it"},
{Name: "clone", Description: "Clone topics, consumerGroups"},
{Name: "cg", Description: "Clone existing consumerGroup with all offsets"},
{Name: "completion", Description: "Generate shell auto-completion file"},
{Name: "config", Description: "Show and edit configurations"},
{Name: "currentContext", Description: "Show current context"},
{Name: "getContexts", Description: "List configured contexts"},
{Name: "useContext", Description: "Switch active context"},
{Name: "view", Description: "Show contents of config file"},
{Name: "consume", Description: "Consume messages from a topic"},
{Name: "create", Description: "Create topics, consumerGroups, acls"},
{Name: "acl", Description: "Create an acl"},
{Name: "delete", Description: "Delete topics, consumerGroups, consumer-group-offset, acls"},
{Name: "consumer-groups", Description: "Delete a consumer-group"},
{Name: "cgo", Description: "Delete a consumer-group-offset"},
{Name: "describe", Description: "Describe topics, consumerGroups, brokers"},
{Name: "broker", Description: "Describe a broker"},
{Name: "list", Description: "Get info about topics, consumerGroups, acls, brokers"},
{Name: "brokers", Description: "List brokers"},
{Name: "topics", Description: "List available topics"},
{Name: "produce", Description: "Produce messages to a topic"},
{Name: "reset", Description: "Reset consumerGroupsOffset"},
{Name: "version", Description: "Print the version of kafkactl"},
{Name: "help", Description: "Help about any command"},
},
Options: []core.Option{
{Name: "--replicas", Description: "Set replicas for a partition"},
{Name: "--validate-only", Description: "Validate only"},
{Name: "--config", Description: "Configs in format `key=value`"},
{Name: "--partitions", Description: "Number of partitions"},
{Name: "--replication-factor", Description: "Replication factor"},
{Name: "--output", Description: "Output format. One of: compact"},
{Name: "--exit", Description: "Stop consuming when latest offset is reached"},
{Name: "--from-beginning", Description: "Set offset for consumer to the oldest offset"},
{Name: "--group", Description: "Consumer group to join"},
{Name: "--key-encoding", Description: "Key encoding (auto-detected by default). One of: none|hex|base64"},
{Name: "--key-proto-type", Description: "Key protobuf message type"},
{Name: "--max-messages", Description: "Stop consuming after n messages have been read"},
{Name: "--offset", Description: "Output format. One of: json|yaml"},
{Name: "--print-headers", Description: "Print message headers"},
{Name: "--print-keys", Description: "Print message keys"},
{Name: "--print-schema", Description: "Print details about avro schema used for decoding"},
{Name: "--print-timestamps", Description: "Print message timestamps"},
{Name: "--proto-file", Description: "Additional protobuf description file for searching message description"},
{Name: "--proto-import-path", Description: "Additional path to search files listed in proto 'import' directive"},
{Name: "--protoset-file", Description: "Additional compiled protobuf description file for searching message description"},
{Name: "--separator", Description: "Separator to split key and value"},
{Name: "--tail", Description: "Show only the last n messages on the topic"},
{Name: "--value-encoding", Description: "Value encoding (auto-detected by default). One of: none|hex|base64"},
{Name: "--value-proto-type", Description: "Value protobuf message type"},
{Name: "--allow", Description: "Acl of permissionType 'allow' (choose this or 'deny')"},
{Name: "--cluster", Description: "Create acl for the cluster"},
{Name: "--deny", Description: "Acl of permissionType 'deny' (choose this or 'allow')"},
{Name: "--host", Description: "Hosts to allow"},
{Name: "--operation", Description: "Operations of acl"},
{Name: "--pattern", Description: "Pattern type. one of (match, prefixed, literal)"},
{Name: "--principal", Description: "Principal to be authenticated"},
{Name: "--topic", Description: "Create acl for a topic"},
{Name: "--newest", Description: "Set the offset to newest offset (for all partitions or the specified partition)"},
{Name: "--oldest", Description: "Set the offset to oldest offset (for all partitions or the specified partition)"},
{Name: "--partition", Description: "Partition to create group for. -1 stands for all partitions"},
{Name: "--groups", Description: "Delete acl for a consumer group"},
{Name: "--topics", Description: "Delete acl for a topic"},
{Name: "--only-with-lag", Description: "Show only partitions that have a lag"},
{Name: "--print-members", Description: "Print group members"},
{Name: "--print-topics", Description: "Print topic details"},
},
})
}