Skip to content

Commit

Permalink
Support new API version for ClientIntents: v2beta1 (#552)
Browse files Browse the repository at this point in the history
  • Loading branch information
omris94 authored Jan 26, 2025
1 parent e0a8e16 commit 94c76a7
Show file tree
Hide file tree
Showing 49 changed files with 6,308 additions and 259 deletions.
2 changes: 1 addition & 1 deletion helm-charts
Submodule helm-charts updated 43 files
+2 −2 credentials-operator/Chart.yaml
+2 −2 intents-operator/Chart.yaml
+51 −51 intents-operator/templates/intents-operator-manager-clusterrole.yaml
+84 −0 intents-operator/templates/otterize-validating-webhook-configuration.yaml
+21 −0 kafka/.helmignore
+32 −0 kafka/Chart.yaml
+1,067 −0 kafka/README.md
+314 −0 kafka/templates/NOTES.txt
+555 −0 kafka/templates/_helpers.tpl
+17 −0 kafka/templates/configmap.yaml
+4 −0 kafka/templates/extra-list.yaml
+95 −0 kafka/templates/jaas-secret.yaml
+68 −0 kafka/templates/jmx-configmap.yaml
+34 −0 kafka/templates/jmx-metrics-svc.yaml
+171 −0 kafka/templates/kafka-metrics-deployment.yaml
+16 −0 kafka/templates/kafka-metrics-serviceaccount.yaml
+34 −0 kafka/templates/kafka-metrics-svc.yaml
+19 −0 kafka/templates/kafka-provisioning-secret.yaml
+15 −0 kafka/templates/kafka-provisioning-serviceaccount.yaml
+260 −0 kafka/templates/kafka-provisioning.yaml
+17 −0 kafka/templates/log4j-configmap.yaml
+22 −0 kafka/templates/networkpolicy-egress.yaml
+53 −0 kafka/templates/networkpolicy-ingress.yaml
+26 −0 kafka/templates/poddisruptionbudget.yaml
+20 −0 kafka/templates/prometheusrule.yaml
+24 −0 kafka/templates/role.yaml
+23 −0 kafka/templates/rolebinding.yaml
+229 −0 kafka/templates/scripts-configmap.yaml
+20 −0 kafka/templates/serviceaccount.yaml
+53 −0 kafka/templates/servicemonitor-jmx-metrics.yaml
+53 −0 kafka/templates/servicemonitor-metrics.yaml
+643 −0 kafka/templates/statefulset.yaml
+66 −0 kafka/templates/svc-external-access.yaml
+43 −0 kafka/templates/svc-headless.yaml
+63 −0 kafka/templates/svc.yaml
+31 −0 kafka/templates/tls-secrets.yaml
+1,809 −0 kafka/values.yaml
+2 −2 network-mapper/Chart.yaml
+30 −7 network-mapper/templates/agent-daemonset.yaml
+6 −2 network-mapper/templates/sniffer-daemonset.yaml
+11 −3 network-mapper/values.yaml
+1 −1 otterize-kubernetes/Chart.yaml
+0 −3 spire/templates/_helpers.tpl
2 changes: 1 addition & 1 deletion src/operator/api/v1alpha2/clientintents_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func convertTopicsV1alpha2toV1alpha3(srcTopics []KafkaTopic) []v1alpha3.KafkaTop
return dstTopics
}

// ConvertFrom converts the Hub version (v2alpha1) to this ClientIntents.
// ConvertFrom converts the Hub version (v2beta1) to this ClientIntents.
func (in *ClientIntents) ConvertFrom(srcRaw conversion.Hub) error {
src := &v1alpha3.ClientIntents{}
if err := src.ConvertFrom(srcRaw); err != nil {
Expand Down
16 changes: 8 additions & 8 deletions src/operator/api/v1alpha2/kafkaserverconfig_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.
package v1alpha2

import (
"github.com/otterize/intents-operator/src/operator/api/v2alpha1"
"github.com/otterize/intents-operator/src/operator/api/v2beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)
Expand Down Expand Up @@ -96,21 +96,21 @@ func init() {

// ConvertTo converts this ProtectedService to the Hub version (v1alpha3).
func (ksc *KafkaServerConfig) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v2alpha1.KafkaServerConfig)
dst := dstRaw.(*v2beta1.KafkaServerConfig)
dst.ObjectMeta = ksc.ObjectMeta
dst.Spec = v2alpha1.KafkaServerConfigSpec{}
dst.Spec = v2beta1.KafkaServerConfigSpec{}
dst.Spec.Addr = ksc.Spec.Addr
dst.Spec.Workload = v2alpha1.Workload{Name: ksc.Spec.Service.Name}
dst.Spec.Workload = v2beta1.Workload{Name: ksc.Spec.Service.Name}
dst.Spec.NoAutoCreateIntentsForOperator = ksc.Spec.NoAutoCreateIntentsForOperator
dst.Spec.TLS = v2alpha1.TLSSource{
dst.Spec.TLS = v2beta1.TLSSource{
CertFile: ksc.Spec.TLS.CertFile,
KeyFile: ksc.Spec.TLS.KeyFile,
RootCAFile: ksc.Spec.TLS.RootCAFile,
}
for _, topic := range ksc.Spec.Topics {
dst.Spec.Topics = append(dst.Spec.Topics, v2alpha1.TopicConfig{
dst.Spec.Topics = append(dst.Spec.Topics, v2beta1.TopicConfig{
Topic: topic.Topic,
Pattern: v2alpha1.ResourcePatternType(topic.Pattern), // this casting is fine as v1alpha2 == v1alpha3
Pattern: v2beta1.ResourcePatternType(topic.Pattern), // this casting is fine as v1alpha2 == v1alpha3
ClientIdentityRequired: topic.ClientIdentityRequired,
IntentsRequired: topic.IntentsRequired,
})
Expand All @@ -120,7 +120,7 @@ func (ksc *KafkaServerConfig) ConvertTo(dstRaw conversion.Hub) error {

// ConvertFrom converts the Hub version (v1alpha3) to this KafkaServerConfig.
func (ksc *KafkaServerConfig) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v2alpha1.KafkaServerConfig)
src := srcRaw.(*v2beta1.KafkaServerConfig)
ksc.ObjectMeta = src.ObjectMeta
ksc.Spec = KafkaServerConfigSpec{}
ksc.Spec.Addr = src.Spec.Addr
Expand Down
118 changes: 59 additions & 59 deletions src/operator/api/v1alpha3/webhooks.go

Large diffs are not rendered by default.

38 changes: 19 additions & 19 deletions src/operator/api/v1alpha3/webhooks_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package v1alpha3

import (
"github.com/otterize/intents-operator/src/operator/api/v2alpha1"
"github.com/otterize/intents-operator/src/operator/api/v2beta1"
"github.com/stretchr/testify/suite"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"testing"
Expand Down Expand Up @@ -34,7 +34,7 @@ func (t *WebhooksTestSuite) TestMySQLServerConfigConversion() {
}

// ConvertTo
dstRaw := &v2alpha1.MySQLServerConfig{}
dstRaw := &v2beta1.MySQLServerConfig{}
err := original.ConvertTo(dstRaw)
t.Require().NoError(err)

Expand Down Expand Up @@ -71,7 +71,7 @@ func (t *WebhooksTestSuite) TestPostgreSQLServerConfigConversion() {
}

// ConvertTo
dstRaw := &v2alpha1.PostgreSQLServerConfig{}
dstRaw := &v2beta1.PostgreSQLServerConfig{}
err := original.ConvertTo(dstRaw)
t.Require().NoError(err)

Expand Down Expand Up @@ -107,7 +107,7 @@ func (t *WebhooksTestSuite) TestKafkaServerConfigConversion() {
}

// ConvertTo
dstRaw := &v2alpha1.KafkaServerConfig{}
dstRaw := &v2beta1.KafkaServerConfig{}
err := original.ConvertTo(dstRaw)
t.Require().NoError(err)

Expand All @@ -134,7 +134,7 @@ func (t *WebhooksTestSuite) TestProtectedServiceConversion() {
}

// ConvertTo
dstRaw := &v2alpha1.ProtectedService{}
dstRaw := &v2beta1.ProtectedService{}
err := original.ConvertTo(dstRaw)
t.Require().NoError(err)

Expand Down Expand Up @@ -176,7 +176,7 @@ func (t *WebhooksTestSuite) TestClientIntentsKubernetes() {
}}

// ConvertTo
dstRaw := &v2alpha1.ClientIntents{}
dstRaw := &v2beta1.ClientIntents{}
err := original.ConvertTo(dstRaw)
t.Require().NoError(err)

Expand All @@ -190,12 +190,12 @@ func (t *WebhooksTestSuite) TestClientIntentsKubernetes() {
}

func (t *WebhooksTestSuite) TestClientIntentsFromV2_serviceKubernetesDefault() {
// Create a v2alpha1.ClientIntents with random data
original := &v2alpha1.ClientIntents{
Spec: &v2alpha1.IntentsSpec{
Targets: []v2alpha1.Target{
// Create a v2beta1.ClientIntents with random data
original := &v2beta1.ClientIntents{
Spec: &v2beta1.IntentsSpec{
Targets: []v2beta1.Target{
{
Service: &v2alpha1.ServiceTarget{
Service: &v2beta1.ServiceTarget{
Name: "kubernetes.default",
},
},
Expand All @@ -211,20 +211,20 @@ func (t *WebhooksTestSuite) TestClientIntentsFromV2_serviceKubernetesDefault() {
}

func (t *WebhooksTestSuite) TestClientIntentsFromV2_EmptySliceHTTPShouldNotBeTypeHTTP() {
// Create a v2alpha1.ClientIntents with random data
original := &v2alpha1.ClientIntents{
Spec: &v2alpha1.IntentsSpec{
Targets: []v2alpha1.Target{
// Create a v2beta1.ClientIntents with random data
original := &v2beta1.ClientIntents{
Spec: &v2beta1.IntentsSpec{
Targets: []v2beta1.Target{
{
Service: &v2alpha1.ServiceTarget{
Service: &v2beta1.ServiceTarget{
Name: "test",
HTTP: []v2alpha1.HTTPTarget{},
HTTP: []v2beta1.HTTPTarget{},
},
},
{
Kubernetes: &v2alpha1.KubernetesTarget{
Kubernetes: &v2beta1.KubernetesTarget{
Name: "test2",
HTTP: []v2alpha1.HTTPTarget{},
HTTP: []v2beta1.HTTPTarget{},
},
},
},
Expand Down
Loading

0 comments on commit 94c76a7

Please sign in to comment.