Skip to content

Commit

Permalink
Skip matched ref with missing columns (#322)
Browse files Browse the repository at this point in the history
Signed-off-by: Tamal Saha <tamal@appscode.com>
  • Loading branch information
tamalsaha authored Aug 23, 2024
1 parent b6593a6 commit 2548d66
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 16 deletions.
68 changes: 67 additions & 1 deletion cmd/objectfinder-tester/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func NewClient() (kubernetes.Interface, client.Client, error) {
return kc, rtc, err
}

func main() {
func main_5() {
baseURL := "https://172.104.39.12/"
token := "5311e401d"
caCert := []byte(`-----BEGIN CERTIFICATE-----
Expand Down Expand Up @@ -315,3 +315,69 @@ func findServiceMonitorForPrometheus() error {
}
return nil
}

func main() {
//_, kc, err := NewClient()
//if err != nil {
// panic(err)
//}
//
//var result unstructured.UnstructuredList
//result.SetGroupVersionKind(schema.GroupVersionKind{
// Group: "policy",
// Version: "v1beta1",
// Kind: "PodSecurityPolicy.",
//})
//err = kc.List(context.TODO(), &result)
//if err != nil {
// panic(err)
//}
//fmt.Printf("%+v\n", result)

err := findForPostgres()
if err != nil {
panic(err)
}
}

func findForPostgres() error {
_, kc, err := NewClient()
if err != nil {
return err
}

/*
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
*/
rd, err := resourcedescriptors.LoadByGVR(schema.GroupVersionResource{
Group: "kubedb.com",
Version: "v1",
Resource: "postgreses",
})
if err != nil {
return err
}

var src unstructured.Unstructured
src.SetAPIVersion("kubedb.com/v1")
src.SetKind("Postgres")

key := client.ObjectKey{
Namespace: "ace",
Name: "ace-db",
}
err = kc.Get(context.TODO(), key, &src)
if err != nil {
return err
}

finder := graph.ObjectFinder{Client: kc}

result, err := finder.ListConnectedObjectIDs(&src, rd.Spec.Connections)
if err != nil {
return err
}
fmt.Printf("%+v\n", result)
return nil
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ require (
kmodules.xyz/custom-resources v0.30.0
kmodules.xyz/go-containerregistry v0.0.12
kmodules.xyz/monitoring-agent-api v0.29.0
kmodules.xyz/resource-metadata v0.18.13-0.20240823065501-8e023c7e0197
kmodules.xyz/resource-metadata v0.18.13-0.20240823113925-d6c4a55d03cb
kmodules.xyz/resource-metrics v0.30.2
kmodules.xyz/resource-metrics/utils v0.30.1
kmodules.xyz/sets v0.29.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -920,8 +920,8 @@ kmodules.xyz/monitoring-agent-api v0.29.0 h1:gpFl6OZrlMLb/ySMHdREI9EwGtnJ91oZBn9
kmodules.xyz/monitoring-agent-api v0.29.0/go.mod h1:iNbvaMTgVFOI5q2LJtGK91j4Dmjv4ZRiRdasGmWLKQI=
kmodules.xyz/offshoot-api v0.29.4 h1:WQV2BIUIoVKKiqZNmZ4gAy367jEdwBhEl3dFCLZM1qA=
kmodules.xyz/offshoot-api v0.29.4/go.mod h1:e+NQ0s4gW/YTPWBWEfdISZcmk+tlTq8IjvP5SLdqvko=
kmodules.xyz/resource-metadata v0.18.13-0.20240823065501-8e023c7e0197 h1:LBFFr7xRF/VefO2CIFFrquUwTX/sHEs+MHF/FeOzhjA=
kmodules.xyz/resource-metadata v0.18.13-0.20240823065501-8e023c7e0197/go.mod h1:VvUjfIzmM08SZ9ssZKhduzSrggKjY93ES2Bk+/m04hs=
kmodules.xyz/resource-metadata v0.18.13-0.20240823113925-d6c4a55d03cb h1:SNCaWXTAtb62gnyboHa69xjZj59FabzVvssX86YnCKE=
kmodules.xyz/resource-metadata v0.18.13-0.20240823113925-d6c4a55d03cb/go.mod h1:VvUjfIzmM08SZ9ssZKhduzSrggKjY93ES2Bk+/m04hs=
kmodules.xyz/resource-metrics v0.30.2 h1:EGJapJa7Sh2ePc/WyHziLVh9xtuh4vWPBoSGxVZ8uC8=
kmodules.xyz/resource-metrics v0.30.2/go.mod h1:UYcQQLN+3o8rNPQJwJa2D9bt5ihJCeo5bCDuQ4O3MPY=
kmodules.xyz/resource-metrics/utils v0.30.1 h1:iRnAKNMMdAi7QYjMQrK9W3vNMhSC21RWNx9yS3qlpTA=
Expand Down
7 changes: 7 additions & 0 deletions pkg/graph/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,7 @@ func ParseResourceRefs(records [][]string) ([]ResourceRef, error) {
var refs []ResourceRef

var cols int
NEXT:
for i, rec := range records {
n := len(rec)
if i == 0 {
Expand All @@ -879,6 +880,12 @@ func ParseResourceRefs(records [][]string) ([]ResourceRef, error) {
return nil, errors.New("all rows must have same number of columns")
}

for _, v := range rec {
if v == "" {
continue NEXT
}
}

switch n {
case 0:
return nil, errors.New("must have at least one column")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,6 @@ metadata:
k8s.io/version: v1
name: rbac.authorization.k8s.io-v1-roles
spec:
connections:
- labels:
- policy
namespace:
path: metadata.namespace
references:
- '{range .rules[?(@.resources[*]=="podsecuritypolicies")]}{range @.resourceNames[*]}{@}{"\n"}{end}{end}'
target:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
type: MatchRef
resource:
group: rbac.authorization.k8s.io
kind: Role
Expand Down
2 changes: 1 addition & 1 deletion vendor/modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1985,7 +1985,7 @@ kmodules.xyz/monitoring-agent-api/client
## explicit; go 1.22.0
kmodules.xyz/offshoot-api/api/v1
kmodules.xyz/offshoot-api/api/v2
# kmodules.xyz/resource-metadata v0.18.13-0.20240823065501-8e023c7e0197
# kmodules.xyz/resource-metadata v0.18.13-0.20240823113925-d6c4a55d03cb
## explicit; go 1.22.1
kmodules.xyz/resource-metadata/apis/core/install
kmodules.xyz/resource-metadata/apis/core/v1alpha1
Expand Down

0 comments on commit 2548d66

Please sign in to comment.