deploy/crd.yaml (322 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance 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. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: authenticationpolicies.dubbo.apache.org spec: group: dubbo.apache.org versions: - name: v1beta1 served: true storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: action: type: string description: "The action to take when a rule is matched." enum: - NONE - DISABLED - PERMISSIVE - STRICT selector: type: array items: type: object description: "The source of the traffic to be matched." properties: namespaces: type: array description: "The namespaces to match of the source workload." items: type: string notNamespaces: type: array description: "The namespaces not to match of the source workload." items: type: string ipBlocks: type: array description: "The IP addresses to match of the source workload." items: type: string notIpBlocks: type: array description: "The IP addresses not to match of the source workload." items: type: string principals: type: array description: "The identities(from spiffe) to match of the source workload." items: type: string notPrincipals: type: array description: "The identities(from spiffe) not to match of the source workload." items: type: string extends: type: array description: "The extended identities(from Dubbo Auth) to match of the source workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." notExtends: type: array description: "The extended identities(from Dubbo Auth) not to match of the source workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." portLevel: type: array items: type: object properties: port: type: number minimum: 0 default: 0 maximum: 65535 action: type: string description: "The action to take when a rule is matched." enum: - NONE - DISABLED - PERMISSIVE - STRICT required: - action - port required: - action scope: Namespaced names: plural: authenticationpolicies singular: authenticationpolicy kind: AuthenticationPolicy shortNames: - ac --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: authorizationpolicies.dubbo.apache.org spec: group: dubbo.apache.org versions: - name: v1beta1 served: true storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: action: type: string description: "The action to take when a rule is matched." enum: - ALLOW - DENY - ADULT rules: type: array items: type: object properties: from: type: object description: "The source of the traffic to be matched." properties: namespaces: type: array description: "The namespaces to match of the source workload." items: type: string notNamespaces: type: array description: "The namespaces not to match of the source workload." items: type: string ipBlocks: type: array description: "The IP addresses to match of the source workload." items: type: string notIpBlocks: type: array description: "The IP addresses not to match of the source workload." items: type: string principals: type: array description: "The identities(from spiffe) to match of the source workload." items: type: string notPrincipals: type: array description: "The identities(from spiffe) not to match of the source workload." items: type: string extends: type: array description: "The extended identities(from Dubbo Auth) to match of the source workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." notExtends: type: array description: "The extended identities(from Dubbo Auth) not to match of the source workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." to: type: object description: "The destination of the traffic to be matched." properties: namespaces: type: array description: "The namespaces to match of the source workload." items: type: string notNamespaces: type: array description: "The namespaces not to match of the source workload." items: type: string ipBlocks: type: array description: "The IP addresses to match of the destination workload." items: type: string notIpBlocks: type: array description: "The IP addresses not to match of the destination workload." items: type: string principals: type: array description: "The identities(from spiffe) to match of the destination workload." items: type: string notPrincipals: type: array description: "The identities(from spiffe) not to match of the destination workload." items: type: string extends: type: array description: "The extended identities(from Dubbo Auth) to match of the destination workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." notExtends: type: array description: "The extended identities(from Dubbo Auth) not to match of the destination workload." items: type: object properties: key: type: string description: "The key of the extended identity." value: type: string description: "The value of the extended identity." when: type: object properties: key: type: string values: type: array items: type: object properties: type: type: string enum: - equals - regex - ognl default: equals value: type: string notValues: type: array items: type: object properties: type: type: string enum: - equals - regex - ognl default: equals value: type: string samples: type: number description: "The sample rate of the rule. The value is between 0 and 100." minimum: 0 default: 100 maximum: 100 order: type: number description: "The order of the rule." minimum: -2147483648 default: 0 maximum: 2147483647 matchType: type: string description: "The match type of the rules." enum: - ANY_MATCH - ALL_MATCH default: ANY_MATCH required: - action scope: Namespaced names: plural: authorizationpolicies singular: authorizationpolicy kind: AuthorizationPolicy shortNames: - az