Files
kuryr-kubernetes/kubernetes_crds/kuryrloadbalancer.yaml
sarka_scavnicka 48f2d2838b Add a loadbalancer CRD
This commit adds CRD to Kuryr that contains informations about
service's annotations and endpoints' annotations, also it is
ensured that CRD is created on the cluster when using devstack.

Partially-Implements: blueprint move-svc-annotations-to-crds

Change-Id: I4088ad09efe96b2d395fb892750adcb39abee3a4
2019-10-14 12:44:47 +00:00

194 lines
4.9 KiB
YAML

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: kuryrloadbalancers.openstack.org
spec:
group: openstack.org
version: v1
scope: Namespaced
names:
plural: kuryrloadbalancers
singular: kuryrloadbalancer
kind: KuryrLoadBalancer
shortNames:
- klb
additionalPrinterColumns:
- name: PROJECT-ID
type: string
description: The ID of the PROJECT associated to the loadbalancer
JSONPath: .spec.project_id
- name: Age
type: date
JSONPath: .metadata.creationTimestamp
validation:
openAPIV3Schema:
properties:
spec:
type: object
required:
- ip
- ports
- project_id
- security_groups_ids
- subnet_id
- type
properties:
ip:
type: string
lb_ip:
type: string
ports:
type: array
items:
type: object
required:
- name
- port
- protocol
- targetPort
properties:
name:
type: string
port:
type: integer
protocol:
type: string
targetPort:
type: string
project_id:
type: string
security_groups_ids:
type: array
items:
type: string
subnet_id:
type: string
type:
type: string
status:
type: object
required:
- listeners
- loadbalancer
- members
- pools
properties:
listeners:
type: array
items:
type: object
required:
- id
- loadbalancer_id
- name
- port
- project_id
- protocol
properties:
id:
type: string
loadbalancer_id:
type: string
name:
type: string
port:
type: integer
project_id:
type: string
protocol:
type: string
loadbalancer:
type: object
required:
- id
- ip
- name
- port_id
- project_id
- provider
- security_groups
- subnet_id
properties:
id:
type: string
ip:
type: string
name:
type: string
port_id:
type: string
project_id:
type: string
provider:
type: string
security_groups:
type: array
items:
type: string
subnet_id:
type: string
members:
type: array
items:
type: object
required:
- id
- ip
- name
- pool_id
- port
- project_id
- subnet_id
properties:
id:
type: string
ip:
type: string
name:
type: string
pool_id:
type: string
port:
type: integer
project_id:
type: string
subnet_id:
type: string
pools:
type: array
items:
type: object
required:
- id
- listener_id
- loadbalancer_id
- name
- project_id
- protocol
properties:
id:
type: string
listener_id:
type: string
loadbalancer_id:
type: string
name:
type: string
project_id:
type: string
protocol:
type: string
service_pub_ip_info:
type: object
required:
- ip_id
- ip_addr
- alloc_method
properties:
ip_id:
type: string
ip_addr:
type: string
alloc_method:
type: string