Skip to content

Commit b1ddcaa

Browse files
committedNov 21, 2023
Sync Pod meta
1 parent 1ef9849 commit b1ddcaa

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed
 

‎cmd/icinga-kubernetes/main.go

+6
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ func main() {
8282
).Run(ctx)
8383
})
8484

85+
g.Go(func() error {
86+
return sync.NewSync(
87+
db, schema.NewPod, informers.Core().V1().Pods().Informer(), logs.GetChildLogger("Pods"),
88+
).Run(ctx)
89+
})
90+
8591
if err := g.Wait(); err != nil {
8692
logging.Fatal(errors.Wrap(err, "can't sync"))
8793
}

‎pkg/schema/pod.go

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package schema
2+
3+
import (
4+
"github.com/icinga/icinga-kubernetes/pkg/contracts"
5+
kmetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
6+
)
7+
8+
type Pod struct {
9+
kmetaWithNamespace
10+
}
11+
12+
func NewPod() contracts.Resource {
13+
return &Pod{}
14+
}
15+
16+
func (p *Pod) Obtain(kobject kmetav1.Object) {
17+
p.kmetaWithNamespace.Obtain(kobject)
18+
}

‎schema/mysql/schema.sql

+11
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,14 @@ CREATE TABLE namespace (
1717
created bigint unsigned NOT NULL,
1818
PRIMARY KEY (id)
1919
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
20+
21+
CREATE TABLE pod (
22+
id binary(20) NOT NULL,
23+
canonical_name varchar(317) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'namespace/name',
24+
namespace varchar(63) COLLATE utf8mb4_unicode_ci NOT NULL,
25+
name varchar(253) COLLATE utf8mb4_unicode_ci NOT NULL,
26+
uid varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
27+
resource_version varchar(255) NOT NULL,
28+
created bigint unsigned NOT NULL,
29+
PRIMARY KEY (id)
30+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

0 commit comments

Comments
 (0)