Skip to content

Commit 9ab8363

Browse files
authored
Add kafka metadata (#206)
Signed-off-by: Tamal Saha <[email protected]>
1 parent e99d484 commit 9ab8363

File tree

191 files changed

+7107
-639
lines changed

Some content is hidden

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

191 files changed

+7107
-639
lines changed

go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ require (
3939
k8s.io/kube-state-metrics/v2 v2.7.0
4040
kmodules.xyz/apiversion v0.2.0
4141
kmodules.xyz/authorizer v0.25.0
42-
kmodules.xyz/client-go v0.25.21
42+
kmodules.xyz/client-go v0.25.22
4343
kmodules.xyz/custom-resources v0.25.1
4444
kmodules.xyz/go-containerregistry v0.0.11
4545
kmodules.xyz/monitoring-agent-api v0.25.1
46-
kmodules.xyz/resource-metadata v0.17.1
46+
kmodules.xyz/resource-metadata v0.17.2
4747
kmodules.xyz/resource-metrics v0.25.2
4848
kmodules.xyz/sets v0.24.0
4949
kubeops.dev/scanner v0.0.10
5050
sigs.k8s.io/cli-utils v0.34.0
5151
sigs.k8s.io/controller-runtime v0.13.1
5252
sigs.k8s.io/yaml v1.3.0
53-
x-helm.dev/apimachinery v0.0.8
53+
x-helm.dev/apimachinery v0.0.9
5454
)
5555

5656
require (

go.sum

+6-6
Original file line numberDiff line numberDiff line change
@@ -2110,8 +2110,8 @@ kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk=
21102110
kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80=
21112111
kmodules.xyz/authorizer v0.25.0 h1:yRrLtMOdlU1p4mLzaSz5pmSLpBLsVXLQHkUfiME12iQ=
21122112
kmodules.xyz/authorizer v0.25.0/go.mod h1:Jb99YsLRJE4R4d8F5fFtlxEaxk0prdSk2LApZl4JdyI=
2113-
kmodules.xyz/client-go v0.25.21 h1:AMceuEeOl4hoh4p3rtGcrcrbwHg9j5IpnHTUd4vjecc=
2114-
kmodules.xyz/client-go v0.25.21/go.mod h1:KWVpgjAj/VNzCzj/BihpJkY39aWIqe8qMp5RuPsuSJA=
2113+
kmodules.xyz/client-go v0.25.22 h1:gtRyVl5Ar87zzKj4g7Nx+0QSeWq9yTKADoasZP+brZg=
2114+
kmodules.xyz/client-go v0.25.22/go.mod h1:KWVpgjAj/VNzCzj/BihpJkY39aWIqe8qMp5RuPsuSJA=
21152115
kmodules.xyz/crd-schema-fuzz v0.25.0 h1:c5ZxNRqJak1bkGhECmyrKpzKGThFMB4088Kynyvngbc=
21162116
kmodules.xyz/custom-resources v0.25.1 h1:0qHPTxbT/q0afl2GCOnwPFaoxKziRIPXgVu77YwrCa4=
21172117
kmodules.xyz/custom-resources v0.25.1/go.mod h1:ULwzvLmOqZJcPSXKI7iLclYL5eYRlKx8Nbex28Ht19E=
@@ -2121,8 +2121,8 @@ kmodules.xyz/monitoring-agent-api v0.25.1 h1:E1H8U/vMfYQ8wevmJv6Lcj0Z4DF7cH3hZ2x
21212121
kmodules.xyz/monitoring-agent-api v0.25.1/go.mod h1:IphGzRWbuV00B3TLalcBs6+IlchSZVTwKDty+J3LLz4=
21222122
kmodules.xyz/offshoot-api v0.25.0 h1:Svq9da/+sg5afOjpgo9vx2J/Lu90Mo0aFxkdQmgKnGI=
21232123
kmodules.xyz/offshoot-api v0.25.0/go.mod h1:ysEBn7LJuT3+s8ynAQA/OG0BSsJugXa6KGtDLMRjlKo=
2124-
kmodules.xyz/resource-metadata v0.17.1 h1:klZ7a4DLHD3vEMsnuIB/xmFoZBzN4T9XID/XwiGUWtI=
2125-
kmodules.xyz/resource-metadata v0.17.1/go.mod h1:MP+u4U1VMdtn2j52SLMw0pqzBDOa+wxnGoYNLtsJzYM=
2124+
kmodules.xyz/resource-metadata v0.17.2 h1:J81LB78NswSi8F23RtxaKKDXyAML07Yupi3rs7+FAT0=
2125+
kmodules.xyz/resource-metadata v0.17.2/go.mod h1:w1Mdovr5Jo0Tuyum2yAH4UAvmsz7d7w30WC5ED4IKOE=
21262126
kmodules.xyz/resource-metrics v0.25.2 h1:BwCb6qyunvQBa0u8UUkw+wYG5/T4qtNtAKcHjSsk0JU=
21272127
kmodules.xyz/resource-metrics v0.25.2/go.mod h1:ZK/52NLuwMk+Jt0bmUtGQHtSxPLYYpsFILG7SJhYPg0=
21282128
kmodules.xyz/sets v0.24.0 h1:GbltLEPVnURjcmWyf8eFstgJBpm9o151wsrABkByGrc=
@@ -2159,5 +2159,5 @@ sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
21592159
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
21602160
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
21612161
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
2162-
x-helm.dev/apimachinery v0.0.8 h1:/ovK/ilRf6sS40/WWRP1C/8Fqap8cVn3n/iwTphhwu0=
2163-
x-helm.dev/apimachinery v0.0.8/go.mod h1:+e17beHh5V931ak0a8SgAH6DnT1NOlPpWEYKnLMucAU=
2162+
x-helm.dev/apimachinery v0.0.9 h1:rw6VFDIiNZ741qrRQvchdhPew5gG46OFWZBD7Co6+Bs=
2163+
x-helm.dev/apimachinery v0.0.9/go.mod h1:4P/kgSsP5YNYfcsjxuruZArDE1bU/Yn86LbPFUv2mPA=

vendor/kmodules.xyz/resource-metadata/hub/menuoutlines/byte.builders/kubedb-accordion.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ spec:
2020
type:
2121
group: kubedb.com
2222
kind: Elasticsearch
23+
- layoutName: kubedb.com-v1alpha2-kafkas-kubedb
24+
name: Kafka
25+
required: true
26+
type:
27+
group: kubedb.com
28+
kind: Kafka
2329
- layoutName: kubedb.com-v1alpha2-mariadbs-kubedb
2430
name: MariaDB
2531
required: true
@@ -61,6 +67,8 @@ spec:
6167
- icons:
6268
- src: https://cdn.appscode.com/k8s/icons/stash.appscode.com/backupconfigurations.svg
6369
type: image/svg+xml
70+
- src: https://cdn.appscode.com/k8s/icons/stash.appscode.com/backupconfigurations.png
71+
type: image/png
6472
items:
6573
- layoutName: stash.appscode.com-v1beta1-backupsessions-kubedb
6674
name: Recent Backups

vendor/kmodules.xyz/resource-metadata/hub/menuoutlines/byte.builders/kubedb-gallery.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ spec:
2020
type:
2121
group: kubedb.com
2222
kind: Elasticsearch
23+
- layoutName: kubedb.com-v1alpha2-kafkas-kubedb
24+
name: Kafka
25+
required: true
26+
type:
27+
group: kubedb.com
28+
kind: Kafka
2329
- layoutName: kubedb.com-v1alpha2-mariadbs-kubedb
2430
name: MariaDB
2531
required: true
@@ -61,6 +67,8 @@ spec:
6167
- icons:
6268
- src: https://cdn.appscode.com/k8s/icons/stash.appscode.com/backupconfigurations.svg
6369
type: image/svg+xml
70+
- src: https://cdn.appscode.com/k8s/icons/stash.appscode.com/backupconfigurations.png
71+
type: image/png
6472
items:
6573
- layoutName: stash.appscode.com-v1alpha1-repositories-kubedb
6674
name: Repository
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
apiVersion: meta.k8s.appscode.com/v1alpha1
2+
kind: ResourceBlockDefinition
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
k8s.io/group: kubedb.com
7+
k8s.io/kind: Kafka
8+
k8s.io/resource: kafkas
9+
k8s.io/version: v1alpha2
10+
name: kubedb.com-v1alpha2-kafkas
11+
spec:
12+
blocks:
13+
- actions:
14+
create: Never
15+
displayMode: List
16+
kind: Connection
17+
name: Client Connections
18+
query:
19+
byLabel: offshoot
20+
type: GraphQL
21+
ref:
22+
group: appcatalog.appscode.com
23+
kind: AppBinding
24+
- actions:
25+
create: Never
26+
displayMode: List
27+
kind: Connection
28+
name: Kafka Version
29+
query:
30+
byLabel: catalog
31+
type: GraphQL
32+
ref:
33+
group: catalog.kubedb.com
34+
kind: KafkaVersion
35+
- actions:
36+
create: Never
37+
displayMode: List
38+
kind: Connection
39+
name: StatefulSets
40+
query:
41+
byLabel: offshoot
42+
type: GraphQL
43+
ref:
44+
group: apps
45+
kind: StatefulSet
46+
- actions:
47+
create: Never
48+
displayMode: List
49+
kind: Connection
50+
name: Pods
51+
query:
52+
byLabel: offshoot
53+
type: GraphQL
54+
ref:
55+
group: ""
56+
kind: Pod
57+
- actions:
58+
create: Never
59+
displayMode: List
60+
kind: Connection
61+
name: Services
62+
query:
63+
byLabel: exposed_by
64+
type: GraphQL
65+
ref:
66+
group: ""
67+
kind: Service
68+
- actions:
69+
create: Never
70+
displayMode: List
71+
kind: Connection
72+
name: Secrets
73+
query:
74+
byLabel: config
75+
type: GraphQL
76+
ref:
77+
group: ""
78+
kind: Secret
79+
- actions:
80+
create: Never
81+
displayMode: List
82+
kind: Connection
83+
name: PersistentVolumeClaims
84+
query:
85+
byLabel: offshoot
86+
type: GraphQL
87+
ref:
88+
group: ""
89+
kind: PersistentVolumeClaim
90+
- actions:
91+
create: Never
92+
displayMode: List
93+
kind: Connection
94+
name: Pod Disruption Budgets
95+
query:
96+
byLabel: policy
97+
type: GraphQL
98+
ref:
99+
group: policy
100+
kind: PodDisruptionBudget
101+
resource:
102+
group: kubedb.com
103+
kind: Kafka
104+
name: kafkas
105+
scope: Namespaced
106+
version: v1alpha2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
apiVersion: ui.k8s.appscode.com/v1alpha1
2+
kind: ResourceDashboard
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
k8s.io/group: kubedb.com
7+
k8s.io/kind: Kafka
8+
k8s.io/resource: kafkas
9+
k8s.io/version: v1alpha2
10+
name: kubedb.com-v1alpha2-kafkas
11+
spec:
12+
dashboards:
13+
- title: KubeDB / Kafka / Database
14+
vars:
15+
- name: namespace
16+
value: '{{ .metadata.namespace }}'
17+
- name: service
18+
value: '{{ .metadata.name }}'
19+
provider: Grafana
20+
resource:
21+
group: kubedb.com
22+
kind: Kafka
23+
name: kafkas
24+
scope: Namespaced
25+
version: v1alpha2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
apiVersion: meta.k8s.appscode.com/v1alpha1
2+
kind: ResourceDescriptor
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
k8s.io/group: charts.x-helm.dev
7+
k8s.io/kind: ChartPreset
8+
k8s.io/resource: chartpresets
9+
k8s.io/version: v1alpha1
10+
name: charts.x-helm.dev-v1alpha1-chartpresets
11+
spec:
12+
resource:
13+
group: charts.x-helm.dev
14+
kind: ChartPreset
15+
name: chartpresets
16+
scope: Namespaced
17+
version: v1alpha1
18+
validation:
19+
openAPIV3Schema:
20+
description: ChartPreset is the Schema for the chartpresets API
21+
properties:
22+
apiVersion:
23+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
24+
type: string
25+
kind:
26+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
27+
type: string
28+
metadata:
29+
properties:
30+
name:
31+
description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
32+
type: string
33+
namespace:
34+
description: "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"
35+
type: string
36+
labels:
37+
additionalProperties:
38+
type: string
39+
description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
40+
type: object
41+
annotations:
42+
additionalProperties:
43+
type: string
44+
description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
45+
type: object
46+
type: object
47+
spec:
48+
description: ClusterChartPresetSpec defines the desired state of ClusterChartPreset
49+
properties:
50+
displayName:
51+
type: string
52+
usePresets:
53+
items:
54+
description: TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.
55+
properties:
56+
apiGroup:
57+
description: APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.
58+
type: string
59+
kind:
60+
description: Kind is the type of resource being referenced
61+
type: string
62+
name:
63+
description: Name is the name of resource being referenced
64+
type: string
65+
selector:
66+
description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
67+
properties:
68+
matchExpressions:
69+
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
70+
items:
71+
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
72+
properties:
73+
key:
74+
description: key is the label key that the selector applies to.
75+
type: string
76+
operator:
77+
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
78+
type: string
79+
values:
80+
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
81+
items:
82+
type: string
83+
type: array
84+
required:
85+
- key
86+
- operator
87+
type: object
88+
type: array
89+
matchLabels:
90+
additionalProperties:
91+
type: string
92+
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
93+
type: object
94+
type: object
95+
x-kubernetes-map-type: atomic
96+
required:
97+
- kind
98+
type: object
99+
x-kubernetes-map-type: atomic
100+
type: array
101+
values:
102+
type: object
103+
x-kubernetes-preserve-unknown-fields: true
104+
type: object
105+
type: object

0 commit comments

Comments
 (0)