Skip to content

Commit

Permalink
Merge pull request #21 from datainfrahq/networkpolicy
Browse files Browse the repository at this point in the history
add network policy support
  • Loading branch information
AdheipSingh committed Jun 6, 2023
2 parents 6ff6b05 + 0c6b2ea commit 808b7f0
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
1 change: 1 addition & 0 deletions builder/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ type Builder struct {
DeploymentOrStatefulset []BuilderDeploymentStatefulSet
StorageConfig []BuilderStorageConfig
Service []BuilderService
NetworkPolicy []BuilderNetworkPolicy
Recorder BuilderRecorder
Context BuilderContext
Store InternalStore
Expand Down
55 changes: 55 additions & 0 deletions builder/builder_network_policy.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package builder

import (
networkingv1 "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)

type BuilderNetworkPolicy struct {
NetworkPolicy *networkingv1.NetworkPolicy
CommonBuilder
}

func ToNewBuilderNetworkPolicy(builder []BuilderService) func(*Builder) {
return func(s *Builder) {
s.Service = builder
}
}

func (s *Builder) ReconcileNetworkPolicy() (controllerutil.OperationResult, error) {

var err error
var result controllerutil.OperationResult

for _, np := range s.NetworkPolicy {

if np.NetworkPolicy != nil {

makeNp := np.makeNetworkPolicy()

np.DesiredState = makeNp
np.CurrentState = &networkingv1.NetworkPolicy{}

result, err = np.CreateOrUpdate(s.Context.Context, s.Recorder)
if err != nil {
return controllerutil.OperationResultNone, nil
}
}
}
return result, nil
}

func (b *BuilderNetworkPolicy) makeNetworkPolicy() *networkingv1.NetworkPolicy {
networkPolicy := &networkingv1.NetworkPolicy{
TypeMeta: metav1.TypeMeta{
APIVersion: "networking.k8s.io/v1",
Kind: "NetworkPolicy",
},
ObjectMeta: b.ObjectMeta,
Spec: *&b.NetworkPolicy.Spec,
}

return networkPolicy
}

0 comments on commit 808b7f0

Please sign in to comment.