Skip to main content
Glama
helpers.go2.32 kB
package testing import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) // NewUnstructuredInstancetype creates a test VirtualMachineClusterInstancetype func NewUnstructuredInstancetype(name string, labels map[string]string) *unstructured.Unstructured { obj := &unstructured.Unstructured{} labelsInterface := make(map[string]interface{}) for k, v := range labels { labelsInterface[k] = v } metadata := map[string]interface{}{ "name": name, } if len(labelsInterface) > 0 { metadata["labels"] = labelsInterface } obj.SetUnstructuredContent(map[string]interface{}{ "apiVersion": "instancetype.kubevirt.io/v1beta1", "kind": "VirtualMachineClusterInstancetype", "metadata": metadata, }) return obj } // NewUnstructuredPreference creates a test VirtualMachinePreference or VirtualMachineClusterPreference func NewUnstructuredPreference(name string, namespaced bool) *unstructured.Unstructured { obj := &unstructured.Unstructured{} kind := "VirtualMachineClusterPreference" if namespaced { kind = "VirtualMachinePreference" } obj.SetUnstructuredContent(map[string]interface{}{ "apiVersion": "instancetype.kubevirt.io/v1beta1", "kind": kind, "metadata": map[string]interface{}{ "name": name, }, }) if namespaced { obj.SetNamespace("test-ns") } return obj } // NewUnstructuredDataSource creates a test DataSource with optional default instancetype and preference func NewUnstructuredDataSource(name, namespace, imageURL, defaultInstancetype, defaultPreference string) *unstructured.Unstructured { obj := &unstructured.Unstructured{} labels := map[string]interface{}{} if defaultInstancetype != "" { labels["instancetype.kubevirt.io/default-instancetype"] = defaultInstancetype } if defaultPreference != "" { labels["instancetype.kubevirt.io/default-preference"] = defaultPreference } metadata := map[string]interface{}{ "name": name, "namespace": namespace, } if len(labels) > 0 { metadata["labels"] = labels } obj.SetUnstructuredContent(map[string]interface{}{ "apiVersion": "cdi.kubevirt.io/v1beta1", "kind": "DataSource", "metadata": metadata, "spec": map[string]interface{}{ "source": map[string]interface{}{ "registry": map[string]interface{}{ "url": imageURL, }, }, }, }) return obj }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/containers/kubernetes-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server