package sys import ( "github.com/versenilvis/iris/spec" ) func init() { spec.Register(&spec.Spec{ Name: "kafkactl", Description: "Command-line interface for Apache Kafka", Subcommands: []spec.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: []spec.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"}, }, }) }