91 lines
3.6 KiB
JSON
91 lines
3.6 KiB
JSON
{
|
|
"description": "AddressPool represents a pool of IP addresses that can be allocated to LoadBalancer services. AddressPool is deprecated and being replaced by IPAddressPool.",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"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",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"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",
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"spec": {
|
|
"description": "AddressPoolSpec defines the desired state of AddressPool.",
|
|
"properties": {
|
|
"addresses": {
|
|
"description": "A list of IP address ranges over which MetalLB has authority. You can list multiple ranges in a single pool, they will all share the same settings. Each range can be either a CIDR prefix, or an explicit start-end range of IPs.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"autoAssign": {
|
|
"default": true,
|
|
"description": "AutoAssign flag used to prevent MetallB from automatic allocation for a pool.",
|
|
"type": "boolean"
|
|
},
|
|
"bgpAdvertisements": {
|
|
"description": "Drives how an IP allocated from this pool should translated into BGP announcements.",
|
|
"items": {
|
|
"properties": {
|
|
"aggregationLength": {
|
|
"default": 32,
|
|
"description": "The aggregation-length advertisement option lets you \u201croll up\u201d the /32s into a larger prefix.",
|
|
"format": "int32",
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
"aggregationLengthV6": {
|
|
"default": 128,
|
|
"description": "Optional, defaults to 128 (i.e. no aggregation) if not specified.",
|
|
"format": "int32",
|
|
"type": "integer"
|
|
},
|
|
"communities": {
|
|
"description": "BGP communities to be associated with the given advertisement.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"localPref": {
|
|
"description": "BGP LOCAL_PREF attribute which is used by BGP best path algorithm, Path with higher localpref is preferred over one with lower localpref.",
|
|
"format": "int32",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"type": "array"
|
|
},
|
|
"protocol": {
|
|
"description": "Protocol can be used to select how the announcement is done.",
|
|
"enum": [
|
|
"layer2",
|
|
"bgp"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"addresses",
|
|
"protocol"
|
|
],
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"status": {
|
|
"description": "AddressPoolStatus defines the observed state of AddressPool.",
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"spec"
|
|
],
|
|
"type": "object"
|
|
}
|