Skip to content

Commit b7dfab3

Browse files
authored
migrated to io.conduktor (#106)
* migrated to io.conduktor * removed failing test again.. * changed version to 0.11-SNAPSHOT
1 parent b0ec046 commit b7dfab3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+262
-245
lines changed

.bsp/sbt.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"name":"sbt","version":"1.5.2","bspVersion":"2.0.0-M5","languages":["scala"],"argv":["/Users/stephanemaarek/.sdkman/candidates/java/11.0.10.9.1-amzn/bin/java","-Xms100m","-Xmx100m","-classpath","/Users/stephanemaarek/Library/Application Support/JetBrains/IntelliJIdea2020.3/plugins/Scala/launcher/sbt-launch.jar","xsbt.boot.Boot","-bsp","--sbt-launch-jar=/Users/stephanemaarek/Library/Application%20Support/JetBrains/IntelliJIdea2020.3/plugins/Scala/launcher/sbt-launch.jar"]}

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7-
## [0.11.0] - SNAPSHOT
7+
## [0.11] - SNAPSHOT
8+
- Renamed packages to `io.conduktor`
9+
- Prepared release to sonatype and Maven
810

911
## [0.10.2] - 12/05/2021
1012
- Removed gRPC

README.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ This is a Scala app and therefore should run on the JVM like any other applicati
9292

9393
By using the JAR dependency, you can create your own `SourceAcl`.
9494

95-
SNAPSHOTS artifacts are deployed to [Sonatype](https://oss.sonatype.org/content/repositories/snapshots/com/github/conduktor/ksm/)
95+
SNAPSHOTS artifacts are deployed to [Sonatype](https://oss.sonatype.org/content/repositories/snapshots/io/conduktor/)
9696

97-
RELEASES artifacts are deployed to [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ccom.github.conduktor):
97+
RELEASES artifacts are deployed to [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cio.conduktor):
9898

99-
`build.sbt` (see [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ccom.github.conduktor) for the latest `version`)
99+
`build.sbt` (see [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cio.conduktor) for the latest `version`)
100100
```
101-
libraryDependencies += "com.github.conduktor" %% "kafka-security-manager" % "version"
101+
libraryDependencies += "io.conduktor" %% "kafka-security-manager" % "version"
102102
```
103103

104104
# Configuration
@@ -128,7 +128,7 @@ Client {
128128
```
129129

130130
## Security configuration - Admin client
131-
When configured authorizer class is `com.github.conduktor.ksm.compat.AdminClientAuthorizer`,
131+
When configured authorizer class is `io.conduktor.ksm.compat.AdminClientAuthorizer`,
132132
`kafka-security-manager` will use kafka admin client instead of direct zookeeper connection.
133133
Configuration example would be
134134
```
@@ -160,7 +160,7 @@ The [default configurations](src/main/resources/application.conf) can be overwri
160160
- `AUTHORIZER_ZOOKEEPER_CONNECT`: zookeeper connection string
161161
- `AUTHORIZER_ZOOKEEPER_SET_ACL=true` (default `false`): set to true if you want your ACLs in Zookeeper to be secure (you probably do want them to be secure) - when in doubt set as the same as your Kafka brokers.
162162

163-
No-zookeeper authorizer class on top of Kafka Admin Client is bundled with KSM as `com.github.conduktor.ksm.compat.AdminClientAuthorizer`,
163+
No-zookeeper authorizer class on top of Kafka Admin Client is bundled with KSM as `io.conduktor.ksm.compat.AdminClientAuthorizer`,
164164
configured with options for `org.apache.kafka.clients.admin.AdminClientConfig`:
165165
- `ADMIN_CLIENT_ID` - `client.id`, an id to pass to the server when making requests, for tracing/audit purposes, default `kafka-security-manager`
166166
Properties below are not provided to client unless environment variable is set:
@@ -175,25 +175,25 @@ The [default configurations](src/main/resources/application.conf) can be overwri
175175
- `ADMIN_CLIENT_SSL_TRUSTSTORE_PASSWORD` - `ssl.truststore.password`
176176

177177
- `SOURCE_CLASS`: Source class. Valid values include
178-
- `com.github.conduktor.ksm.source.NoSourceAcl` (default): No source for the ACLs. Only use with `KSM_READONLY=true`
179-
- `com.github.conduktor.ksm.source.FileSourceAcl`: get the ACL source from a file on disk. Good for POC
180-
- `com.github.conduktor.ksm.source.GitHubSourceAcl`: get the ACL from GitHub. Great to get started quickly and store the ACL securely under version control.
181-
- `com.github.conduktor.ksm.source.GitLabSourceAcl`: get the ACL from GitLab using personal access tokens. Great to get started quickly and store the ACL securely under version control.
178+
- `io.conduktor.ksm.source.NoSourceAcl` (default): No source for the ACLs. Only use with `KSM_READONLY=true`
179+
- `io.conduktor.ksm.source.FileSourceAcl`: get the ACL source from a file on disk. Good for POC
180+
- `io.conduktor.ksm.source.GitHubSourceAcl`: get the ACL from GitHub. Great to get started quickly and store the ACL securely under version control.
181+
- `io.conduktor.ksm.source.GitLabSourceAcl`: get the ACL from GitLab using personal access tokens. Great to get started quickly and store the ACL securely under version control.
182182
- `SOURCE_GITLAB_REPOID` GitLab project id
183183
- `SOURCE_GITLAB_FILEPATH` Path to the ACL file in GitLab project
184184
- `SOURCE_GITLAB_BRANCH` Git Branch name
185185
- `SOURCE_GITLAB_HOSTNAME` GitLab Hostname
186186
- `SOURCE_GITLAB_ACCESSTOKEN` GitLab Personal Access Token. See [Personal access tokens
187187
](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) to authenticate with the GitLab API.
188-
- `com.github.conduktor.ksm.source.S3SourceAcl`: get the ACL from S3. Good for when you have a S3 bucket managed by Terraform or Cloudformation. This requires `region`, `bucketname` and `objectkey`. See [Access credentials](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) for credentials management.
188+
- `io.conduktor.ksm.source.S3SourceAcl`: get the ACL from S3. Good for when you have a S3 bucket managed by Terraform or Cloudformation. This requires `region`, `bucketname` and `objectkey`. See [Access credentials](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) for credentials management.
189189
- `SOURCE_S3_REGION` AWS S3 Region
190190
- `SOURCE_S3_BUCKETNAME` AWS S3 Bucket name
191191
- `SOURCE_S3_OBJECTKEY` The Object containing the ACL CSV in S3
192-
- `com.github.conduktor.ksm.source.BitbucketServerSourceAcl`: get the ACL from Bitbucket Server using the v1 REST API. Great if you have private repos in Bitbucket.
193-
- `com.github.conduktor.ksm.source.BitbucketCloudSourceAcl`: get the ACL from Bitbucket Cloud using the Bitbucket Cloud REST API v2.
192+
- `io.conduktor.ksm.source.BitbucketServerSourceAcl`: get the ACL from Bitbucket Server using the v1 REST API. Great if you have private repos in Bitbucket.
193+
- `io.conduktor.ksm.source.BitbucketCloudSourceAcl`: get the ACL from Bitbucket Cloud using the Bitbucket Cloud REST API v2.
194194
- `NOTIFICATION_CLASS`: Class for notification in case of ACL changes in Kafka.
195-
- `com.github.conduktor.ksm.notification.ConsoleNotification` (default): Print changes to the console. Useful for logging
196-
- `com.github.conduktor.ksm.notification.SlackNotification`: Send notifications to a Slack channel (useful for devops / admin team)
195+
- `io.conduktor.ksm.notification.ConsoleNotification` (default): Print changes to the console. Useful for logging
196+
- `io.conduktor.ksm.notification.SlackNotification`: Send notifications to a Slack channel (useful for devops / admin team)
197197
- `ACL_PARSER_CSV_DELIMITER`: Change the delimiter character for the CSV Parser (useful when you have SSL)
198198

199199
# Running on Docker
@@ -254,7 +254,8 @@ You can then use place this CSV anywhere and use it as your source of truth.
254254

255255
KSM Version | Kafka Version | Notes
256256
--- | --- | ---
257-
0.10 | 2.5.x | YAML support<br>Add configurable num failed refreshes before notification
257+
0.11.0 | 2.5.x | renamed packages to `io.conduktor`
258+
0.10.0 | 2.5.x | YAML support<br>Add configurable num failed refreshes before notification
258259
0.9 | 2.5.x | Upgrade to Kafka 2.5.x
259260
0.8 | 2.3.1 | Add a "run once" mode
260261
0.7 | 2.1.1 | Kafka Based ACL refresher available (no zookeeper dependency)

build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ inThisBuild(List(
1616
name := "kafka-security-manager"
1717

1818

19-
version := "0.11.0-SNAPSHOT"
19+
version := "1.0-SNAPSHOT"
2020

2121
scalaVersion := "2.12.8"
2222

@@ -65,7 +65,7 @@ libraryDependencies ++= Seq(
6565

6666
)
6767

68-
mainClass in Compile := Some("com.github.conduktor.ksm.KafkaSecurityManager")
68+
mainClass in Compile := Some("io.conduktor.ksm.KafkaSecurityManager")
6969

7070
parallelExecution in Test := false
7171

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ services:
3333
KSM_READONLY: "false"
3434
AUTHORIZER_ZOOKEEPER_CONNECT: "zoo1:2181"
3535
# FILE:
36-
SOURCE_CLASS: "com.github.conduktor.ksm.source.FileSourceAcl"
36+
SOURCE_CLASS: "io.conduktor.ksm.source.FileSourceAcl"
3737
SOURCE_FILE_FILENAME: "example/acls.csv"
3838
# GITHUB:
39-
# SOURCE_CLASS: "com.github.conduktor.ksm.source.GitHubSourceAcl"
39+
# SOURCE_CLASS: "io.conduktor.ksm.source.GitHubSourceAcl"
4040
# SOURCE_GITHUB_USER: "conduktor"
4141
# SOURCE_GITHUB_REPO: "kafka-security-manager-example"
4242
# SOURCE_GITHUB_FILEPATH: "acls.csv"
@@ -46,7 +46,7 @@ services:
4646
# REQUIRES KAFKA TO BE CONFIGURED IN SECURED MODE
4747
# PR ACCEPTED :)
4848

49-
# AUTHORIZER_CLASS: "com.github.conduktor.ksm.compat.AdminClientAuthorizer"
49+
# AUTHORIZER_CLASS: "io.conduktor.ksm.compat.AdminClientAuthorizer"
5050
# ADMIN_CLIENT_BOOTSTRAP_SERVERS: "kafka1:19092"
5151
# set ADMIN_CLIENT_SECURITY_PROTOCOL, ADMIN_CLIENT_SASL_JAAS_CONFIG, ADMIN_CLIENT_SASL_MECHANISM, ADMIN_CLIENT_SSL_KEY_PASSWORD, ADMIN_CLIENT_SSL_KEYSTORE_LOCATION, ADMIN_CLIENT_SSL_KEYSTORE_PASSWORD, ADMIN_CLIENT_SSL_TRUSTSTORE_LOCATION, ADMIN_CLIENT_SSL_TRUSTSTORE_PASSWORD for a secure Kafka setup
5252
volumes:

src/main/resources/application.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ authorizer {
3131
class = "kafka.security.auth.SimpleAclAuthorizer"
3232
class = ${?AUTHORIZER_CLASS}
3333
admin-client-config {
34-
// options below needed when AUTHORIZER_CLASS is "com.github.conduktor.ksm.compat.AdminClientAuthorizer"
34+
// options below needed when AUTHORIZER_CLASS is "io.conduktor.ksm.compat.AdminClientAuthorizer"
3535
// see org.apache.kafka.clients.admin.AdminClientConfig for more options
3636
"client.id" = "kafka-security-manager"
3737
"client.id" = ${?ADMIN_CLIENT_ID}
@@ -57,7 +57,7 @@ authorizer {
5757

5858
source {
5959
// we default to a no "source" acl
60-
class = "com.github.conduktor.ksm.source.NoSourceAcl"
60+
class = "io.conduktor.ksm.source.NoSourceAcl"
6161
class = ${?SOURCE_CLASS}
6262
file {
6363
filename = "example/acls.csv"
@@ -136,7 +136,7 @@ source {
136136
}
137137

138138
notification {
139-
class = "com.github.conduktor.ksm.notification.ConsoleNotification"
139+
class = "io.conduktor.ksm.notification.ConsoleNotification"
140140
class = ${?NOTIFICATION_CLASS}
141141
console {
142142

src/main/scala/com/github/conduktor/ksm/AclSynchronizer.scala renamed to src/main/scala/io/conduktor/ksm/AclSynchronizer.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
package com.github.conduktor.ksm
1+
package io.conduktor.ksm
22

3-
import com.github.conduktor.ksm.notification.Notification
4-
import com.github.conduktor.ksm.source.{ParsingContext, SourceAcl}
3+
import io.conduktor.ksm.source.SourceAcl
4+
import io.conduktor.ksm.notification.Notification
5+
import io.conduktor.ksm.source.{ParsingContext, SourceAcl}
56
import kafka.security.auth.{Acl, Authorizer, Resource}
67
import org.slf4j.{Logger, LoggerFactory}
78

src/main/scala/com/github/conduktor/ksm/AppConfig.scala renamed to src/main/scala/io/conduktor/ksm/AppConfig.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.github.conduktor.ksm
1+
package io.conduktor.ksm
22

3-
import com.github.conduktor.ksm.notification.Notification
4-
import com.github.conduktor.ksm.parser.AclParserRegistry
5-
import com.github.conduktor.ksm.source.SourceAcl
63
import com.typesafe.config.Config
4+
import io.conduktor.ksm.notification.Notification
5+
import io.conduktor.ksm.parser.AclParserRegistry
6+
import io.conduktor.ksm.source.SourceAcl
77
import kafka.security.auth.Authorizer
88
import kafka.utils.CoreUtils
99

src/main/scala/com/github/conduktor/ksm/ExtractAcl.scala renamed to src/main/scala/io/conduktor/ksm/ExtractAcl.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.github.conduktor.ksm
1+
package io.conduktor.ksm
22

3-
import com.github.conduktor.ksm.parser.AclParser
3+
import io.conduktor.ksm.parser.AclParser
44
import kafka.security.auth.{Acl, Authorizer, Resource}
55
import org.slf4j.{Logger, LoggerFactory}
66

src/main/scala/com/github/conduktor/ksm/KafkaSecurityManager.scala renamed to src/main/scala/io/conduktor/ksm/KafkaSecurityManager.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.github.conduktor.ksm
1+
package io.conduktor.ksm
22

3-
import com.github.conduktor.ksm.parser.AclParserRegistry
43
import com.typesafe.config.ConfigFactory
4+
import io.conduktor.ksm.parser.AclParserRegistry
55
import org.slf4j.LoggerFactory
66

77
import java.util.concurrent.atomic.AtomicBoolean

0 commit comments

Comments
 (0)