Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add appropriate testing to provider-kafka for acl.go #30

Closed
wants to merge 31 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8631e01
added error handling constants, added first test file
kenatliberty Jan 12, 2022
8d9daf7
reverting commit that had changed .Err to .err
kenatliberty Jan 12, 2022
08b887e
adding to topic_test, local setup gitignore
kenatliberty Jan 12, 2022
2bbaab3
adding provider-kafka sbom
kenatliberty Jan 14, 2022
d1d0f39
Merge pull request #1 from kenatliberty/create-sbom
kenatliberty Jan 14, 2022
bbc9e29
added cyclonedx formatted sbom, added 2 unit tests
kenatliberty Jan 25, 2022
bbdf786
Merge branch 'main' into create-sbom
kenatliberty Jan 25, 2022
60b1194
Merge branch 'libertymutual:main' into main
kenatliberty Jan 25, 2022
8f0932b
Merge pull request #2 from kenatliberty/create-sbom
kenatliberty Jan 25, 2022
4e4f822
Update topic_test.go
kenatliberty Jan 25, 2022
0209bdf
adding first version of delete and duplicate topic test cases
kenatliberty Feb 4, 2022
103c1d7
client testing commit
kenatliberty Feb 9, 2022
0b0e47a
Merge pull request #3 from kenatliberty/testing-topic-client
kenatliberty Feb 9, 2022
774f24a
removed additional generate cases
kenatliberty Feb 10, 2022
f4baf2a
Merge pull request #4 from kenatliberty/testing-topic-client
kenatliberty Feb 10, 2022
a5bdadd
Merge pull request #4 from kenatliberty/main
marshmallory Feb 10, 2022
71f0bb0
merging in acl for unit testing
kenatliberty Feb 23, 2022
31a0bfa
Merge branch 'feature/support-to-add-remove-and-list-acls'
kenatliberty Feb 23, 2022
c30886f
Merge branch 'main' of https://github.com/kenatliberty/provider-kafka
kenatliberty Feb 23, 2022
7d55de4
kafka acl client testing v1
kenatliberty Feb 24, 2022
0f3a351
acl testing push
kenatliberty Mar 2, 2022
16715a7
acl test fixes
stevendborrelli Mar 4, 2022
fbb3057
Merge pull request #6 from stevendborrelli/testing-acl-client
kenatliberty Mar 4, 2022
1cb3cfb
Merge pull request #7 from kenatliberty/testing-acl-client
kenatliberty Mar 4, 2022
876fb71
Merge pull request #5 from kenatliberty/main
jograca Mar 16, 2022
e29c2f1
Adding CRD for ACLs to address merge conflict
jograca Mar 30, 2022
64630ab
Merge branch 'libertymutual-main'
jograca Mar 30, 2022
048931c
Adding new generated go.sum
jograca Mar 30, 2022
1c3d6cd
Merge branch 'libertymutual-main'
jograca Mar 30, 2022
0cc0190
Adding back refactoring from Principle to Principal
jograca Mar 30, 2022
bc5a35d
Merge branch 'libertymutual-main'
jograca Mar 30, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ kc.json
# ignore IDE folders
.vscode/
.idea/
kaf.yaml
local-test-scripts/*
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ manage [Kafka](https://kafka.apache.org/) resources.
```
kubectl -n crossplane-system create secret generic kafka-creds --from-file=credentials=kc.json
```

3. Create a `ProviderConfig`, see [this](examples/provider/config.yaml) as an example.


Expand Down Expand Up @@ -77,7 +76,7 @@ parameters [here](https://github.com/bitnami/charts/tree/master/bitnami/kafka/#i
```
Once this file is created, apply it by running the following command
```bash
kubectl -n default create secret generic kafka-creds --from-file=credentials=kc.json
kubectl -n kafka-cluster create secret generic kafka-creds --from-file=credentials=kc.json
```

3. Install [kubefwd](https://github.com/txn2/kubefwd#os).
Expand Down
2 changes: 1 addition & 1 deletion apis/acl/v1alpha1/acl_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import (
type AccessControlListParameters struct {
// +kubebuilder:validation:Enum=Unknown;Any;Topic;Group;Cluster;TransactionalID
ResourceType string `json:"resourceType"`
Principle string `json:"principle"`
Principal string `json:"principal"`
Host string `json:"host"`
// +kubebuilder:validation:Enum=Unknown;Any;All;Read;Write;Create;Delete;Alter;Describe;ClusterAction;DescribeConfigs;AlterConfigs;IdempotentWrite
Operation string `json:"operation"`
Expand Down
Binary file added cmd/provider/provider
Binary file not shown.
2 changes: 1 addition & 1 deletion examples/acl/acl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ spec:
# Valid values are: Any, Topic, Group,
# Cluster, TransactionalID
resourceType: "Topic"
principle: "User:Mal"
principal: "User:Mal"
host: "*"
# Valid values are: Unknown, Any, All, Read, Write,
# Create, Delete, Alter, Describe, ClusterAction,
Expand Down
14 changes: 7 additions & 7 deletions internal/clients/kafka/acl/acl.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (
type AccessControlList struct {
Name string `json:"Name"`
ResourceType string `json:"ResourceType"`
Principle string `json:"Principle"`
Principal string `json:"Principal"`
Host string `json:"Host"`
Operation string `json:"Operation"`
PermissionType string `json:"PermissionType"`
Expand All @@ -41,7 +41,7 @@ func List(ctx context.Context, cl *kadm.Client, accessControlList *AccessControl
}

b := kadm.ACLBuilder{}
ab := b.Topics(accessControlList.Name).Allow(accessControlList.Principle).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)
ab := b.Topics(accessControlList.Name).Allow(accessControlList.Principal).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)

resp, err := cl.DescribeACLs(ctx, ab)

Expand All @@ -57,7 +57,7 @@ func List(ctx context.Context, cl *kadm.Client, accessControlList *AccessControl

acl := AccessControlList{}
acl.ResourceType = accessControlList.ResourceType
acl.Principle = accessControlList.Principle
acl.Principal = accessControlList.Principal
acl.Host = accessControlList.Host
acl.Operation = accessControlList.Operation
acl.PermissionType = accessControlList.PermissionType
Expand All @@ -75,7 +75,7 @@ func Create(ctx context.Context, cl *kadm.Client, accessControlList *AccessContr
rpt, _ := kmsg.ParseACLResourcePatternType(strings.ToLower(accessControlList.ResourcePatternTypeFilter))

b := kadm.ACLBuilder{}
ab := b.Allow(accessControlList.Principle).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)
ab := b.Allow(accessControlList.Principal).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)

switch accessControlList.ResourceType {
case "Topic":
Expand Down Expand Up @@ -108,7 +108,7 @@ func Delete(ctx context.Context, cl *kadm.Client, accessControlList *AccessContr
rpt, _ := kmsg.ParseACLResourcePatternType(strings.ToLower(accessControlList.ResourcePatternTypeFilter))

b := kadm.ACLBuilder{}
ab := b.Topics(accessControlList.Name).Allow(accessControlList.Principle).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)
ab := b.Topics(accessControlList.Name).Allow(accessControlList.Principal).AllowHosts(accessControlList.Host).Operations(ao[0]).ResourcePatternType(rpt)

resp, err := cl.DeleteACLs(ctx, ab)
if err != nil {
Expand Down Expand Up @@ -151,7 +151,7 @@ func Generate(name string, params *v1alpha1.AccessControlListParameters) *Access
acl := &AccessControlList{
Name: name,
ResourceType: params.ResourceType,
Principle: params.Principle,
Principal: params.Principal,
Host: params.Host,
Operation: params.Operation,
PermissionType: params.PermissionType,
Expand All @@ -168,7 +168,7 @@ func IsUpToDate(in *v1alpha1.AccessControlListParameters, observed *AccessContro
if in.ResourceType != observed.ResourceType {
return false
}
if in.Principle != observed.Principle {
if in.Principal != observed.Principal {
return false
}
if in.Host != observed.Host {
Expand Down
Loading