github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/service/runtime/kubernetes/networkpolicy.go (about) 1 // Licensed under the Apache License, Version 2.0 (the "License"); 2 // you may not use this file except in compliance with the License. 3 // You may obtain a copy of the License at 4 // 5 // https://www.apache.org/licenses/LICENSE-2.0 6 // 7 // Unless required by applicable law or agreed to in writing, software 8 // distributed under the License is distributed on an "AS IS" BASIS, 9 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 // See the License for the specific language governing permissions and 11 // limitations under the License. 12 // 13 // Original source: github.com/micro/go-micro/v3/runtime/kubernetes/networkpolicy.go 14 15 package kubernetes 16 17 import ( 18 "github.com/tickoalcantara12/micro/v3/service/logger" 19 "github.com/tickoalcantara12/micro/v3/service/runtime" 20 "github.com/tickoalcantara12/micro/v3/service/runtime/kubernetes/client" 21 ) 22 23 // createNetworkPolicy creates a networkpolicy resource 24 func (k *kubernetes) createNetworkPolicy(networkPolicy *runtime.NetworkPolicy) error { 25 err := k.client.Create(&client.Resource{ 26 Kind: "networkpolicy", 27 Value: client.NewNetworkPolicy(networkPolicy.Name, networkPolicy.Namespace, networkPolicy.AllowedLabels), 28 }, client.CreateNamespace(networkPolicy.Namespace)) 29 if err != nil { 30 if logger.V(logger.ErrorLevel, logger.DefaultLogger) { 31 logger.Errorf("Error creating resource %s: %v", networkPolicy.String(), err) 32 } 33 } 34 return err 35 } 36 37 // updateNetworkPolicy updates a networkpolicy resource in-place 38 func (k *kubernetes) updateNetworkPolicy(networkPolicy *runtime.NetworkPolicy) error { 39 err := k.client.Update(&client.Resource{ 40 Kind: "networkpolicy", 41 Name: networkPolicy.Name, 42 Value: client.NewNetworkPolicy(networkPolicy.Name, networkPolicy.Namespace, networkPolicy.AllowedLabels), 43 }, client.UpdateNamespace(networkPolicy.Namespace)) 44 if err != nil { 45 if logger.V(logger.ErrorLevel, logger.DefaultLogger) { 46 logger.Errorf("Error updating resource %s: %v", networkPolicy.String(), err) 47 } 48 } 49 return err 50 } 51 52 // deleteNetworkPolicy deletes a networkpolicy resource 53 func (k *kubernetes) deleteNetworkPolicy(networkPolicy *runtime.NetworkPolicy) error { 54 err := k.client.Delete(&client.Resource{ 55 Kind: "networkpolicy", 56 Name: networkPolicy.Name, 57 Value: client.NewNetworkPolicy(networkPolicy.Name, networkPolicy.Namespace, networkPolicy.AllowedLabels), 58 }, client.DeleteNamespace(networkPolicy.Namespace)) 59 if err != nil { 60 if logger.V(logger.ErrorLevel, logger.DefaultLogger) { 61 logger.Errorf("Error deleting resource %s: %v", networkPolicy.String(), err) 62 } 63 } 64 return err 65 }