Skip to content

Commit

Permalink
Deploying to gh-pages from @ 13a0cae 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
d-rk committed Aug 7, 2024
1 parent 57f6008 commit 7984aaf
Show file tree
Hide file tree
Showing 15 changed files with 315 additions and 211 deletions.
20 changes: 4 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## 5.0.6 - 2024-03-14

## 5.0.6 - 2024-03-14
## 5.1.0 - 2024-08-07

## 5.0.6 - 2024-03-14
### Added
- [#207](https://github.com/deviceinsight/kafkactl/pull/207) Allow configuring TLS for avro schema registry
- [#193](https://github.com/deviceinsight/kafkactl/pull/193) Print group instance IDs in `describe consumer-group` command

## 5.0.6 - 2024-03-14

## 5.0.5 - 2024-03-12

## 5.0.4 - 2024-03-12

## 5.0.3 - 2024-03-12

## 5.0.2 - 2024-03-08

## 5.0.1 - 2024-03-08

## 5.0.0 - 2024-03-08

### Added
- [#190](https://github.com/deviceinsight/kafkactl/pull/190) Improve handling of project config files
- [#192](https://github.com/deviceinsight/kafkactl/pull/192) Plugin infrastructure for tokenProviders
Expand Down
61 changes: 50 additions & 11 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,6 @@ You can install the pre-compiled binary or compile from source.

=== Install the pre-compiled binary

*snap*:

[,bash]
----
snap install kafkactl
----

*homebrew*:

[,bash]
Expand All @@ -43,6 +36,12 @@ brew install deviceinsight/packages/kafkactl
brew upgrade deviceinsight/packages/kafkactl
----

*winget*:
[,bash]
----
winget install kafkactl
----

*deb/rpm*:

Download the .deb or .rpm from the https://github.com/deviceinsight/kafkactl/releases[releases page] and install with dpkg -i and rpm -i respectively.
Expand All @@ -51,6 +50,13 @@ Download the .deb or .rpm from the https://github.com/deviceinsight/kafkactl/rel

There's a kafkactl https://aur.archlinux.org/packages/kafkactl/[AUR package] available for Arch. Install it with your AUR helper of choice (e.g. https://github.com/Jguer/yay[yay]):

*snap*:

[,bash]
----
snap install kafkactl
----

[,bash]
----
yay -S kafkactl
Expand All @@ -64,7 +70,7 @@ Download the pre-compiled binaries from the https://github.com/deviceinsight/kaf

[,bash]
----
go get -u github.com/deviceinsight/kafkactl
go get -u github.com/deviceinsight/kafkactl/v5
----

*NOTE:* make sure that `kafkactl` is on PATH otherwise auto-completion won't work.
Expand Down Expand Up @@ -104,8 +110,15 @@ contexts:
enabled: true
username: admin
password: admin
# optional configure sasl mechanism as plaintext, scram-sha256, scram-sha512 (defaults to plaintext)
mechanism: scram-sha512
# optional configure sasl mechanism as plaintext, scram-sha256, scram-sha512, oauth (defaults to plaintext)
mechanism: oauth
# optional tokenProvider configuration (only used for 'sasl.mechanism=oauth')
tokenprovider:
# plugin to use as token provider implementation (see plugin section)
plugin: azure
# optional: additional options passed to the plugin
options:
key: value
# optional: access clusters running kubernetes
kubernetes:
Expand Down Expand Up @@ -147,6 +160,18 @@ contexts:
# see: https://github.com/deviceinsight/kafkactl/issues/123
jsonCodec: avro
# optional: timeout for requests (defaults to 5s)
requestTimeout: 10s
# optional: tls config for avro
tls:
enabled: true
ca: my-ca
cert: my-cert
certKey: my-key
# set insecure to true to ignore all tls verification (defaults to false)
insecure: false
# optional: default protobuf messages search paths
protobuf:
importPaths:
Expand Down Expand Up @@ -185,6 +210,7 @@ The config file location is resolved by
. as default the config file is looked up from one of the following locations:
** `$HOME/.config/kafkactl/config.yml`
** `$HOME/.kafkactl/config.yml`
** `$APPDATA/kafkactl/config.yml`
** `$SNAP_REAL_HOME/.kafkactl/config.yml`
** `$SNAP_DATA/kafkactl/config.yml`
** `/etc/kafkactl/config.yml`
Expand Down Expand Up @@ -359,6 +385,19 @@ If environment variables for the `default` context should be set, the prefix `CO
So, instead of `CONTEXTS_DEFAULT_TLS_CERTKEY` one can also set `TLS_CERTKEY`.
See *root_test.go* for more examples.

== Plugins

_kafkactl_ supports plugins to cope with specifics when using Kafka-compatible clusters available from cloud providers such as Azure or AWS.

At the moment, plugins can only be used to implement a `tokenProvider` for _oauth_ authentication.
In the future, plugins might implement additional commands to query data or configuration which is not part of the Kafka-API. One example would be Eventhub consumer groups/offsets for Azure.

See the plugin documentation for additional documentation and usage examples.

Available plugins:

* https://github.com/deviceinsight/kafkactl-plugins/blob/main/azure/README.adoc[azure plugin]

== Examples

=== Consuming messages
Expand Down Expand Up @@ -795,7 +834,7 @@ The assigned replicas of a partition can directly be altered with:
[,bash]
----
# set brokers 102,103 as replicas for partition 3 of topic my-topic
kafkactl alter topic my-topic 3 -r 102,103
kafkactl alter partition my-topic 3 -r 102,103
----

=== Clone topic
Expand Down
6 changes: 3 additions & 3 deletions docker/run-integration-tests.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
# use:
# export NO_DOCKER_COMPOSE=true
# to skip docker-compose when it is already running locally
# to skip docker compose when it is already running locally
set -e
set -o pipefail

Expand All @@ -14,15 +14,15 @@ echo "using kafka version: ${KAFKAVERSION}"
# docker compose up
pushd ${ROOT_DIR}
if [[ -z "${NO_DOCKER_COMPOSE}" ]]; then
docker-compose -f ${SCRIPT_DIR}/docker-compose.yml --env-file=${SCRIPT_DIR}/.env up -d
docker compose -f ${SCRIPT_DIR}/docker-compose.yml --env-file=${SCRIPT_DIR}/.env up -d
fi


# docker compose down
function tearDown {
popd >/dev/null 2>&1
if [[ -z "${NO_DOCKER_COMPOSE}" ]]; then
docker-compose -f ${SCRIPT_DIR}/docker-compose.yml --env-file=${SCRIPT_DIR}/.env down
docker compose -f ${SCRIPT_DIR}/docker-compose.yml --env-file=${SCRIPT_DIR}/.env down
fi
}
trap tearDown EXIT
Expand Down
55 changes: 28 additions & 27 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
module github.com/deviceinsight/kafkactl/v5

go 1.21.6
go 1.22.6

require (
github.com/IBM/sarama v1.43.0
github.com/IBM/sarama v1.43.2
github.com/Rican7/retry v0.3.1
github.com/golang/protobuf v1.5.4
github.com/hashicorp/go-hclog v1.6.2
github.com/hashicorp/go-plugin v1.6.0
github.com/jhump/protoreflect v1.15.6
github.com/landoop/schema-registry v0.0.0-20190327143759-50a5701c1891
github.com/linkedin/goavro/v2 v2.12.0
github.com/hashicorp/go-hclog v1.6.3
github.com/hashicorp/go-plugin v1.6.1
github.com/jhump/protoreflect v1.16.0
github.com/linkedin/goavro/v2 v2.13.0
github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.8.0
github.com/riferrei/srclient v0.6.0
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.18.2
github.com/spf13/viper v1.19.0
github.com/xdg-go/scram v1.1.2
go.uber.org/ratelimit v0.3.1
golang.org/x/sync v0.6.0
golang.org/x/term v0.18.0
google.golang.org/protobuf v1.33.0
golang.org/x/sync v0.8.0
golang.org/x/term v0.23.0
google.golang.org/protobuf v1.34.2
gopkg.in/errgo.v2 v2.1.0
gopkg.in/yaml.v2 v2.4.0
)

require (
github.com/benbjohnson/clock v1.3.5 // indirect
github.com/bufbuild/protocompile v0.9.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
github.com/bufbuild/protocompile v0.14.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/eapache/go-resiliency v1.6.0 // indirect
github.com/eapache/go-resiliency v1.7.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
github.com/eapache/queue v1.1.0 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/fatih/color v1.17.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
Expand All @@ -46,35 +46,36 @@ require (
github.com/jcmturner/gofork v1.7.6 // indirect
github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
github.com/klauspost/compress v1.17.7 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/oklog/run v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/locafero v0.6.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.6.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 // indirect
google.golang.org/grpc v1.62.1 // indirect
golang.org/x/crypto v0.26.0 // indirect
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sys v0.23.0 // indirect
golang.org/x/text v0.17.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240805194559-2c9e96a0b5d4 // indirect
google.golang.org/grpc v1.65.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Loading

0 comments on commit 7984aaf

Please sign in to comment.