...

Text file src/github.com/openshift/api/network/v1/004-egressnetworkpolicy-crd.yaml

Documentation: github.com/openshift/api/network/v1

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    api-approved.openshift.io: https://github.com/openshift/api/pull/527
     6  name: egressnetworkpolicies.network.openshift.io
     7spec:
     8  group: network.openshift.io
     9  names:
    10    kind: EgressNetworkPolicy
    11    listKind: EgressNetworkPolicyList
    12    plural: egressnetworkpolicies
    13    singular: egressnetworkpolicy
    14  scope: Namespaced
    15  versions:
    16    - name: v1
    17      schema:
    18        openAPIV3Schema:
    19          description: "EgressNetworkPolicy describes the current egress network policy for a Namespace. When using the 'redhat/openshift-ovs-multitenant' network plugin, traffic from a pod to an IP address outside the cluster will be checked against each EgressNetworkPolicyRule in the pod's namespace's EgressNetworkPolicy, in order. If no rule matches (or no EgressNetworkPolicy is present) then the traffic will be allowed by default. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
    20          type: object
    21          required:
    22            - spec
    23          properties:
    24            apiVersion:
    25              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    26              type: string
    27            kind:
    28              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    29              type: string
    30            metadata:
    31              type: object
    32            spec:
    33              description: spec is the specification of the current egress network policy
    34              type: object
    35              required:
    36                - egress
    37              properties:
    38                egress:
    39                  description: egress contains the list of egress policy rules
    40                  type: array
    41                  items:
    42                    description: EgressNetworkPolicyRule contains a single egress network policy rule
    43                    type: object
    44                    required:
    45                      - to
    46                      - type
    47                    properties:
    48                      to:
    49                        description: to is the target that traffic is allowed/denied to
    50                        type: object
    51                        properties:
    52                          cidrSelector:
    53                            description: CIDRSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset Ideally we would have liked to use the cidr openapi format for this property. But openshift-sdn only supports v4 while specifying the cidr format allows both v4 and v6 cidrs We are therefore using a regex pattern to validate instead.
    54                            type: string
    55                            pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$
    56                          dnsName:
    57                            description: DNSName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset
    58                            type: string
    59                            pattern: ^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$
    60                      type:
    61                        description: type marks this as an "Allow" or "Deny" rule
    62                        type: string
    63                        pattern: ^Allow|Deny$
    64      served: true
    65      storage: true
    66status:
    67  acceptedNames:
    68    kind: ""
    69    plural: ""
    70  conditions: []
    71  storedVersions: []

View as plain text