mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-15 17:51:20 +00:00
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package testrunner
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
|
"sigs.k8s.io/controller-runtime/pkg/log"
|
|
)
|
|
|
|
const (
|
|
projectPath = "src/github.com/nirmata/kyverno"
|
|
)
|
|
|
|
// LoadFile loads file in byte buffer
|
|
func LoadFile(path string) ([]byte, error) {
|
|
if _, err := os.Stat(path); os.IsNotExist(err) {
|
|
return nil, err
|
|
}
|
|
return ioutil.ReadFile(path)
|
|
}
|
|
|
|
var kindToResource = map[string]string{
|
|
"ConfigMap": "configmaps",
|
|
"Endpoints": "endpoints",
|
|
"Namespace": "namespaces",
|
|
"Secret": "secrets",
|
|
"Service": "services",
|
|
"Deployment": "deployments",
|
|
"NetworkPolicy": "networkpolicies",
|
|
}
|
|
|
|
func getResourceFromKind(kind string) string {
|
|
if resource, ok := kindToResource[kind]; ok {
|
|
return resource
|
|
}
|
|
return ""
|
|
}
|
|
|
|
//ConvertToUnstructured converts a resource to unstructured format
|
|
func ConvertToUnstructured(data []byte) (*unstructured.Unstructured, error) {
|
|
resource := &unstructured.Unstructured{}
|
|
err := resource.UnmarshalJSON(data)
|
|
if err != nil {
|
|
log.Log.Error(err, "failed to unmarshal resource")
|
|
return nil, err
|
|
}
|
|
return resource, nil
|
|
}
|