diff --git a/docs/RELEASE-NOTES.rst b/docs/RELEASE-NOTES.rst index 523afa3bc..a5179272d 100644 --- a/docs/RELEASE-NOTES.rst +++ b/docs/RELEASE-NOTES.rst @@ -1,18 +1,22 @@ Release Notes for Container Ingress Services for Kubernetes & OpenShift ======================================================================= -Next Release + +2.15.1 ------------- Added Functionality ``````````````````` **What's new:** - * Improved Operator support for OpenShift 4.14 * CRD * Support for HTML profile in Policy CR and VirtualServer CR. See `Example ` + * Support for renegotiationEnabled in TLSProfile CR. See `Example ` + * CIS compatible with OpenShift 4.14 and Kubernetes 1.29 + * Improved operator support for OpenShift 4.14 Bug Fixes ```````````` * `Issue 3160 `_: Support to provide different IPs for the same resources deployed in different clusters for Infoblox IPAM provider only. +* `Issue 3197 `_: Image mismatch in F5 operator metadata. 2.15.0 diff --git a/docs/config_examples/customResource/Policy/README.md b/docs/config_examples/customResource/Policy/README.md index 90f8d9bf3..0b7dc84b0 100644 --- a/docs/config_examples/customResource/Policy/README.md +++ b/docs/config_examples/customResource/Policy/README.md @@ -80,6 +80,7 @@ Policy is used to apply existing BIG-IP profiles and policy with Routes, Virtual | sslProfiles | Object | Optional | N/A | Reference to existing ssl profiles on BIGIP. Policy sslProfiles will have the highest precedence and will override route level profiles | | analyticsProfiles | Object | Optional | N/A | Configures different analytics profiles on BIGIP virtual server. | | profileWebSocket | String | Optional | N/A | Reference to existing BIG-IP websocket profile | +| htmlProfile | String | Optional | NA | Pathname of existing BIG-IP HTML profile. VirtualServer CRD resource takes precedence over Policy CRD. Allowed values are existing BIG-IP HTML profiles. | **Note**: diff --git a/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml b/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml index 198d16c11..cdc241e1d 100644 --- a/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml +++ b/docs/config_examples/customResourceDefinitions/customresourcedefinitions.yml @@ -50,6 +50,9 @@ spec: persistenceProfile: type: string pattern: '^\/?[a-zA-Z]+([-A-z0-9_+]+\/)*([-A-z0-9_.:]+\/?)*$' + htmlProfile: + type: string + pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' profiles: type: object properties: @@ -318,6 +321,9 @@ spec: type: integer minimum: 0 maximum: 256 + required: + - service + - servicePort virtualServerAddress: type: string pattern: '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$' @@ -380,7 +386,7 @@ spec: jsonPath: .metadata.creationTimestamp subresources: status: {} - + --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -437,6 +443,18 @@ spec: reference: type: string enum: [bigip, secret] + clientSSLParams: + type: object + properties: + renegotiationEnabled: + type: boolean + default: true + serverSSLParams: + type: object + properties: + renegotiationEnabled: + type: boolean + default: true required: - termination @@ -488,7 +506,7 @@ spec: policyName: type: string pattern: '^([A-z0-9-_+])*([A-z0-9])$' - mode: + mode: type: string enum: [standard, performance] type: @@ -603,25 +621,25 @@ spec: items: type: object properties: - type: - type: string - enum: [ tcp, udp, http, https ] - interval: - type: integer - timeout: - type: integer - targetPort: - type: integer - name: - type: string - pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' - reference: - type: string - enum: [bigip] - send: - type: string - recv: - type: string + type: + type: string + enum: [ tcp, udp, http, https ] + interval: + type: integer + timeout: + type: integer + targetPort: + type: integer + name: + type: string + pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' + reference: + type: string + enum: [bigip] + send: + type: string + recv: + type: string reselectTries: type: integer minimum: 0 @@ -646,8 +664,8 @@ spec: - type: integer - type: string required: - - service - - servicePort + - service + - servicePort required: - virtualServerPort - pool @@ -662,37 +680,37 @@ spec: type: string default: Pending additionalPrinterColumns: - - name: virtualServerAddress - type: string - description: IP address of virtualServer - jsonPath: .spec.virtualServerAddress - - name: virtualServerPort - type: integer - description: Port of virtualServer - jsonPath: .spec.virtualServerPort - - name: pool - type: string - description: Name of service - jsonPath: .spec.pool.service - - name: poolPort - type: string - description: Port of service - jsonPath: .spec.pool.servicePort - - name: ipamLabel - type: string - description: ipamLabel for transport server - jsonPath: .spec.ipamLabel - - name: IPAMVSAddress - type: string - description: IP address of transport server - jsonPath: .status.vsAddress - - name: STATUS - type: string - description: status of TransportServer - jsonPath: .status.status - - name: Age - type: date - jsonPath: .metadata.creationTimestamp + - name: virtualServerAddress + type: string + description: IP address of virtualServer + jsonPath: .spec.virtualServerAddress + - name: virtualServerPort + type: integer + description: Port of virtualServer + jsonPath: .spec.virtualServerPort + - name: pool + type: string + description: Name of service + jsonPath: .spec.pool.service + - name: poolPort + type: string + description: Port of service + jsonPath: .spec.pool.servicePort + - name: ipamLabel + type: string + description: ipamLabel for transport server + jsonPath: .spec.ipamLabel + - name: IPAMVSAddress + type: string + description: IP address of transport server + jsonPath: .status.vsAddress + - name: STATUS + type: string + description: status of TransportServer + jsonPath: .status.status + - name: Age + type: date + jsonPath: .metadata.creationTimestamp subresources: status: { } --- @@ -1037,6 +1055,9 @@ spec: http: type: string pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' + htmlProfile: + type: string + pattern: '^\/[a-zA-Z]+([A-z0-9-_+]+\/)+([-A-z0-9_.:]+\/?)*$' autoLastHop: type: string enum: [ default, auto, disable ] @@ -1065,4 +1086,4 @@ spec: timeOut: type: integer minimum: 1 - default: 180 \ No newline at end of file + default: 180 diff --git a/docs/upgradeProcess.md b/docs/upgradeProcess.md index 46c730f9a..d95537437 100644 --- a/docs/upgradeProcess.md +++ b/docs/upgradeProcess.md @@ -42,6 +42,7 @@ Compatibility Matrix | v2.13.1 | v16.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.25 | Red Hat Enterprise Linux release 9.1 (Plow) | | v2.14.0 | v17.0 | v1.27 | v4.12.0* | Yes | Yes | v3.45 | v0.1.9 | v0.0.4 | v0.0.26 | Red Hat Enterprise Linux release 9.1 (Plow) | | v2.15.0 | v17.0 | v1.28 | v4.13.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.27 | Red Hat Enterprise Linux release 9.1 (Plow) | +| v2.15.1 | v17.0 | v1.29 | v4.14.0* | Yes | Yes | v3.48 | v0.1.9 | v0.0.4 | v0.0.28 | Red Hat Enterprise Linux release 9.1 (Plow) | Note: For OCP version 4.12, CIS is compatible with IPv4 and dual stack IPv4. @@ -54,6 +55,7 @@ Compatibility Matrix for Multi Cluster Support | v2.15.0 | v16.0 | v1.28 | v4.13.0 | Yes | No | Yes | v3.48 | v0.0.27 | + CIS Features and Examples ------------------------- @@ -354,3 +356,5 @@ Refer Release Notes for [CIS v2.15](https://github.com/F5Networks/k8s-bigip-ctlr Note: Remove the ipam CR created by previous version of CIS before enabling this --ipam-cluster-label parameter``` eg: kubectl -n kube-system delete ipam ..ipam ``` + +Refer Release Notes for [CIS v2.15.1](https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/docs/RELEASE-NOTES.rst) diff --git a/helm-charts/f5-bigip-ctlr/Chart.yaml b/helm-charts/f5-bigip-ctlr/Chart.yaml index bed6dfd39..bd3b4b35b 100644 --- a/helm-charts/f5-bigip-ctlr/Chart.yaml +++ b/helm-charts/f5-bigip-ctlr/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: Deploy the F5 Networks BIG-IP Controller for Kubernetes and OpenShift (k8s-bigip-ctlr). name: f5-bigip-ctlr -version: 0.0.27 +version: 0.0.28