reconcile

package
v1.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 40 Imported by: 0

Documentation

Overview

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. * * AI assistance has been used to generate some or all contents of this file. That includes, but is not limited to, new code, modifying existing code, stylistic edits.

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

* Copyright (c) 2025 Broadcom. All rights reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * All trademarks, trade names, service marks, and logos referenced * herein belong to their respective companies. * * This software and all information contained therein is confidential * and proprietary and shall not be duplicated, used, disclosed or * disseminated in any way except as authorized by the applicable * license agreement, without the express written permission of Broadcom. * All authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE * EXTENT PERMITTED BY APPLICABLE LAW OR AS AGREED BY BROADCOM IN ITS * APPLICABLE LICENSE AGREEMENT, BROADCOM PROVIDES THIS DOCUMENTATION * "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, * ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR. NONINFRINGEMENT. IN NO EVENT WILL BROADCOM BE LIABLE TO * THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, * LOST PROFITS, LOST INVESTMENT, BUSINESS INTERRUPTION, GOODWILL, OR * LOST DATA, EVEN IF BROADCOM IS EXPRESSLY ADVISED IN ADVANCE OF THE * POSSIBILITY OF SUCH LOSS OR DAMAGE. *

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClusterProperties added in v1.1.0

func ClusterProperties(ctx context.Context, params Params) error

func ConfigMaps

func ConfigMaps(ctx context.Context, params Params) error

func Deployment

func Deployment(ctx context.Context, params Params) error

func ExternalCerts added in v1.1.0

func ExternalCerts(ctx context.Context, params Params) error

func ExternalKeys added in v1.0.7

func ExternalKeys(ctx context.Context, params Params) error

func ExternalRepository added in v1.0.7

func ExternalRepository(ctx context.Context, params Params) error

func ExternalSecrets added in v1.0.7

func ExternalSecrets(ctx context.Context, params Params) error

func GatewayLicense

func GatewayLicense(ctx context.Context, params Params) error

func GatewayStatus

func GatewayStatus(ctx context.Context, params Params) error

func HardenGraphmanService added in v1.1.0

func HardenGraphmanService(ctx context.Context, params Params) error

HardenGraphmanService adds required mutual TLS to the Gateway's GraphQL Management API (Graphman) This process also creates a user (PKI) and restricts Graphman to that user effectively locking remote Gateway management to the Layer7 Operator only. This feature is intended for Ephemeral Gateways, while it will work for MySQL backed Gateways we strongly recommend you supply your own PKI Pair as losing this means you will need to update the user in Policy Manager as no remote interaction will be available.

func HorizontalPodAutoscaler

func HorizontalPodAutoscaler(ctx context.Context, params Params) error

func Ingress

func Ingress(ctx context.Context, params Params) error

func ListenPorts added in v1.1.0

func ListenPorts(ctx context.Context, params Params) error

func ManagementPod

func ManagementPod(ctx context.Context, params Params) error

func OTKDatabaseMaintenanceTasks added in v1.2.0

func OTKDatabaseMaintenanceTasks(ctx context.Context, params Params) error

func PodDisruptionBudget

func PodDisruptionBudget(ctx context.Context, params Params) error

func ReconcileDBGateway added in v1.0.4

func ReconcileDBGateway(ctx context.Context, params Params, kind string, gatewayDeployment appsv1.Deployment, gateway *securityv1.Gateway, gwSecret *corev1.Secret, graphmanEncryptionPassphrase string, annotation string, sha1Sum string, otkCerts bool, name string, bundle []byte) error

func ReconcileEphemeralGateway added in v1.0.4

func ReconcileEphemeralGateway(ctx context.Context, params Params, kind string, podList corev1.PodList, gateway *securityv1.Gateway, gwSecret *corev1.Secret, graphmanEncryptionPassphrase string, annotation string, sha1Sum string, otkCerts bool, name string, bundle []byte) error

func Routes added in v1.2.0

func Routes(ctx context.Context, params Params) error

func ScheduledJobs

func ScheduledJobs(ctx context.Context, params Params) error

func Secrets added in v1.0.4

func Secrets(ctx context.Context, params Params) error

func ServiceAccount added in v1.0.4

func ServiceAccount(ctx context.Context, params Params) error

func Services

func Services(ctx context.Context, params Params) error

func SyncGateway added in v1.2.0

func SyncGateway(ctx context.Context, params Params, gwUpdReq GatewayUpdateRequest) (err error)

Types

type BundleType added in v1.2.0

type BundleType string
const (
	BundleTypeRepository             BundleType = "repository"
	BundleTypeExternalCert           BundleType = "external certs"
	BundleTypeExternalKey            BundleType = "external keys"
	BundleTypeExternalSecret         BundleType = "external secrets"
	BundleTypeClusterProp            BundleType = "cluster properties"
	BundleTypeListenPort             BundleType = "listen ports"
	BundleTypeOTKDatabaseMaintenance BundleType = "otk db maintenance"
)

type ExternalEntity added in v1.2.0

type ExternalEntity struct {
	Name                 string
	Annotation           string
	Bundle               []byte
	Checksum             string
	CacheEntry           string
	EncryptionPassphrase string
}

type GatewayUpdateRequest added in v1.2.0

type GatewayUpdateRequest struct {
	// contains filtered or unexported fields
}

func NewGwUpdateRequest added in v1.2.0

func NewGwUpdateRequest(ctx context.Context, gateway *securityv1.Gateway, params Params, opts ...GatewayUpdateRequestOpt) (*GatewayUpdateRequest, error)

type GatewayUpdateRequestOpt added in v1.2.0

type GatewayUpdateRequestOpt func(*GatewayUpdateRequest)

func WithBundle added in v1.2.0

func WithBundle(bundle []byte) GatewayUpdateRequestOpt

func WithBundleName added in v1.2.0

func WithBundleName(bundleName string) GatewayUpdateRequestOpt

func WithBundleType added in v1.2.0

func WithBundleType(bundleType BundleType) GatewayUpdateRequestOpt

func WithCacheEntry added in v1.2.0

func WithCacheEntry(cacheEntry string) GatewayUpdateRequestOpt

func WithChecksum added in v1.2.0

func WithChecksum(checksum string) GatewayUpdateRequestOpt

func WithDelete added in v1.2.0

func WithDelete(delete bool) GatewayUpdateRequestOpt

func WithOTKCerts added in v1.2.0

func WithOTKCerts(otkCerts bool) GatewayUpdateRequestOpt

func WithPatchAnnotation added in v1.2.0

func WithPatchAnnotation(patchAnnotation string) GatewayUpdateRequestOpt

func WithRepository added in v1.2.0

func WithRepository(repository *securityv1.Repository) GatewayUpdateRequestOpt

func WithRepositoryReference added in v1.2.0

func WithRepositoryReference(repositoryReference securityv1.RepositoryReference) GatewayUpdateRequestOpt

type MappingSource added in v1.1.0

type MappingSource struct {
	Name           string `json:"name,omitempty"`
	Alias          string `json:"alias,omitempty"`
	KeystoreId     string `json:"keystoreId,omitempty"`
	ThumbprintSha1 string `json:"thumbprintSha1,omitempty"`
}

type Params

type Params struct {
	Client   client.Client
	Recorder record.EventRecorder
	Scheme   *runtime.Scheme
	Log      logr.Logger
	Instance *securityv1.Gateway
	Platform string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL