pkg/config/schema/metadata.yaml (404 lines of code) (raw):

# Copyright 2019 Istio Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in conformance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # This is the main metadata file for Galley processing. # #### KEEP ENTRIES ALPHASORTED! #### # # The total set of collections, both Istio (i.e. MCP) and K8s (API Server/K8s). collections: ## Istio collections - name: "istio/extensions/v1alpha1/wasmplugins" kind: "WasmPlugin" group: "extensions.istio.io" pilot: true - name: "istio/mesh/v1alpha1/MeshConfig" kind: "MeshConfig" group: "" - name: "istio/mesh/v1alpha1/MeshNetworks" kind: "MeshNetworks" group: "" - name: "istio/networking/v1alpha3/destinationrules" kind: DestinationRule group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/envoyfilters" kind: "EnvoyFilter" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/gateways" kind: "Gateway" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/serviceentries" kind: "ServiceEntry" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/workloadentries" kind: "WorkloadEntry" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/workloadgroups" kind: "WorkloadGroup" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/sidecars" kind: "Sidecar" group: "networking.istio.io" pilot: true - name: "istio/networking/v1alpha3/virtualservices" kind: "VirtualService" group: "networking.istio.io" pilot: true - name: "istio/networking/v1beta1/proxyconfigs" kind: "ProxyConfig" group: "networking.istio.io" pilot: true - name: "istio/security/v1beta1/authorizationpolicies" kind: AuthorizationPolicy group: "security.istio.io" pilot: true - name: "istio/security/v1beta1/requestauthentications" kind: RequestAuthentication group: "security.istio.io" pilot: true - name: "istio/security/v1beta1/peerauthentications" kind: PeerAuthentication group: "security.istio.io" pilot: true - name: "istio/telemetry/v1alpha1/telemetries" kind: "Telemetry" group: "telemetry.istio.io" pilot: true ### K8s collections ### # Built-in K8s collections - name: "k8s/apiextensions.k8s.io/v1/customresourcedefinitions" kind: "CustomResourceDefinition" group: "apiextensions.k8s.io" builtin: true - name: "k8s/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations" kind: "MutatingWebhookConfiguration" group: "admissionregistration.k8s.io" builtin: true - name: "k8s/apps/v1/deployments" kind: "Deployment" group: "apps" builtin: true - name: "k8s/core/v1/endpoints" kind: "Endpoints" group: "" builtin: true - name: "k8s/core/v1/namespaces" kind: "Namespace" group: "" builtin: true - name: "k8s/core/v1/nodes" kind: "Node" group: "" builtin: true - name: "k8s/core/v1/pods" kind: "Pod" group: "" builtin: true - name: "k8s/core/v1/secrets" kind: "Secret" group: "" builtin: true - name: "k8s/core/v1/services" kind: "Service" group: "" builtin: true - name: "k8s/core/v1/configmaps" kind: "ConfigMap" group: "" builtin: true - name: "k8s/extensions/v1beta1/ingresses" kind: "Ingress" group: "extensions" builtin: true - kind: "GatewayClass" name: "k8s/gateway_api/v1alpha2/gatewayclasses" group: "gateway.networking.k8s.io" - kind: "Gateway" name: "k8s/gateway_api/v1alpha2/gateways" group: "gateway.networking.k8s.io" - kind: "HTTPRoute" name: "k8s/gateway_api/v1alpha2/httproutes" group: "gateway.networking.k8s.io" - kind: "TCPRoute" name: "k8s/gateway_api/v1alpha2/tcproutes" group: "gateway.networking.k8s.io" - kind: "TLSRoute" name: "k8s/gateway_api/v1alpha2/tlsroutes" group: "gateway.networking.k8s.io" - kind: "ReferencePolicy" name: "k8s/gateway_api/v1alpha2/referencepolicies" group: "gateway.networking.k8s.io" - kind: "ServiceMetadata" name: "istio/extensions/v1alpha1/servicemetadatas" group: "extensions.istio.io" pilot: true - name: "istio/extensions/v1alpha1/servicenamemappings" kind: ServiceNameMapping group: "extensions.istio.io" pilot: true # Configuration for resource types. resources: # Kubernetes specific configuration. - kind: "CustomResourceDefinition" plural: "customresourcedefinitions" group: "apiextensions.k8s.io" version: "v1" proto: "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition" protoPackage: "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" - kind: "MutatingWebhookConfiguration" plural: "mutatingwebhookconfigurations" group: "admissionregistration.k8s.io" version: "v1" proto: "k8s.io.api.admissionregistration.v1.MutatingWebhookConfiguration" protoPackage: "k8s.io/api/admissionregistration/v1" - kind: "Deployment" plural: "deployments" group: "apps" version: "v1" proto: "k8s.io.api.apps.v1.DeploymentSpec" protoPackage: "k8s.io/api/apps/v1" - kind: "Endpoints" plural: "endpoints" version: "v1" proto: "k8s.io.api.core.v1.Endpoints" protoPackage: "k8s.io/api/core/v1" - kind: "Namespace" plural: "namespaces" version: "v1" clusterScoped: true proto: "k8s.io.api.core.v1.NamespaceSpec" protoPackage: "k8s.io/api/core/v1" - kind: "Node" plural: "nodes" version: "v1" clusterScoped: true proto: "k8s.io.api.core.v1.NodeSpec" protoPackage: "k8s.io/api/core/v1" - kind: "Pod" plural: "pods" version: "v1" proto: "k8s.io.api.core.v1.PodSpec" protoPackage: "k8s.io/api/core/v1" - kind: "Secret" plural: "secrets" version: "v1" proto: "k8s.io.api.core.v1.Secret" protoPackage: "k8s.io/api/core/v1" - kind: "Service" plural: "services" version: "v1" proto: "k8s.io.api.core.v1.ServiceSpec" protoPackage: "k8s.io/api/core/v1" - kind: "ConfigMap" plural: "configmaps" version: "v1" proto: "k8s.io.api.core.v1.ConfigMap" protoPackage: "k8s.io/api/core/v1" - kind: "Ingress" plural: "ingresses" group: "extensions" version: "v1beta1" proto: "k8s.io.api.extensions.v1beta1.IngressSpec" protoPackage: "k8s.io/api/extensions/v1beta1" statusProto: "k8s.io.gateway_api.api.v1alpha1.IngressStatus" statusProtoPackage: "k8s.io/api/extensions/v1beta1" - kind: "GatewayClass" plural: "gatewayclasses" group: "gateway.networking.k8s.io" version: "v1alpha2" clusterScoped: true protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.GatewayClassSpec" statusProto: "k8s.io.gateway_api.api.v1alpha1.GatewayClassStatus" statusProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" - kind: "Gateway" plural: "gateways" group: "gateway.networking.k8s.io" version: "v1alpha2" protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.GatewaySpec" validate: "EmptyValidate" statusProto: "k8s.io.gateway_api.api.v1alpha1.GatewayStatus" statusProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" - kind: "HTTPRoute" plural: "httproutes" group: "gateway.networking.k8s.io" version: "v1alpha2" protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.HTTPRouteSpec" statusProto: "k8s.io.gateway_api.api.v1alpha1.HTTPRouteStatus" statusProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" - kind: "TCPRoute" plural: "tcproutes" group: "gateway.networking.k8s.io" version: "v1alpha2" protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.TCPRouteSpec" statusProto: "k8s.io.gateway_api.api.v1alpha1.TCPRouteStatus" statusProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" - kind: "TLSRoute" plural: "tlsroutes" group: "gateway.networking.k8s.io" version: "v1alpha2" protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.TLSRouteSpec" statusProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" statusProto: "k8s.io.gateway_api.api.v1alpha1.TLSRouteStatus" - kind: "ReferencePolicy" plural: "referencepolicies" group: "gateway.networking.k8s.io" version: "v1alpha2" protoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2" proto: "k8s.io.gateway_api.api.v1alpha1.ReferencePolicySpec" ## Istio resources - kind: "VirtualService" plural: "virtualservices" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.VirtualService" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes v1alpha3 route rules" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "Gateway" plural: "gateways" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.Gateway" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes a gateway (how a proxy is exposed on the network)" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "ServiceEntry" plural: "serviceentries" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.ServiceEntry" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes service entries" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "WorkloadEntry" plural: "workloadentries" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.WorkloadEntry" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes workload entries" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "WorkloadGroup" plural: "workloadgroups" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.WorkloadGroup" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes workload groups" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: DestinationRule plural: "destinationrules" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.DestinationRule" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes destination rules" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "EnvoyFilter" plural: "envoyfilters" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.EnvoyFilter" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes additional envoy filters to be inserted by Pilot" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "Sidecar" plural: "sidecars" group: "networking.istio.io" version: "v1alpha3" proto: "istio.networking.v1alpha3.Sidecar" protoPackage: "istio.io/api/networking/v1alpha3" description: "describes the listeners associated with sidecars in a namespace" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "ProxyConfig" plural: "proxyconfigs" group: "networking.istio.io" version: "v1beta1" proto: "istio.networking.v1beta1.ProxyConfig" protoPackage: "istio.io/api/networking/v1beta1" description: "defines configuration for individual workloads" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "MeshConfig" plural: "meshconfigs" group: "" version: "v1alpha1" proto: "istio.mesh.v1alpha1.MeshConfig" protoPackage: "istio.io/api/mesh/v1alpha1" description: "describes the configuration for the Istio mesh." - kind: "MeshNetworks" plural: "meshnetworks" group: "" version: "v1alpha1" proto: "istio.mesh.v1alpha1.MeshNetworks" protoPackage: "istio.io/api/mesh/v1alpha1" description: "describes the networks for the Istio mesh." - kind: AuthorizationPolicy plural: "authorizationpolicies" group: "security.istio.io" version: "v1beta1" proto: "istio.security.v1beta1.AuthorizationPolicy" protoPackage: "istio.io/api/security/v1beta1" description: "describes the authorization policy." statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: RequestAuthentication plural: "requestauthentications" group: "security.istio.io" version: "v1beta1" proto: "istio.security.v1beta1.RequestAuthentication" protoPackage: "istio.io/api/security/v1beta1" description: "describes the request authentication." statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: PeerAuthentication plural: "peerauthentications" group: "security.istio.io" version: "v1beta1" proto: "istio.security.v1beta1.PeerAuthentication" protoPackage: "istio.io/api/security/v1beta1" validate: "ValidatePeerAuthentication" description: "describes the peer authentication." statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "Telemetry" plural: "telemetries" group: "telemetry.istio.io" version: "v1alpha1" proto: "istio.telemetry.v1alpha1.Telemetry" protoPackage: "istio.io/api/telemetry/v1alpha1" description: "describes telemetry configuration for workloads" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: "WasmPlugin" plural: "wasmplugins" group: "extensions.istio.io" version: "v1alpha1" proto: "istio.extensions.v1alpha1.WasmPlugin" protoPackage: "istio.io/api/extensions/v1alpha1" description: "" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: ServiceMetadata plural: "servicemetadatas" group: "extensions.istio.io" version: "v1alpha1" proto: "istio.extensions.v1alpha1.ServiceMetadata" protoPackage: "istio.io/api/extensions/v1alpha1" description: "describes service metadata" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1" - kind: ServiceNameMapping plural: "servicenamemappings" group: "extensions.istio.io" version: "v1alpha1" proto: "istio.extensions.v1alpha1.ServiceNameMapping" protoPackage: "istio.io/api/extensions/v1alpha1" description: "describes service name mappings" statusProto: "istio.meta.v1alpha1.IstioStatus" statusProtoPackage: "istio.io/api/meta/v1alpha1"