...

Text file src/github.com/openshift/api/networkoperator/v1/001-egressrouter.crd.yaml

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

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    api-approved.openshift.io: https://github.com/openshift/api/pull/851
     6    include.release.openshift.io/ibm-cloud-managed: "true"
     7    include.release.openshift.io/self-managed-high-availability: "true"
     8  creationTimestamp: null
     9  name: egressrouters.network.operator.openshift.io
    10spec:
    11  group: network.operator.openshift.io
    12  names:
    13    kind: EgressRouter
    14    listKind: EgressRouterList
    15    plural: egressrouters
    16    singular: egressrouter
    17  scope: Namespaced
    18  versions:
    19    - additionalPrinterColumns:
    20        - jsonPath: .status.conditions[*].type
    21          name: Condition
    22          type: string
    23        - jsonPath: .status.conditions[*].status
    24          name: Status
    25          type: string
    26      name: v1
    27      schema:
    28        openAPIV3Schema:
    29          description: "EgressRouter is a feature allowing the user to define an egress router that acts as a bridge between pods and external systems. The egress router runs a service that redirects egress traffic originating from a pod or a group of pods to a remote external system or multiple destinations as per configuration. \n It is consumed by the cluster-network-operator. More specifically, given an EgressRouter CR with <name>, the CNO will create and manage: - A service called <name> - An egress pod called <name> - A NAD called <name> \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). \n EgressRouter is a single egressrouter pod configuration object."
    30          properties:
    31            apiVersion:
    32              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'
    33              type: string
    34            kind:
    35              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'
    36              type: string
    37            metadata:
    38              type: object
    39            spec:
    40              description: Specification of the desired egress router.
    41              oneOf:
    42                - properties:
    43                    mode:
    44                      enum:
    45                        - Redirect
    46                  required:
    47                    - redirect
    48              properties:
    49                addresses:
    50                  description: List of IP addresses to configure on the pod's secondary interface.
    51                  items:
    52                    description: EgressRouterAddress contains a pair of IP CIDR and gateway to be configured on the router's interface
    53                    properties:
    54                      gateway:
    55                        anyOf:
    56                          - format: ipv4
    57                          - format: ipv6
    58                        description: IP address of the next-hop gateway, if it cannot be automatically determined. Can be IPv4 or IPv6.
    59                        type: string
    60                      ip:
    61                        description: IP is the address to configure on the router's interface. Can be IPv4 or IPv6.
    62                        type: string
    63                    required:
    64                      - ip
    65                    type: object
    66                  type: array
    67                mode:
    68                  default: Redirect
    69                  description: Mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently.
    70                  enum:
    71                    - Redirect
    72                  type: string
    73                networkInterface:
    74                  default:
    75                    macvlan:
    76                      mode: Bridge
    77                  description: Specification of interface to create/use. The default is macvlan. Currently only macvlan is supported.
    78                  oneOf:
    79                    - required:
    80                        - macvlan
    81                  properties:
    82                    macvlan:
    83                      default:
    84                        mode: Bridge
    85                      description: Arguments specific to the interfaceType macvlan
    86                      properties:
    87                        master:
    88                          description: Name of the master interface. Need not be specified if it can be inferred from the IP address.
    89                          type: string
    90                        mode:
    91                          default: Bridge
    92                          description: Mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge".
    93                          enum:
    94                            - Bridge
    95                            - Private
    96                            - VEPA
    97                            - Passthru
    98                          type: string
    99                      required:
   100                        - mode
   101                      type: object
   102                  type: object
   103                redirect:
   104                  description: Redirect represents the configuration parameters specific to redirect mode.
   105                  properties:
   106                    fallbackIP:
   107                      anyOf:
   108                        - format: ipv4
   109                        - format: ipv6
   110                      description: FallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. If no redirect rules are specified, all traffic from the router are redirected to this IP. If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected.
   111                      type: string
   112                    redirectRules:
   113                      description: List of L4RedirectRules that define the DNAT redirection from the pod to the destination in redirect mode.
   114                      items:
   115                        description: L4RedirectRule defines a DNAT redirection from a given port to a destination IP and port.
   116                        properties:
   117                          destinationIP:
   118                            anyOf:
   119                              - format: ipv4
   120                              - format: ipv6
   121                            description: IP specifies the remote destination's IP address. Can be IPv4 or IPv6.
   122                            type: string
   123                          port:
   124                            description: Port is the port number to which clients should send traffic to be redirected.
   125                            format: int32
   126                            maximum: 65535
   127                            minimum: 1
   128                            type: integer
   129                          protocol:
   130                            description: Protocol can be TCP, SCTP or UDP.
   131                            enum:
   132                              - TCP
   133                              - UDP
   134                              - SCTP
   135                            type: string
   136                          targetPort:
   137                            description: TargetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. If unspecified, the value from "Port" is used.
   138                            format: int32
   139                            maximum: 65535
   140                            minimum: 1
   141                            type: integer
   142                        required:
   143                          - destinationIP
   144                          - port
   145                          - protocol
   146                        type: object
   147                      type: array
   148                  type: object
   149              required:
   150                - addresses
   151                - mode
   152                - networkInterface
   153              type: object
   154            status:
   155              description: Observed status of EgressRouter.
   156              properties:
   157                conditions:
   158                  description: Observed status of the egress router
   159                  items:
   160                    description: EgressRouterStatusCondition represents the state of the egress router's managed and monitored components.
   161                    properties:
   162                      lastTransitionTime:
   163                        description: LastTransitionTime is the time of the last update to the current status property.
   164                        format: date-time
   165                        nullable: true
   166                        type: string
   167                      message:
   168                        description: Message provides additional information about the current condition. This is only to be consumed by humans.  It may contain Line Feed characters (U+000A), which should be rendered as new lines.
   169                        type: string
   170                      reason:
   171                        description: Reason is the CamelCase reason for the condition's current status.
   172                        type: string
   173                      status:
   174                        description: Status of the condition, one of True, False, Unknown.
   175                        enum:
   176                          - "True"
   177                          - "False"
   178                          - Unknown
   179                        type: string
   180                      type:
   181                        description: Type specifies the aspect reported by this condition; one of Available, Progressing, Degraded
   182                        enum:
   183                          - Available
   184                          - Progressing
   185                          - Degraded
   186                        type: string
   187                    required:
   188                      - lastTransitionTime
   189                      - status
   190                      - type
   191                    type: object
   192                  type: array
   193              required:
   194                - conditions
   195              type: object
   196          required:
   197            - spec
   198          type: object
   199      served: true
   200      storage: true
   201      subresources:
   202        status: {}
   203status:
   204  acceptedNames:
   205    kind: ""
   206    plural: ""
   207  conditions: []
   208  storedVersions: []

View as plain text