From 9436933f2694d504e745a42d0e98161060e5f07c Mon Sep 17 00:00:00 2001 From: Ori Shoshan Date: Sun, 3 Dec 2023 18:05:22 +0100 Subject: [PATCH 1/3] Add Prometheus metrics and stop labeling namespaces if not necessary --- src/go.mod | 20 +++++-- src/go.sum | 35 ++++++++++++ src/operator/api/v1alpha2/intents_types.go | 2 +- .../egress_network_policy.go | 3 + .../ingress_network_policy.go | 3 + .../controllers/intents_reconcilers/pods.go | 3 + .../port_egress_network_policy.go | 4 ++ .../telemetry_reconciler.go | 5 +- .../controllers/pod_reconcilers/namespace.go | 22 ++++---- .../controllers/pod_reconcilers/pods.go | 2 + .../telemetry_reconciler.go | 2 + src/operator/main.go | 6 ++ src/prometheus/metrics.go | 56 +++++++++++++++++++ src/shared/operatorconfig/config.go | 3 + 14 files changed, 147 insertions(+), 19 deletions(-) create mode 100644 src/prometheus/metrics.go diff --git a/src/go.mod b/src/go.mod index 64255783a..c2716c426 100644 --- a/src/go.mod +++ b/src/go.mod @@ -25,7 +25,7 @@ require ( github.com/sirupsen/logrus v1.9.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 - github.com/stretchr/testify v1.8.3 + github.com/stretchr/testify v1.8.4 github.com/suessflorian/gqlfetch v0.6.0 github.com/vishalkuo/bimap v0.0.0-20220726225509-e0b4f20de28b go.uber.org/mock v0.2.0 @@ -66,6 +66,7 @@ require ( github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect @@ -85,8 +86,13 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.15.6 // indirect + github.com/labstack/echo-contrib v0.15.0 // indirect + github.com/labstack/echo/v4 v4.11.3 // indirect + github.com/labstack/gommon v0.4.0 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -105,16 +111,18 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect github.com/vektah/gqlparser v1.3.1 // indirect github.com/vektah/gqlparser/v2 v2.4.5 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.9.0 // indirect + golang.org/x/crypto v0.14.0 // indirect golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/term v0.8.0 // indirect - golang.org/x/text v0.9.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.9.1 // indirect gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect diff --git a/src/go.sum b/src/go.sum index 55dee6409..811f79e0c 100644 --- a/src/go.sum +++ b/src/go.sum @@ -185,6 +185,8 @@ github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -329,6 +331,12 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/labstack/echo-contrib v0.15.0 h1:9K+oRU265y4Mu9zpRDv3X+DGTqUALY6oRHCSZZKCRVU= +github.com/labstack/echo-contrib v0.15.0/go.mod h1:lei+qt5CLB4oa7VHTE0yEfQSEB9XTJI1LUqko9UWvo4= +github.com/labstack/echo/v4 v4.11.3 h1:Upyu3olaqSHkCjs1EJJwQ3WId8b8b1hxbogyommKktM= +github.com/labstack/echo/v4 v4.11.3/go.mod h1:UcGuQ8V6ZNRmSweBIJkPvGfwCMIlFmiqrPqiEBfPYws= +github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= +github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxAlxggSjiwMnCUc= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= @@ -336,8 +344,15 @@ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0 github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/matryer/moq v0.2.3/go.mod h1:9RtPYjTnH1bSBIkpvtHkFN7nbWAnO7oRpdJkEIn6UtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -448,6 +463,7 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/suessflorian/gqlfetch v0.6.0 h1:6e+Oe9mWbbjSmJez+6I4tyskQMy6lQlFFQYj64gaCQU= @@ -455,6 +471,11 @@ github.com/suessflorian/gqlfetch v0.6.0/go.mod h1:Xlz+o2ate8M/Hr237HJpFyJD0l05uh github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= github.com/thoas/go-funk v0.9.1/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/vektah/gqlparser v1.3.1 h1:8b0IcD3qZKWJQHSzynbDlrtP3IxVydZ2DZepCGofqfU= github.com/vektah/gqlparser v1.3.1/go.mod h1:bkVf0FX+Stjg/MHnm8mEyubuaArhNEqfQhF+OTiAL74= github.com/vektah/gqlparser/v2 v2.4.0/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= @@ -504,6 +525,8 @@ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -585,6 +608,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -656,18 +681,26 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -679,6 +712,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/src/operator/api/v1alpha2/intents_types.go b/src/operator/api/v1alpha2/intents_types.go index 5f5e155be..7b1ea050d 100644 --- a/src/operator/api/v1alpha2/intents_types.go +++ b/src/operator/api/v1alpha2/intents_types.go @@ -44,7 +44,7 @@ const ( OtterizeServerLabelKey = "intents.otterize.com/server" OtterizeKubernetesServiceLabelKeyPrefix = "intents.otterize.com/k8s-svc" OtterizeKubernetesServiceLabelKey = "intents.otterize.com/k8s-svc-%s" - OtterizeNamespaceLabelKey = "intents.otterize.com/namespace-name" + KubernetesStandardNamespaceNameLabelKey = "kubernetes.io/metadata.name" AllIntentsRemovedAnnotation = "intents.otterize.com/all-intents-removed" OtterizeCreatedForServiceAnnotation = "intents.otterize.com/created-for-service" OtterizeCreatedForIngressAnnotation = "intents.otterize.com/created-for-ingress" diff --git a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go index 2864bf405..46129d44d 100644 --- a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go @@ -5,6 +5,7 @@ import ( "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers/consts" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/telemetries/telemetriesgql" "github.com/otterize/intents-operator/src/shared/telemetries/telemetrysender" @@ -110,6 +111,7 @@ func (r *EgressNetworkPolicyReconciler) Reconcile(ctx context.Context, req ctrl. callsCount := len(intents.GetCallsList()) r.RecordNormalEventf(intents, consts.ReasonCreatedEgressNetworkPolicies, "NetworkPolicy reconcile complete, reconciled %d servers", callsCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesCreated, createdNetpols) + prometheus.IncrementNetpolCreated(createdNetpols) } return ctrl.Result{}, nil } @@ -180,6 +182,7 @@ func (r *EgressNetworkPolicyReconciler) cleanPolicies( } telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesDeleted, len(intents.GetCallsList())) + prometheus.IncrementNetpolDeleted(len(intents.GetCallsList())) if err := r.Update(ctx, intents); err != nil { return err diff --git a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go index 749c64846..554b29954 100644 --- a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go @@ -6,6 +6,7 @@ import ( otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers/consts" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers/protected_services" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/operatorconfig/allowexternaltraffic" "github.com/otterize/intents-operator/src/shared/telemetries/telemetriesgql" @@ -126,6 +127,7 @@ func (r *NetworkPolicyReconciler) Reconcile(ctx context.Context, req ctrl.Reques callsCount := len(intents.GetCallsList()) r.RecordNormalEventf(intents, consts.ReasonCreatedNetworkPolicies, "NetworkPolicy reconcile complete, reconciled %d servers", callsCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesCreated, createdNetpols) + prometheus.IncrementNetpolCreated(createdNetpols) } return ctrl.Result{}, nil } @@ -220,6 +222,7 @@ func (r *NetworkPolicyReconciler) cleanPolicies( } telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesDeleted, len(intents.GetCallsList())) + prometheus.IncrementNetpolCreated(len(intents.GetCallsList())) return nil } diff --git a/src/operator/controllers/intents_reconcilers/pods.go b/src/operator/controllers/intents_reconcilers/pods.go index 9ce6bb475..b7fadad5f 100644 --- a/src/operator/controllers/intents_reconcilers/pods.go +++ b/src/operator/controllers/intents_reconcilers/pods.go @@ -4,6 +4,7 @@ import ( "context" "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/sirupsen/logrus" v1 "k8s.io/api/core/v1" @@ -86,6 +87,7 @@ func (r *PodLabelReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c r.RecordWarningEventf(intents, ReasonUpdatePodFailed, "could not update pod: %s", err.Error()) return ctrl.Result{}, err } + prometheus.IncrementPodsLabeledForNetworkPolicies(1) } } return ctrl.Result{}, nil @@ -124,6 +126,7 @@ func (r *PodLabelReconciler) removeLabelsFromPods( delete(updatedPod.Labels, accessLabel) } + prometheus.IncrementPodsUnlabeledForNetworkPolicies(1) err := r.Patch(ctx, updatedPod, client.MergeFrom(&pod)) if err != nil { return err diff --git a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go index 241087062..96afbb6a7 100644 --- a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go @@ -5,6 +5,7 @@ import ( "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers/consts" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/telemetries/telemetriesgql" "github.com/otterize/intents-operator/src/shared/telemetries/telemetrysender" @@ -114,6 +115,8 @@ func (r *PortEgressNetworkPolicyReconciler) Reconcile(ctx context.Context, req c callsCount := len(intents.GetCallsList()) r.RecordNormalEventf(intents, consts.ReasonCreatedEgressNetworkPolicies, "NetworkPolicy reconcile complete, reconciled %d servers", callsCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesCreated, createdNetpols) + prometheus.IncrementNetpolCreated(createdNetpols) + } return ctrl.Result{}, nil } @@ -195,6 +198,7 @@ func (r *PortEgressNetworkPolicyReconciler) cleanPolicies( } telemetrysender.SendIntentOperator(telemetriesgql.EventTypeNetworkPoliciesDeleted, len(intents.GetCallsList())) + prometheus.IncrementNetpolCreated(len(intents.GetCallsList())) if err := r.Update(ctx, intents); err != nil { return err diff --git a/src/operator/controllers/intents_reconcilers/telemetry_reconciler.go b/src/operator/controllers/intents_reconcilers/telemetry_reconciler.go index 1a39f4228..050001a31 100644 --- a/src/operator/controllers/intents_reconcilers/telemetry_reconciler.go +++ b/src/operator/controllers/intents_reconcilers/telemetry_reconciler.go @@ -5,6 +5,7 @@ import ( "crypto/sha1" "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/telemetries/telemetriesgql" "github.com/otterize/intents-operator/src/shared/telemetries/telemetrysender" @@ -70,7 +71,9 @@ func (r *TelemetryReconciler) Reconcile(ctx context.Context, req reconcile.Reque databaseCount += value[otterizev1alpha3.IntentTypeDatabase] } - telemetrysender.SendIntentOperator(telemetriesgql.EventTypeIntentsApplied, lo.Sum(lo.Values(r.intentsCounter))) + intentsCount := lo.Sum(lo.Values(r.intentsCounter)) + telemetrysender.SendIntentOperator(telemetriesgql.EventTypeIntentsApplied, intentsCount) + prometheus.IncrementIntentsApplied(intentsCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeIntentsAppliedKafka, kafkaCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeIntentsAppliedHttp, httpCount) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeIntentsAppliedDatabase, databaseCount) diff --git a/src/operator/controllers/pod_reconcilers/namespace.go b/src/operator/controllers/pod_reconcilers/namespace.go index 15235335d..02463de0a 100644 --- a/src/operator/controllers/pod_reconcilers/namespace.go +++ b/src/operator/controllers/pod_reconcilers/namespace.go @@ -31,7 +31,6 @@ func (ns *NamespaceWatcher) Reconcile(ctx context.Context, req ctrl.Request) (ct namespace := &v1.Namespace{} err := ns.Get(ctx, req.NamespacedName, namespace) if k8serrors.IsNotFound(err) { - logrus.Infoln("namespace was deleted") return ctrl.Result{}, nil } @@ -39,22 +38,23 @@ func (ns *NamespaceWatcher) Reconcile(ctx context.Context, req ctrl.Request) (ct return ctrl.Result{}, err } - if !ns.hasOtterizeLabel(namespace) { - // Add Otterize namespace label so this namespace is a viable selector in network policies - updatedNS := namespace.DeepCopy() - updatedNS.Labels[otterizev1alpha3.OtterizeNamespaceLabelKey] = req.Name - err := ns.Patch(ctx, updatedNS, client.MergeFrom(namespace)) - if err != nil { - return ctrl.Result{}, err - } + if ns.hasKubernetesNameLabel(namespace) { return ctrl.Result{}, nil } + // Add Kubernetes standard namespace label so this namespace is a viable selector in network policies + updatedNS := namespace.DeepCopy() + updatedNS.Labels[otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey] = req.Name + err = ns.Patch(ctx, updatedNS, client.MergeFrom(namespace)) + if err != nil { + return ctrl.Result{}, err + } return ctrl.Result{}, nil + } -func (ns *NamespaceWatcher) hasOtterizeLabel(namespace *v1.Namespace) bool { - _, exists := namespace.Labels[otterizev1alpha3.OtterizeNamespaceLabelKey] +func (ns *NamespaceWatcher) hasKubernetesNameLabel(namespace *v1.Namespace) bool { + _, exists := namespace.Labels[otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey] return exists } diff --git a/src/operator/controllers/pod_reconcilers/pods.go b/src/operator/controllers/pod_reconcilers/pods.go index 043da82f8..ca775fcfa 100644 --- a/src/operator/controllers/pod_reconcilers/pods.go +++ b/src/operator/controllers/pod_reconcilers/pods.go @@ -5,6 +5,7 @@ import ( "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" "github.com/otterize/intents-operator/src/operator/controllers/istiopolicy" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/operatorconfig" "github.com/otterize/intents-operator/src/shared/serviceidresolver" @@ -208,6 +209,7 @@ func (p *PodWatcher) addOtterizePodLabels(ctx context.Context, req ctrl.Request, if otterizev1alpha3.IsMissingOtterizeAccessLabels(&pod, otterizeAccessLabels) { logrus.Infof("Updating Otterize access labels for %s", serviceID.Name) updatedPod = otterizev1alpha3.UpdateOtterizeAccessLabels(updatedPod.DeepCopy(), serviceID.Name, otterizeAccessLabels) + prometheus.IncrementPodsLabeledForNetworkPolicies(1) hasUpdates = true } } diff --git a/src/operator/controllers/protected_service_reconcilers/telemetry_reconciler.go b/src/operator/controllers/protected_service_reconcilers/telemetry_reconciler.go index 7d7e92c2d..05eb22fa4 100644 --- a/src/operator/controllers/protected_service_reconcilers/telemetry_reconciler.go +++ b/src/operator/controllers/protected_service_reconcilers/telemetry_reconciler.go @@ -4,6 +4,7 @@ import ( "context" "fmt" otterizev1alpha3 "github.com/otterize/intents-operator/src/operator/api/v1alpha3" + "github.com/otterize/intents-operator/src/prometheus" "github.com/otterize/intents-operator/src/shared/injectablerecorder" "github.com/otterize/intents-operator/src/shared/telemetries/telemetriesgql" "github.com/otterize/intents-operator/src/shared/telemetries/telemetrysender" @@ -50,6 +51,7 @@ func (r *TelemetryReconciler) Reconcile(ctx context.Context, req reconcile.Reque r.protectedServicesCounter.Insert(anonymizedServerName) telemetrysender.SendIntentOperator(telemetriesgql.EventTypeProtectedServiceApplied, r.protectedServicesCounter.Len()) + prometheus.SetProtectedServicesApplied(r.protectedServicesCounter.Len()) return ctrl.Result{}, nil } diff --git a/src/operator/main.go b/src/operator/main.go index 2c7b447e4..73a17fdda 100644 --- a/src/operator/main.go +++ b/src/operator/main.go @@ -21,6 +21,8 @@ import ( "fmt" "github.com/bombsimon/logrusr/v3" "github.com/google/uuid" + "github.com/labstack/echo-contrib/echoprometheus" + "github.com/labstack/echo/v4" "github.com/otterize/intents-operator/src/operator/controllers/aws_pod_reconciler" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers" "github.com/otterize/intents-operator/src/operator/controllers/intents_reconcilers/egress_network_policy" @@ -130,6 +132,9 @@ func main() { logrus.SetLevel(logrus.DebugLevel) } + metricsServer := echo.New() + metricsServer.GET("/metrics", echoprometheus.NewHandler()) + options := ctrl.Options{ Scheme: scheme, MetricsBindAddress: metricsAddr, @@ -418,6 +423,7 @@ func main() { logrus.Info("starting manager") telemetrysender.SendIntentOperator(telemetriesgql.EventTypeStarted, 0) telemetrysender.IntentsOperatorRunActiveReporter(signalHandlerCtx) + if err := mgr.Start(signalHandlerCtx); err != nil { logrus.WithError(err).Fatal("problem running manager") } diff --git a/src/prometheus/metrics.go b/src/prometheus/metrics.go new file mode 100644 index 000000000..0d6594ca5 --- /dev/null +++ b/src/prometheus/metrics.go @@ -0,0 +1,56 @@ +package prometheus + +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" +) + +var ( + intentsApplied = promauto.NewCounter(prometheus.CounterOpts{ + Name: "clientintents_applied", + Help: "The total number of ClientIntents applied", + }) + netpolCreated = promauto.NewCounter(prometheus.CounterOpts{ + Name: "network_policies_created", + Help: "The total number of network policies created", + }) + netpolDeleted = promauto.NewCounter(prometheus.CounterOpts{ + Name: "network_policies_deleted", + Help: "The total number of network policies deleted", + }) + podsLabeledForAccess = promauto.NewCounter(prometheus.CounterOpts{ + Name: "pods_labeled_for_network_policy", + Help: "The total number of pods labeled to participate in a network policy", + }) + podsUnlabeledForAccess = promauto.NewCounter(prometheus.CounterOpts{ + Name: "pods_unlabeled_for_network_policy", + Help: "The total number of pods unlabeled so they no longer participate in a network policy", + }) + protectedServiceApplied = promauto.NewGauge(prometheus.GaugeOpts{ + Name: "protected_services_applied", + Help: "The total number of ProtectedService resources applied", + }) +) + +func IncrementIntentsApplied(count int) { + intentsApplied.Add(float64(count)) +} + +func IncrementNetpolCreated(count int) { + netpolCreated.Add(float64(count)) +} + +func IncrementNetpolDeleted(count int) { + netpolDeleted.Add(float64(count)) +} + +func IncrementPodsLabeledForNetworkPolicies(count int) { + podsLabeledForAccess.Add(float64(count)) +} +func IncrementPodsUnlabeledForNetworkPolicies(count int) { + podsUnlabeledForAccess.Add(float64(count)) +} + +func SetProtectedServicesApplied(count int) { + protectedServiceApplied.Set(float64(count)) +} diff --git a/src/shared/operatorconfig/config.go b/src/shared/operatorconfig/config.go index 16ad973e9..ea5cde893 100644 --- a/src/shared/operatorconfig/config.go +++ b/src/shared/operatorconfig/config.go @@ -50,6 +50,8 @@ const ( EnableAWSPolicyKey = "enable-aws-iam-policy" EnableAWSPolicyDefault = false EKSClusterNameOverrideKey = "eks-cluster-name-override" + PrometheusMetricsPortKey = "metrics-port" + PrometheusMetricsPortDefault = 2112 ) func init() { @@ -65,6 +67,7 @@ func init() { viper.SetDefault(DisableWebhookServerKey, DisableWebhookServerDefault) viper.SetDefault(EnableEgressNetworkPolicyReconcilersKey, EnableEgressNetworkPolicyReconcilersDefault) viper.SetDefault(EnableAWSPolicyKey, EnableAWSPolicyDefault) + viper.SetDefault(PrometheusMetricsPortKey, PrometheusMetricsPortDefault) viper.SetEnvPrefix(EnvPrefix) viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_")) viper.AutomaticEnv() From f3cff46c0e54817d7500d26d47b0d486421f8605 Mon Sep 17 00:00:00 2001 From: Ori Shoshan Date: Sun, 3 Dec 2023 18:08:12 +0100 Subject: [PATCH 2/3] fixup --- src/go.mod | 7 +++---- src/go.sum | 13 ++----------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/go.mod b/src/go.mod index c2716c426..4e1511488 100644 --- a/src/go.mod +++ b/src/go.mod @@ -19,8 +19,11 @@ require ( github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.5.9 github.com/google/uuid v1.3.0 + github.com/labstack/echo-contrib v0.15.0 + github.com/labstack/echo/v4 v4.11.3 github.com/otterize/lox v0.0.0-20220525164329-9ca2bf91c3dd github.com/pkg/errors v0.9.1 + github.com/prometheus/client_golang v1.15.1 github.com/samber/lo v1.33.0 github.com/sirupsen/logrus v1.9.0 github.com/spf13/pflag v1.0.5 @@ -86,8 +89,6 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.15.6 // indirect - github.com/labstack/echo-contrib v0.15.0 // indirect - github.com/labstack/echo/v4 v4.11.3 // indirect github.com/labstack/gommon v0.4.0 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mailru/easyjson v0.7.7 // indirect @@ -102,7 +103,6 @@ require ( github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pierrec/lz4/v4 v4.1.14 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.15.1 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.42.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect @@ -115,7 +115,6 @@ require ( github.com/valyala/fasttemplate v1.2.2 // indirect github.com/vektah/gqlparser v1.3.1 // indirect github.com/vektah/gqlparser/v2 v2.4.5 // indirect - go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.14.0 // indirect golang.org/x/mod v0.10.0 // indirect diff --git a/src/go.sum b/src/go.sum index 811f79e0c..d0d8715bd 100644 --- a/src/go.sum +++ b/src/go.sum @@ -461,8 +461,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= @@ -523,8 +523,6 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -606,8 +604,6 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -692,14 +688,11 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -710,8 +703,6 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 7575e6145f82a337de9e8b5cd2b62e1fc3ff9173 Mon Sep 17 00:00:00 2001 From: Ori Shoshan Date: Sun, 3 Dec 2023 19:09:22 +0100 Subject: [PATCH 3/3] fixup --- helm-charts | 2 +- src/operator/api/v1alpha3/clientintents_types.go | 2 +- .../egress_network_policy.go | 2 +- .../egress_network_policy_test.go | 2 +- .../ingress_network_policy.go | 4 ++-- .../ingress_network_policy_test.go | 16 ++++++++-------- .../intents_reconcilers/network_policy.go | 4 ++-- .../port_egress_network_policy.go | 2 +- .../port_egress_network_policy_test.go | 2 +- .../port_network_policy/port_network_policy.go | 4 ++-- .../port_network_policy_test.go | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/helm-charts b/helm-charts index 7695e0740..44544ecaa 160000 --- a/helm-charts +++ b/helm-charts @@ -1 +1 @@ -Subproject commit 7695e07400e561293de4d933bbcfe41e6aff5147 +Subproject commit 44544ecaa892ec9944edee7c2a35431fe7b1caaf diff --git a/src/operator/api/v1alpha3/clientintents_types.go b/src/operator/api/v1alpha3/clientintents_types.go index 1c458853f..e1142036a 100644 --- a/src/operator/api/v1alpha3/clientintents_types.go +++ b/src/operator/api/v1alpha3/clientintents_types.go @@ -44,7 +44,7 @@ const ( OtterizeServerLabelKey = "intents.otterize.com/server" OtterizeKubernetesServiceLabelKeyPrefix = "intents.otterize.com/k8s-svc" OtterizeKubernetesServiceLabelKey = "intents.otterize.com/k8s-svc-%s" - OtterizeNamespaceLabelKey = "intents.otterize.com/namespace-name" + KubernetesStandardNamespaceNameLabelKey = "kubernetes.io/metadata.name" AllIntentsRemovedAnnotation = "intents.otterize.com/all-intents-removed" OtterizeCreatedForServiceAnnotation = "intents.otterize.com/created-for-service" OtterizeCreatedForIngressAnnotation = "intents.otterize.com/created-for-ingress" diff --git a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go index 46129d44d..5d4d59c06 100644 --- a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy.go @@ -305,7 +305,7 @@ func (r *EgressNetworkPolicyReconciler) buildNetworkPolicyObjectForIntents( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intent.GetTargetServerNamespace(intentsObj.Namespace), + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intent.GetTargetServerNamespace(intentsObj.Namespace), }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy_test.go b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy_test.go index fbefde668..d0d2a4367 100644 --- a/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy_test.go +++ b/src/operator/controllers/intents_reconcilers/egress_network_policy/egress_network_policy_test.go @@ -510,7 +510,7 @@ func networkPolicyTemplate( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: targetNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: targetNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go index 554b29954..38c222b39 100644 --- a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy.go @@ -284,7 +284,7 @@ func (r *NetworkPolicyReconciler) removeOrphanNetworkPolicies(ctx context.Contex // Get all client intents that reference this network policy var intentsList otterizev1alpha3.ClientIntentsList serverName := networkPolicy.Labels[otterizev1alpha3.OtterizeNetworkPolicy] - clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.OtterizeNamespaceLabelKey] + clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey] err = r.List( ctx, &intentsList, @@ -449,7 +449,7 @@ func (r *NetworkPolicyReconciler) buildNetworkPolicyObjectForIntent( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy_test.go b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy_test.go index c6526fcba..53e1eef1f 100644 --- a/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy_test.go +++ b/src/operator/controllers/intents_reconcilers/ingress_network_policy/ingress_network_policy_test.go @@ -674,7 +674,7 @@ func networkPolicyTemplate( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, }, @@ -924,7 +924,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestAllServerAreProtected() { }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -960,7 +960,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestAllServerAreProtected() { }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -1059,7 +1059,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestUnprotectedServerWithAccessPolicy }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -1095,7 +1095,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestUnprotectedServerWithAccessPolicy }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -1187,7 +1187,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestProtectedServiceInDeletionWithAcc }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -1223,7 +1223,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestProtectedServiceInDeletionWithAcc }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, @@ -1327,7 +1327,7 @@ func (s *NetworkPolicyReconcilerTestSuite) TestServerWithoutPolicyNothingShouldH }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: testNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: testNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/network_policy.go b/src/operator/controllers/intents_reconcilers/network_policy.go index 25ba2e7a1..a8289a022 100644 --- a/src/operator/controllers/intents_reconcilers/network_policy.go +++ b/src/operator/controllers/intents_reconcilers/network_policy.go @@ -270,7 +270,7 @@ func (r *NetworkPolicyReconciler) removeOrphanNetworkPolicies(ctx context.Contex // Get all client intents that reference this network policy var intentsList otterizev1alpha3.ClientIntentsList serverName := networkPolicy.Labels[otterizev1alpha3.OtterizeNetworkPolicy] - clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.OtterizeNamespaceLabelKey] + clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey] err = r.List( ctx, &intentsList, @@ -440,7 +440,7 @@ func (r *NetworkPolicyReconciler) buildNetworkPolicyObjectForIntent( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go index 96afbb6a7..b94fe7aa8 100644 --- a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy.go @@ -322,7 +322,7 @@ func (r *PortEgressNetworkPolicyReconciler) buildNetworkPolicyObjectForIntents( PodSelector: &svcPodSelector, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intent.GetTargetServerNamespace(intentsObj.Namespace), + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intent.GetTargetServerNamespace(intentsObj.Namespace), }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy_test.go b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy_test.go index da008b69a..0574444f0 100644 --- a/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy_test.go +++ b/src/operator/controllers/intents_reconcilers/port_egress_network_policy/port_egress_network_policy_test.go @@ -124,7 +124,7 @@ func (s *NetworkPolicyReconcilerTestSuite) networkPolicyTemplate( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy.go b/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy.go index 3d696df03..8e4051a1b 100644 --- a/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy.go +++ b/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy.go @@ -284,7 +284,7 @@ func (r *PortNetworkPolicyReconciler) removeOrphanNetworkPolicies(ctx context.Co var intentsList otterizev1alpha3.ClientIntentsList serverName := networkPolicy.Labels[otterizev1alpha3.OtterizeSvcNetworkPolicy] serverName = "svc:" + serverName - clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.OtterizeNamespaceLabelKey] + clientNamespace := networkPolicy.Spec.Ingress[0].From[0].NamespaceSelector.MatchLabels[otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey] err = r.List( ctx, &intentsList, @@ -442,7 +442,7 @@ func (r *PortNetworkPolicyReconciler) buildNetworkPolicyObjectForIntent( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, }, diff --git a/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy_test.go b/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy_test.go index bb09eee3b..db19c4829 100644 --- a/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy_test.go +++ b/src/operator/controllers/intents_reconcilers/port_network_policy/port_network_policy_test.go @@ -216,7 +216,7 @@ func (s *NetworkPolicyReconcilerTestSuite) networkPolicyTemplate( }, NamespaceSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - otterizev1alpha3.OtterizeNamespaceLabelKey: intentsObjNamespace, + otterizev1alpha3.KubernetesStandardNamespaceNameLabelKey: intentsObjNamespace, }, }, },