v1

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the security v1 API group +kubebuilder:object:generate=true +groupName=security.brcmlabs.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "security.brcmlabs.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type App

type App struct {
	// Annotations for Operator managed resources, these do not apply to services or ingress
	Annotations map[string]string `json:"annotations,omitempty"`
	// PodAnnotations for Gateway Pods
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`
	// Labels for Operator managed resources
	Labels map[string]string `json:"labels,omitempty"`
	// PodLabels for the Gateway Deployment
	PodLabels         map[string]string `json:"podLabels,omitempty"`
	ClusterProperties ClusterProperties `json:"cwp,omitempty"`
	Java              Java              `json:"java,omitempty"`
	Management        Management        `json:"management,omitempty"`
	Log               Log               `json:"log,omitempty"`
	System            System            `json:"system,omitempty"`
	// AutoMountServiceAccountToken optionally adds the Gateway Container's Kubernetes Service Account Token to Stored Passwords
	AutoMountServiceAccountToken bool           `json:"autoMountServiceAccountToken,omitempty"`
	UpdateStrategy               UpdateStrategy `json:"updateStrategy,omitempty"`
	// Image is the Gateway image
	Image            string                        `json:"image,omitempty"`
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	ImagePullPolicy  corev1.PullPolicy             `json:"imagePullPolicy,omitempty"`
	ListenPorts      ListenPorts                   `json:"listenPorts,omitempty"`
	// Replicas to deploy, overridden if autoscaling is enabled
	Replicas int32    `json:"replicas,omitempty"`
	Service  Service  `json:"service,omitempty"`
	Bundle   []Bundle `json:"bundle,omitempty"`
	// SingletonExtraction works with the Gateway in Ephemeral mode.
	// this enables scheduled tasks that are set to execute on a single node and jms destinations that are outbound
	// to be applied to one ephemeral gateway only.
	// This works inconjunction with repository references and only supports dynamic repository references.
	SingletonExtraction bool `json:"singletonExtraction,omitempty"`
	// RepositorySyncIntervalSeconds is the period of time between attempts to apply repository references to gateways.
	RepositorySyncIntervalSeconds int `json:"repositorySyncIntervalSeconds,omitempty"`
	// ExternalSecretsSyncIntervalSeconds is the period of time between attempts to apply external secrets to gateways.
	ExternalSecretsSyncIntervalSeconds int `json:"externalSecretsSyncIntervalSeconds,omitempty"`
	// ExternalKeysSyncIntervalSeconds is the period of time between attempts to apply external keys to gateways.
	ExternalKeysSyncIntervalSeconds int                   `json:"externalKeysSyncIntervalSeconds,omitempty"`
	RepositoryReferences            []RepositoryReference `json:"repositoryReferences,omitempty"`
	Ingress                         Ingress               `json:"ingress,omitempty"`
	Sidecars                        []corev1.Container    `json:"sidecars,omitempty"`
	InitContainers                  []corev1.Container    `json:"initContainers,omitempty"`
	Resources                       PodResources          `json:"resources,omitempty"`
	Autoscaling                     Autoscaling           `json:"autoscaling,omitempty"`
	// ServiceAccount to use for the Gateway Deployment
	ServiceAccount            ServiceAccount                    `json:"serviceAccount,omitempty"`
	Hazelcast                 Hazelcast                         `json:"hazelcast,omitempty"`
	Redis                     Redis                             `json:"redis,omitempty"`
	Bootstrap                 Bootstrap                         `json:"bootstrap,omitempty"`
	ContainerSecurityContext  corev1.SecurityContext            `json:"containerSecurityContext,omitempty"`
	PodSecurityContext        corev1.PodSecurityContext         `json:"podSecurityContext,omitempty"`
	TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	Tolerations               []corev1.Toleration               `json:"tolerations,omitempty"`
	Affinity                  corev1.Affinity                   `json:"affinity,omitempty"`
	PodDisruptionBudget       PodDisruptionBudgetSpec           `json:"pdb,omitempty"`
	NodeSelector              map[string]string                 `json:"nodeSelector,omitempty"`
	ExternalSecrets           []ExternalSecret                  `json:"externalSecrets,omitempty"`
	ExternalKeys              []ExternalKey                     `json:"externalKeys,omitempty"`
	LivenessProbe             corev1.Probe                      `json:"livenessProbe,omitempty"`
	ReadinessProbe            corev1.Probe                      `json:"readinessProbe,omitempty"`
	CustomConfig              CustomConfig                      `json:"customConfig,omitempty"`
	// TerminationGracePeriodSeconds is the time kubernetes will wait for the Gateway to shutdown before forceably removing it
	TerminationGracePeriodSeconds int64            `json:"terminationGracePeriodSeconds,omitempty"`
	LifecycleHooks                corev1.Lifecycle `json:"lifecycleHooks,omitempty"`
	PreStopScript                 PreStopScript    `json:"preStopScript,omitempty"`
	CustomHosts                   CustomHosts      `json:"customHosts,omitempty"`
	Otk                           Otk              `json:"otk,omitempty"`
}

App contains Gateway specific deployment and application level configuration

func (*App) DeepCopy

func (in *App) DeepCopy() *App

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new App.

func (*App) DeepCopyInto

func (in *App) DeepCopyInto(out *App)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Autoscaling

type Autoscaling struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	HPA     HPA  `json:"hpa,omitempty"`
}

Autoscaling configuration for the Gateway

func (*Autoscaling) DeepCopy

func (in *Autoscaling) DeepCopy() *Autoscaling

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Autoscaling.

func (*Autoscaling) DeepCopyInto

func (in *Autoscaling) DeepCopyInto(out *Autoscaling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bootstrap

type Bootstrap struct {
	Script BootstrapScript `json:"script,omitempty"`
}

Bootstrap - optionally add a bootstrap script to the Gateway that migrates configuration from /opt/docker/custom to the correct Container Gateway locations for bootstrap

func (*Bootstrap) DeepCopy

func (in *Bootstrap) DeepCopy() *Bootstrap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bootstrap.

func (*Bootstrap) DeepCopyInto

func (in *Bootstrap) DeepCopyInto(out *Bootstrap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BootstrapScript

type BootstrapScript struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
}

BootstrapScript - enable/disable this functionality

func (*BootstrapScript) DeepCopy

func (in *BootstrapScript) DeepCopy() *BootstrapScript

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootstrapScript.

func (*BootstrapScript) DeepCopyInto

func (in *BootstrapScript) DeepCopyInto(out *BootstrapScript)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bundle

type Bundle struct {
	// Type can be restman or graphman
	Type string `json:"type,omitempty"`
	// Source
	Source string `json:"source,omitempty"`
	Name   string `json:"name,omitempty"`
	// ConfigMap ConfigMap `json:"configMap,omitempty"`
	CSI CSI `json:"csi,omitempty"`
}

Bundle A Restman or Graphman bundle

func (*Bundle) DeepCopy

func (in *Bundle) DeepCopy() *Bundle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bundle.

func (*Bundle) DeepCopyInto

func (in *Bundle) DeepCopyInto(out *Bundle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BundleEncryption added in v1.0.2

type BundleEncryption struct {
	// Passphrase - bundle encryption passphrase in plaintext
	Passphrase string `json:"passphrase,omitempty"`
	// ExistingSecret - reference to an existing secret
	ExistingSecret string `json:"existingSecret,omitempty"`
	// Key - the key in the kubernetes secret that the encryption passphrase is stored in.
	Key string `json:"key,omitempty"`
}

BundleEncryption allows setting an encryption passphrase per repository or external secret/key reference

func (*BundleEncryption) DeepCopy added in v1.0.2

func (in *BundleEncryption) DeepCopy() *BundleEncryption

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleEncryption.

func (*BundleEncryption) DeepCopyInto added in v1.0.2

func (in *BundleEncryption) DeepCopyInto(out *BundleEncryption)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CSI

type CSI struct {
	// Driver is the secretstore csi driver
	Driver string `json:"driver,omitempty"`
	// ReadOnly
	ReadOnly         bool `json:"readOnly,omitempty"`
	VolumeAttributes `json:"volumeAttributes,omitempty"`
}

CSI volume configuration

func (*CSI) DeepCopy

func (in *CSI) DeepCopy() *CSI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSI.

func (*CSI) DeepCopyInto

func (in *CSI) DeepCopyInto(out *CSI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Channel

type Channel struct {
	Webhook Webhook `json:"webhook,omitempty"`
}

func (*Channel) DeepCopy

func (in *Channel) DeepCopy() *Channel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Channel.

func (*Channel) DeepCopyInto

func (in *Channel) DeepCopyInto(out *Channel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Cluster

type Cluster struct {
	// Password is the Gateway Cluster Passphrase
	Password string `json:"password,omitempty"`
	// Hostname is the Gateway Cluster Hostname
	Hostname string `json:"hostname"`
}

Cluster is gateway cluster configuration

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterProperties

type ClusterProperties struct {
	// Enabled bootstraps clusterProperties to the Gateway
	Enabled bool `json:"enabled,omitempty"`
	// Properties are key/value pairs
	Properties []Property `json:"properties,omitempty"`
}

ClusterProperties are key value pairs of additional cluster-wide properties you wish to bootstrap to your Gateway.

func (*ClusterProperties) DeepCopy

func (in *ClusterProperties) DeepCopy() *ClusterProperties

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProperties.

func (*ClusterProperties) DeepCopyInto

func (in *ClusterProperties) DeepCopyInto(out *ClusterProperties)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigRef added in v1.0.4

type ConfigRef struct {
	// Name of the Secret or Configmap which already exists in Kubernetes
	Name string `json:"name,omitempty"`
	// Type is secret or configmap
	Type string        `json:"type,omitempty"`
	Item ConfigRefItem `json:"item,omitempty"`
}

ConfigRef configures the secret or configmap for a CustomConfigMount

func (*ConfigRef) DeepCopy added in v1.0.4

func (in *ConfigRef) DeepCopy() *ConfigRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigRef.

func (*ConfigRef) DeepCopyInto added in v1.0.4

func (in *ConfigRef) DeepCopyInto(out *ConfigRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigRefItem added in v1.0.4

type ConfigRefItem struct {
	Key  string `json:"key,omitempty"`
	Path string `json:"path,omitempty"`
}

ConfigRefItem is the key in the secret or configmap to mount, path is where it should be created.

func (*ConfigRefItem) DeepCopy added in v1.0.4

func (in *ConfigRefItem) DeepCopy() *ConfigRefItem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigRefItem.

func (*ConfigRefItem) DeepCopyInto added in v1.0.4

func (in *ConfigRefItem) DeepCopyInto(out *ConfigRefItem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomConfig added in v1.0.4

type CustomConfig struct {
	// Enabled or disabled
	Enabled bool                `json:"enabled,omitempty"`
	Mounts  []CustomConfigMount `json:"mounts,omitempty"`
}

CustomConfig Certain folders on the Container Gateway are not writeable by design. This configuration allows you to mount existing configMap/Secret keys to specific paths on the Gateway without the need for a root user or a custom/derived image.

func (*CustomConfig) DeepCopy added in v1.0.4

func (in *CustomConfig) DeepCopy() *CustomConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfig.

func (*CustomConfig) DeepCopyInto added in v1.0.4

func (in *CustomConfig) DeepCopyInto(out *CustomConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomConfigMount added in v1.0.4

type CustomConfigMount struct {
	// Name is the mount name
	Name string `json:"name,omitempty"`
	// MountPath is the location on the container gateway this should go
	MountPath string `json:"mountPath,omitempty"`
	// SubPath is the file name
	SubPath   string    `json:"subPath,omitempty"`
	ConfigRef ConfigRef `json:"ref,omitempty"`
}

CustomConfigMount

func (*CustomConfigMount) DeepCopy added in v1.0.4

func (in *CustomConfigMount) DeepCopy() *CustomConfigMount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomConfigMount.

func (*CustomConfigMount) DeepCopyInto added in v1.0.4

func (in *CustomConfigMount) DeepCopyInto(out *CustomConfigMount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomHosts added in v1.0.4

type CustomHosts struct {
	// Enabled or disabled
	Enabled     bool               `json:"enabled,omitempty"`
	HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"`
}

func (*CustomHosts) DeepCopy added in v1.0.4

func (in *CustomHosts) DeepCopy() *CustomHosts

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomHosts.

func (*CustomHosts) DeepCopyInto added in v1.0.4

func (in *CustomHosts) DeepCopyInto(out *CustomHosts)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CustomListenPort

type CustomListenPort struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
}

CustomListenPort - enable/disable custom listen ports

func (*CustomListenPort) DeepCopy

func (in *CustomListenPort) DeepCopy() *CustomListenPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomListenPort.

func (*CustomListenPort) DeepCopyInto

func (in *CustomListenPort) DeepCopyInto(out *CustomListenPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Database

type Database struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// JDBCUrl for the Gateway
	JDBCUrl string `json:"jdbcUrl,omitempty"`
	// Username MySQL - can be set in management.secretName
	Username string `json:"username,omitempty"`
	// Password MySQL - can be set in management.secretName
	Password string `json:"password,omitempty"`
}

Database configuration for the Gateway

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Database.

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalKey added in v1.0.2

type ExternalKey struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// Name of the kubernetes.io/tls Secret which already exists in Kubernetes
	Name string `json:"name,omitempty"`
	// Alias overrides the key name that is stored in the Gateway
	// This is useful for the default ssl key
	Alias string `json:"alias,omitempty"`
	// KeyUsageType allows keys to be marked as special purpose
	// only one key usage type is allowed
	// SSL | CA | AUDIT_SIGNING | AUDIT_VIEWER
	KeyUsageType KeyUsageType `json:"keyUsageType,omitempty"`
}

ExternalKey is a reference to an existing TLS Secret in Kubernetes The Layer7 Operator will attempt to convert this secret to a Graphman bundle that can be applied dynamically keeping any referenced keys up-to-date. You can bring in external secrets using tools like cert-manager

func (*ExternalKey) DeepCopy added in v1.0.2

func (in *ExternalKey) DeepCopy() *ExternalKey

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalKey.

func (*ExternalKey) DeepCopyInto added in v1.0.2

func (in *ExternalKey) DeepCopyInto(out *ExternalKey)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalSecret added in v1.0.2

type ExternalSecret struct {
	// Enabled or disabled
	Enabled    bool             `json:"enabled,omitempty"`
	Encryption BundleEncryption `json:"encryption,omitempty"`
	// Name of the Opaque/Generic Secret which already exists in Kubernetes
	Name string `json:"name,omitempty"`
	// Description given the Stored Password in the Gateway
	Description string `json:"description,omitempty"`
	// VariableReferencable permits/restricts use of the Stored Password in policy
	VariableReferencable bool `json:"variableReferencable,omitempty"`
}

ExternalSecret is a reference to an existing secret in Kubernetes The Layer7 Operator will attempt to convert this secret to a Graphman bundle that can be applied dynamically keeping any referenced secrets up-to-date. You can bring in external secrets using tools like the external secrets operator (external-secrets.io)

func (*ExternalSecret) DeepCopy added in v1.0.2

func (in *ExternalSecret) DeepCopy() *ExternalSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalSecret.

func (*ExternalSecret) DeepCopyInto added in v1.0.2

func (in *ExternalSecret) DeepCopyInto(out *ExternalSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Gateway

type Gateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GatewaySpec   `json:"spec,omitempty"`
	Status GatewayStatus `json:"status,omitempty"`
}

Gateway is the Schema for the Gateway Custom Resource

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Gateway) DeepCopyObject

func (in *Gateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Gateway) Default added in v1.0.4

func (r *Gateway) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Gateway) SetupWebhookWithManager added in v1.0.4

func (r *Gateway) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Gateway) ValidateCreate added in v1.0.4

func (r *Gateway) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Gateway) ValidateDelete added in v1.0.4

func (r *Gateway) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Gateway) ValidateUpdate added in v1.0.4

func (r *Gateway) ValidateUpdate(obj runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type GatewayList

type GatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Gateway `json:"items"`
}

GatewayList contains a list of Gateways

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayList.

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayList) DeepCopyObject

func (in *GatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GatewayRepositoryStatus

type GatewayRepositoryStatus struct {
	// Enabled shows whether or not this repository reference is enabled
	Enabled bool `json:"enabled"`
	// Name of the Repository Reference
	Name string `json:"name,omitempty"`
	// Commit is the last commit that was applied
	Commit string `json:"commit,omitempty"`
	// Type is static or dynamic
	Type string `json:"type,omitempty"`
	//SecretName is used to mount the correct repository secret to the initContainer
	SecretName string `json:"secretName,omitempty"`
	//StorageSecretName is used to mount existing repository bundles to the initContainer
	//these will be less than 1mb in size
	StorageSecretName string `json:"storageSecretName,omitempty"`
	// Branch of the Git repo
	Branch string `json:"branch,omitempty"`
	// Tag is the git tag in the Git repo
	Tag string `json:"tag,omitempty"`
	// Endoint is the Git repo
	Endpoint string `json:"endpoint,omitempty"`
}

GatewayRepositoryStatus tracks the status of which Graphman repositories have been applied to the Gateway Resource.

func (*GatewayRepositoryStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayRepositoryStatus.

func (*GatewayRepositoryStatus) DeepCopyInto

func (in *GatewayRepositoryStatus) DeepCopyInto(out *GatewayRepositoryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewaySpec

type GatewaySpec struct {
	License License `json:"license"`
	App     App     `json:"app"`
	// Version references the Gateway release that this Operator is intended to be used with
	// while all supported container gateway versions will work, some functionality will not be available
	Version string `json:"version,omitempty"`
}

GatewaySpec defines the desired state of Gateway

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayState

type GatewayState struct {
	// Name of the Gateway Pod
	Name  string          `json:"name,omitempty"`
	Phase corev1.PodPhase `json:"phase,omitempty"`
	// Ready is the state of the Gateway pod
	Ready bool `json:"ready"`
	// StartTime is when the Gateway pod was started
	StartTime string `json:"startTime,omitempty"`
}

GatewayState tracks the status of Gateway Resources

func (*GatewayState) DeepCopy

func (in *GatewayState) DeepCopy() *GatewayState

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayState.

func (*GatewayState) DeepCopyInto

func (in *GatewayState) DeepCopyInto(out *GatewayState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayStatus

type GatewayStatus struct {
	//+operator-sdk:csv:customresourcedefinitions:type=status
	// Host is the Gateway Cluster Hostname
	Host       string                       `json:"host,omitempty"`
	Conditions []appsv1.DeploymentCondition `json:"conditions,omitempty"`
	Phase      corev1.PodPhase              `json:"phase,omitempty"`
	Gateway    []GatewayState               `json:"gateway,omitempty"`
	Ready      int32                        `json:"ready,omitempty"`
	State      corev1.PodConditionType      `json:"state,omitempty"`
	// Replicas is the number of Gateway Pods
	Replicas int32 `json:"replicas,omitempty"`
	// Version of the Gateway
	Version string `json:"version,omitempty"`
	// Image of the Gateway
	Image string `json:"image,omitempty"`
	// Management Pod is a Gateway with a special annotation is used as a selector for the
	// management service and applying singleton resources
	ManagementPod    string                    `json:"managementPod,omitempty"`
	RepositoryStatus []GatewayRepositoryStatus `json:"repositoryStatus,omitempty"`
	PortalSyncStatus PortalSyncStatus          `json:"PortalSyncStatus,omitempty"`
}

GatewayStatus defines the observed state of Gateways

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayStatus.

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Graphman

type Graphman struct {
	// Enabled optionally bootstrap the GraphQL Gateway Management Service
	Enabled bool `json:"enabled,omitempty"`
	// DynamicSyncPort is the Port the Gateway controller uses to apply dynamic repositories, external keys/secrets to the Gateway
	DynamicSyncPort int `json:"dynamicSyncPort,omitempty"`
	// InitContainerImage is the image used to bootstrap static repositories
	InitContainerImage string `json:"initContainerImage,omitempty"`
	// InitContainerPullPolicy
	InitContainerImagePullPolicy corev1.PullPolicy `json:"initContainerImagePullPolicy,omitempty"`
	// ContainerSecurityContext
	InitContainerSecurityContext corev1.SecurityContext `json:"initContainerSecurityContext,omitempty"`
}

Graphman is a GraphQL Gateway Management interface that can be automatically provisioned. The initContainer image is required for bootstrapping graphman bundles defined by the repository controller.

func (*Graphman) DeepCopy

func (in *Graphman) DeepCopy() *Graphman

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Graphman.

func (*Graphman) DeepCopyInto

func (in *Graphman) DeepCopyInto(out *Graphman)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HPA

type HPA struct {
	// MinReplicas
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// MaxReplicas
	MaxReplicas int32                                         `json:"maxReplicas,omitempty"`
	Behavior    autoscalingv2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"`
	Metrics     []autoscalingv2.MetricSpec                    `json:"metrics,omitempty"`
}

func (*HPA) DeepCopy

func (in *HPA) DeepCopy() *HPA

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPA.

func (*HPA) DeepCopyInto

func (in *HPA) DeepCopyInto(out *HPA)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Hazelcast

type Hazelcast struct {
	// External set to true adds config for an external Hazelcast instance to the Gateway
	External bool `json:"external,omitempty"`
	// Endpoint is the hazelcast server and port
	// my.hazelcast:5701
	Endpoint string `json:"endpoint,omitempty"`
}

func (*Hazelcast) DeepCopy

func (in *Hazelcast) DeepCopy() *Hazelcast

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hazelcast.

func (*Hazelcast) DeepCopyInto

func (in *Hazelcast) DeepCopyInto(out *Hazelcast)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ingress

type Ingress struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// Type ingress or route
	Type string `json:"type,omitempty"`
	// Annotations for the ingress resource
	Annotations map[string]string `json:"annotations,omitempty"`
	// Route for Openshift
	// This acts as an override
	Route RouteSpec `json:"route,omitempty"`
	// IngressClassName
	IngressClassName string `json:"ingressClassName,omitempty"`
	// TLS
	TLS []networkingv1.IngressTLS `json:"tls,omitempty"`
	// Rules
	Rules []networkingv1.IngressRule `json:"rules,omitempty"`
}

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMHeap

type JVMHeap struct {
	// Calculate the JVMHeap size based on resource requests and limits
	// if resources are left unset this will be ignored
	Calculate bool `json:"calculate,omitempty"`
	// Percentage of requests.limits.memory to allocate to the jvm
	// 50% is the default, should be no higher than 75%
	Percentage int `json:"percentage,omitempty"`
	// Default Heap Size to use if calculate is false or requests.limits.memory is not set
	// Set to 2g
	Default string `json:"default,omitempty"`
}

func (*JVMHeap) DeepCopy

func (in *JVMHeap) DeepCopy() *JVMHeap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMHeap.

func (*JVMHeap) DeepCopyInto

func (in *JVMHeap) DeepCopyInto(out *JVMHeap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Java

type Java struct {
	JVMHeap JVMHeap `json:"jvmHeap,omitempty"`
	// ExtraArgs java
	ExtraArgs []string `json:"extraArgs,omitempty"`
}

Java configuration for the Gateway

func (*Java) DeepCopy

func (in *Java) DeepCopy() *Java

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Java.

func (*Java) DeepCopyInto

func (in *Java) DeepCopyInto(out *Java)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeyUsageType added in v1.0.4

type KeyUsageType string
const (
	KeyUsageTypeDefaultSSL KeyUsageType = "SSL"
	KeyUsageTypeDefaultCA  KeyUsageType = "CA"
	KeyUsageAuditSigning   KeyUsageType = "AUDIT_SIGNING"
	KeyUsageAuditViewer    KeyUsageType = "AUDIT_VIEWER"
)

type License

type License struct {
	Accept bool `json:"accept"`
	// SecretName is the Kubernetes Secret that contains the Gateway license
	// There must be a key called license.xml
	SecretName string `json:"secretName"`
}

License is reference to a Kubernetes Secret Containing a Gateway v10/11.x license. license.accept must be set to true or the Gateway will not start.

func (*License) DeepCopy

func (in *License) DeepCopy() *License

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new License.

func (*License) DeepCopyInto

func (in *License) DeepCopyInto(out *License)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ListenPort

type ListenPort struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// Name of the listen port
	Name string `json:"name,omitempty"`
	// Protocol
	Protocol string `json:"protocol,omitempty"`
	// Port
	Port string `json:"port,omitempty"`
	Tls  Tls    `json:"tls,omitempty"`
	// ManagementFeatures that should be available on this port
	// - Published service message input
	// - Administrative access
	// - Browser-based administration
	// - Built-in services
	ManagementFeatures []string   `json:"managementFeatures,omitempty"`
	Properties         []Property `json:"properties,omitempty"`
}

ListenPort is translated into a Restman Bundle

func (*ListenPort) DeepCopy

func (in *ListenPort) DeepCopy() *ListenPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenPort.

func (*ListenPort) DeepCopyInto

func (in *ListenPort) DeepCopyInto(out *ListenPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ListenPorts

type ListenPorts struct {
	// Harden
	Harden bool             `json:"harden,omitempty"`
	Custom CustomListenPort `json:"custom,omitempty"`
	Ports  []ListenPort     `json:"ports,omitempty"`
}

ListenPorts The Layer7 Gateway instantiates the following HTTP(s) ports by default Harden applies the following changes, setting ports overrides this flag. - 8080 (HTTP)

  • Disable
  • Allow Published Service Message input only

- 8443 (HTTPS)

  • Remove Management Features (no Policy Manager Access)
  • Enables TLSv1.2,TLS1.3 only
  • Disables insecure Cipher Suites

- 9443 (HTTPS)

  • Enables TLSv1.2,TLS1.3 only
  • Disables insecure Cipher Suites

- 2124 (Inter-Node Communication)

  • Not created
  • if using an existing database 2124 will not be modified

func (*ListenPorts) DeepCopy

func (in *ListenPorts) DeepCopy() *ListenPorts

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenPorts.

func (*ListenPorts) DeepCopyInto

func (in *ListenPorts) DeepCopyInto(out *ListenPorts)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalReference

type LocalReference struct {
	SecretName    string `json:"secretName,omitempty"`
	ConfigMapName string `json:"configMapName,omitempty"`
}

func (*LocalReference) DeepCopy

func (in *LocalReference) DeepCopy() *LocalReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalReference.

func (*LocalReference) DeepCopyInto

func (in *LocalReference) DeepCopyInto(out *LocalReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Log added in v1.0.4

type Log struct {
	// Override default log properties
	Override   bool   `json:"override,omitempty"`
	Properties string `json:"properties,omitempty"`
}

func (*Log) DeepCopy added in v1.0.4

func (in *Log) DeepCopy() *Log

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Log.

func (*Log) DeepCopyInto added in v1.0.4

func (in *Log) DeepCopyInto(out *Log)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Management

type Management struct {
	// SecretName is reference to an existing secret that contains
	// SSG_ADMIN_USERNAME, SSG_ADMIN_PASSWORD, SSG_CLUSTER_PASSPHRASE and optionally
	// SSG_DATABASE_USER and SSG_DATABASE_PASSWORD for mysql backed gateway clusters
	SecretName string `json:"secretName,omitempty"`
	// Username is the Gateway Admin username
	Username string `json:"username,omitempty"`
	// Password is the Gateway Admin password
	Password string   `json:"password,omitempty"`
	Cluster  Cluster  `json:"cluster"`
	Database Database `json:"database,omitempty"`
	Restman  Restman  `json:"restman,omitempty"`
	Graphman Graphman `json:"graphman,omitempty"`
	// Service is the Gateway Management Service
	Service Service `json:"service,omitempty"`
}

Management defines configuration for Gateway Managment.

func (*Management) DeepCopy

func (in *Management) DeepCopy() *Management

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Management.

func (*Management) DeepCopyInto

func (in *Management) DeepCopyInto(out *Management)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Notification

type Notification struct {
	Name    string  `json:"name,omitempty"`
	Enabled bool    `json:"enabled,omitempty"`
	Channel Channel `json:"channel,omitempty"`
}

This is currently configured for Slack

func (*Notification) DeepCopy

func (in *Notification) DeepCopy() *Notification

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Notification.

func (*Notification) DeepCopyInto

func (in *Notification) DeepCopyInto(out *Notification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Otk added in v1.0.4

type Otk struct {
	// Enable or disable the OTK initContainer
	Enabled bool `json:"enabled,omitempty"`
	// InitContainerImage for the initContainer
	InitContainerImage string `json:"initContainerImage,omitempty"`
	// InitContainerImagePullPolicy
	InitContainerImagePullPolicy corev1.PullPolicy `json:"initContainerImagePullPolicy,omitempty"`
	// InitContainerSecurityContext
	InitContainerSecurityContext corev1.SecurityContext `json:"initContainerSecurityContext,omitempty"`
	// Type of OTK installation single, internal or dmz
	Type OtkType `json:"type,omitempty"`
	// Database configuration
	Database OtkDatabase `json:"database,omitempty"`
	// Overrides default OTK install functionality
	Overrides OtkOverrides `json:"overrides,omitempty"`
	// A list of subSolutionKitNames - all,internal or dmz cover the primary use cases for the OTK. Only use if directed by support
	SubSolutionKitNames []string `json:"subSolutionKitNames,omitempty"`
	// InternalOtkGatewayReference to an Operator managed Gateway deployment that is configured with otk.type: internal
	// This configures a relationship between DMZ and Internal Gateways.
	InternalOtkGatewayReference string `json:"internalGatewayReference,omitempty"`
	// InternalGatewayPort defaults to 9443 or graphmanDynamicSync port
	InternalGatewayPort int `json:"internalGatewayPort,omitempty"`
	// OTKPort is used in Single mode - sets the otk.port cluster-wide property and in Dual-Mode
	// sets host_oauth2_auth_server port in #OTK Client Context Variables
	// TODO: Make this an array for many dmz deployments to one internal
	DmzOtkGatewayReference string `json:"dmzGatewayReference,omitempty"`
	// defaults to 8443
	OTKPort int `json:"port,omitempty"`
	// MaintenanceTasks for the OTK database - these are run by calling a Gateway endpoint every x seconds
	MaintenanceTasks OtkMaintenanceTasks `json:"maintenanceTasks,omitempty"`
	// RuntimeSyncIntervalSeconds how often OTK Gateways should be updated in internal/dmz mode
	RuntimeSyncIntervalSeconds int `json:"runtimeSyncIntervalSeconds,omitempty"`
}

func (*Otk) DeepCopy added in v1.0.4

func (in *Otk) DeepCopy() *Otk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Otk.

func (*Otk) DeepCopyInto added in v1.0.4

func (in *Otk) DeepCopyInto(out *Otk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkCassandra added in v1.0.4

type OtkCassandra struct {
	ConnectionPoints string `json:"connectionPoints,omitempty"`
	Port             string `json:"port,omitempty"`
	Keyspace         string `json:"keySpace,omitempty"`
	// DriverConfig is supported from GW 11.x
	DriverConfig map[string]intstr.IntOrString `json:"driverConfig,omitempty"`
}

func (*OtkCassandra) DeepCopy added in v1.0.4

func (in *OtkCassandra) DeepCopy() *OtkCassandra

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkCassandra.

func (*OtkCassandra) DeepCopyInto added in v1.0.4

func (in *OtkCassandra) DeepCopyInto(out *OtkCassandra)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkDatabase added in v1.0.4

type OtkDatabase struct {
	// Type of OTK Database
	Type OtkDatabaseType `json:"type,omitempty"`
	// Create the OTK database. Only applies to oracle and mysql
	Create bool `json:"create,omitempty"`
	// ConnectionName for the JDBC or Cassandra Connection Gateway entity
	ConnectionName string `json:"connectionName,omitempty"`
	// Auth for the OTK Database
	Auth OtkDatabaseAuth `json:"auth,omitempty"`
	// Cassandra configuration
	Cassandra OtkCassandra `json:"cassandra,omitempty"`
	// SQL configuration
	Sql OtkSql `json:"sql,omitempty"`
	// CreateReadOnlySqlConnection
	CreateReadOnlySqlConnection bool `json:"createReadOnlySqlConnection,omitempty"`
	// SqlReadOnly configuration
	SqlReadOnly OtkSql `json:"sqlReadOnly,omitempty"`
	// SqlReadOnlyConnectionName for the JDBC or Cassandra Connection Gateway entity
	SqlReadOnlyConnectionName string `json:"sqlReadOnlyConnectionName,omitempty"`
	// Properties
	Properties map[string]intstr.IntOrString `json:"properties,omitempty"`
}

func (*OtkDatabase) DeepCopy added in v1.0.4

func (in *OtkDatabase) DeepCopy() *OtkDatabase

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkDatabase.

func (*OtkDatabase) DeepCopyInto added in v1.0.4

func (in *OtkDatabase) DeepCopyInto(out *OtkDatabase)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkDatabaseAuth added in v1.0.4

type OtkDatabaseAuth struct {
	// ExistingSecret containing database credentials
	// The following keys can be set
	// Gateway user (typically otk_user)
	// OTK_DATABASE_USERNAME
	// OTK_DATABASE_PASSWORD
	// Gateway Readonly user (typically otk_user_readonly)
	// OTK_RO_DATABASE_USERNAME
	// OTK_RO_DATABASE_PASSWORD
	// Database admin credentials used to create or update the OTK database
	// OTK_DATABASE_DDL_USERNAME
	// OTK_DATABASE_DDL_PASSWORD
	ExistingSecret string `json:"existingSecret,omitempty"`
	// GatewayUser configured in the Gateway OAuth Database Connection entity
	GatewayUser OtkDatabaseAuthCredentials `json:"gateway,omitempty"`
	// ReadOnlyUser for Oracle/MySQL
	ReadOnlyUser OtkDatabaseAuthCredentials `json:"readOnly,omitempty"`
	// AdminUser for database creation
	AdminUser OtkDatabaseAuthCredentials `json:"admin,omitempty"`
}

func (*OtkDatabaseAuth) DeepCopy added in v1.0.4

func (in *OtkDatabaseAuth) DeepCopy() *OtkDatabaseAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkDatabaseAuth.

func (*OtkDatabaseAuth) DeepCopyInto added in v1.0.4

func (in *OtkDatabaseAuth) DeepCopyInto(out *OtkDatabaseAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkDatabaseAuthCredentials added in v1.0.4

type OtkDatabaseAuthCredentials struct {
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

func (*OtkDatabaseAuthCredentials) DeepCopy added in v1.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkDatabaseAuthCredentials.

func (*OtkDatabaseAuthCredentials) DeepCopyInto added in v1.0.4

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkDatabaseType added in v1.0.4

type OtkDatabaseType string
const (
	OtkDatabaseTypeMySQL     OtkDatabaseType = "mysql"
	OtkDatabaseTypeOracle    OtkDatabaseType = "oracle"
	OtkDatabaseTypeCassandra OtkDatabaseType = "cassandra"
)

type OtkMaintenanceTasks added in v1.0.4

type OtkMaintenanceTasks struct {
	// Enable or disable database maintenance tasks
	Enabled bool `json:"enabled,omitempty"`
	// OperatorManaged lets the Operator configure a hardened version of the db-maintenance policy
	OperatorManaged bool `json:"operatorManaged,omitempty"`
	// Uri for custom db-maintenance services
	// Corresponding maintenance policy must support a parameter called task
	Uri string `json:"uri,omitempty"`
	// Period in seconds between maintenance task runs
	Period int64 `json:"periodSeconds,omitempty"`
}

OtkMaintenanceTasks are run via API Call to Layer7 API Gateways in ephemeral mode these tasks will run against one Gateway node automatically selected by the Operator. This configuration allows that functionality to be disabled or customized.

func (*OtkMaintenanceTasks) DeepCopy added in v1.0.4

func (in *OtkMaintenanceTasks) DeepCopy() *OtkMaintenanceTasks

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkMaintenanceTasks.

func (*OtkMaintenanceTasks) DeepCopyInto added in v1.0.4

func (in *OtkMaintenanceTasks) DeepCopyInto(out *OtkMaintenanceTasks)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkOverrides added in v1.0.4

type OtkOverrides struct {
	// Enable or disable otk overrides
	Enabled bool `json:"enabled,omitempty"`
	// BootstrapDirectory that is used for the initContainer the default is /opt/SecureSpan/Gateway/node/default/etc/bootstrap/bundle/000OTK
	BootstrapDirectory string `json:"bootstrapDirectory,omitempty"`
	// SkipInternalServerTools subSolutionKit install
	// defaults to false
	SkipInternalServerTools bool `json:"skipInternalServerTools,omitempty"`
	// SkipPortalIntegrationComponents subSolutionKit install. This does not perform portal integration
	// defaults to true
	SkipPortalIntegrationComponents bool `json:"skipPortalIntegrationComponents,omitempty"`
	// CreateTestClients for mysql & oracle setup test clients
	CreateTestClients bool `json:"createTestClients,omitempty"`
	// TestClientsRedirectUrlPrefix. Required if createTestClients is true.
	TestClientsRedirectUrlPrefix string `json:"testClientsRedirectUrlPrefix,omitempty"`
	// ManagePostInstallConfig represent post-installation tasks required for internal/dmz otk gateways
	// These are enabled by default and will override the following customization policies
	// This should be disabled if you intend to manage these via Graphman/Restman bundle.
	// - #OTK OVP Configuration
	// - #OTK Storage Configuration
	// - #OTK  Client Context Variables
	// - OTK FIP Client Authentication Extension
	ManagePostInstallPolicies bool `json:"managePostInstallPolicies,omitempty"`
}

func (*OtkOverrides) DeepCopy added in v1.0.4

func (in *OtkOverrides) DeepCopy() *OtkOverrides

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkOverrides.

func (*OtkOverrides) DeepCopyInto added in v1.0.4

func (in *OtkOverrides) DeepCopyInto(out *OtkOverrides)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkSql added in v1.0.4

type OtkSql struct {
	//ConnectionName string `json:"connectionName,omitempty"`
	DatabaseName string `json:"databaseName,omitempty"`
	// JDBCUrl for the OTK
	JDBCUrl string `json:"jdbcUrl,omitempty"`
	// JDBCDriverClass to use in the Gateway JDBC Connection entity
	// defaults to com.mysql.jdbc.Driver
	JDBCDriverClass      string                        `json:"jdbcDriverClass,omitempty"`
	ConnectionProperties map[string]intstr.IntOrString `json:"connectionProperties,omitempty"`
	// ManageSchema appends an additional initContainer for the OTK that connects to and updates the OTK database
	// only supports MySQL and Oracle
	ManageSchema bool `json:"manageSchema,omitempty"`
	// DatabaseWaitTimeout applies to the db-initcontainer only
	DatabaseWaitTimeout int `json:"databaseWaitTimeout,omitempty"`
}

func (*OtkSql) DeepCopy added in v1.0.4

func (in *OtkSql) DeepCopy() *OtkSql

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtkSql.

func (*OtkSql) DeepCopyInto added in v1.0.4

func (in *OtkSql) DeepCopyInto(out *OtkSql)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtkType added in v1.0.4

type OtkType string
const (
	OtkTypeSingle   OtkType = "single"
	OtkTypeInternal OtkType = "internal"
	OtkTypeDMZ      OtkType = "dmz"
)

type PodDisruptionBudgetSpec

type PodDisruptionBudgetSpec struct {
	// Enabled or disabled
	Enabled        bool               `json:"enabled,omitempty"`
	MinAvailable   intstr.IntOrString `json:"minAvailable,omitempty"`
	MaxUnavailable intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

PodDisruptionBudgetSpec

func (*PodDisruptionBudgetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodDisruptionBudgetSpec.

func (*PodDisruptionBudgetSpec) DeepCopyInto

func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodResources

type PodResources struct {
	Requests corev1.ResourceList `json:"requests,omitempty"`
	Limits   corev1.ResourceList `json:"limits,omitempty"`
}

PodResources

func (*PodResources) DeepCopy

func (in *PodResources) DeepCopy() *PodResources

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodResources.

func (*PodResources) DeepCopyInto

func (in *PodResources) DeepCopyInto(out *PodResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PortalSyncStatus added in v1.0.4

type PortalSyncStatus struct {
	// Name of the L7Portal
	Name string `json:"name,omitempty"`
	// ApiCount is number of APIs that are related to the Referenced Portal
	ApiCount int `json:"apiCount,omitempty"`
	// LastUpdated is the last time this status was updated
	LastUpdated string `json:"lastUpdated,omitempty"`
}

PortalSyncStatus tracks the status of which portals are synced with a gateway.

func (*PortalSyncStatus) DeepCopy added in v1.0.4

func (in *PortalSyncStatus) DeepCopy() *PortalSyncStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortalSyncStatus.

func (*PortalSyncStatus) DeepCopyInto added in v1.0.4

func (in *PortalSyncStatus) DeepCopyInto(out *PortalSyncStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ports

type Ports struct {
	// Name of the Port
	Name string `json:"name,omitempty"`
	// Port number
	Port int32 `json:"port,omitempty"`
	// TargetPort on the Gateway Application
	TargetPort int32 `json:"targetPort,omitempty"`
	// Protocol
	Protocol string `json:"protocol,omitempty"`
}

Ports

func (*Ports) DeepCopy

func (in *Ports) DeepCopy() *Ports

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ports.

func (*Ports) DeepCopyInto

func (in *Ports) DeepCopyInto(out *Ports)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreStopScript added in v1.0.4

type PreStopScript struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// PeriodSeconds between checks
	PeriodSeconds int `json:"periodSeconds,omitempty"`
	// TimeoutSeconds is the total time this script should run
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
	// ExcludedPorts is an array of port numbers, if not set the defaults are 8777 and 2124
	ExcludedPorts []int `json:"excludedPorts,omitempty"`
}

PreStopScript During upgrades and other events where Gateway pods are replaced you may have APIs/Services that have long running connections open. This functionality delays Kubernetes sending a SIGTERM to the container gateway while connections remain open. This works in conjunction with terminationGracePeriodSeconds which should always be higher than preStopScript.timeoutSeconds. If preStopScript.timeoutSeconds is exceeded, the script will exit 0 and normal pod termination will resume. The preStop script will monitor connections to inbound (not outbound) Gateway Application TCP ports (i.e. inbound listener ports opened by the Gateway Application and not some other process) except those that are explicitly excluded. The following ports are excluded from monitoring by default. 8777 (Hazelcast) - Embedded Hazelcast. 2124 (Internode-Communication) - not utilised by the Container Gateway. If there are no open connections, the preStop script will exit immediately ignoring preStopScript.timeoutSeconds to avoid unnecessary resource utilisation (pod stuck in terminating state) during upgrades. While there aren't any explicit limits on preStopScript.timeoutSeconds and terminationGracePeriodSeconds running these for extended periods of time (i.e. more than 5 minutes) may be less reliable where other Kubernetes processes may remove the pod before terminationGracePeriodSeconds is reached. If you do run services like this we recommend testing before any real life implementation or better, creating a dedicated workload without autoscaling enabled (HPA) where you have more control over when/how pods are replaced.

func (*PreStopScript) DeepCopy added in v1.0.4

func (in *PreStopScript) DeepCopy() *PreStopScript

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStopScript.

func (*PreStopScript) DeepCopyInto added in v1.0.4

func (in *PreStopScript) DeepCopyInto(out *PreStopScript)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Property

type Property struct {
	// Name
	Name string `json:"name,omitempty"`
	// Value
	Value string `json:"value,omitempty"`
}

Property is a simple k/v pair

func (*Property) DeepCopy

func (in *Property) DeepCopy() *Property

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Property.

func (*Property) DeepCopyInto

func (in *Property) DeepCopyInto(out *Property)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Redis added in v1.0.4

type Redis struct {
	// Enable or disable a Redis integration
	Enabled bool `json:"enabled,omitempty"`
	// ExistingSecret mounts an existing secret containing redis configuration
	// to the container gateway.
	// The secret should contain a key called redis.properties and redis.crt if tls is enabled
	ExistingSecret string `json:"existingSecret,omitempty"`
	// Type of sentinel deployment
	// valid options are standalone or sentinel
	// standalone does not support auth or tls and should only be used in non-critical environments for development purposes
	Type RedisType `json:"type,omitempty"`
	// GroupName that should be used when connecting to Redis
	GroupName string `json:"groupName,omitempty"`
	// Sentinel configuration
	Sentinel RedisSentinel `json:"sentinel,omitempty"`
	// Standalone configuration
	Standalone RedisStandalone `json:"standalone,omitempty"`
	// Auth if using sentinel
	Auth RedisAuth `json:"auth,omitempty"`
	// TLS configuration
	Tls RedisTls `json:"tls,omitempty"`
}

func (*Redis) DeepCopy added in v1.0.4

func (in *Redis) DeepCopy() *Redis

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.

func (*Redis) DeepCopyInto added in v1.0.4

func (in *Redis) DeepCopyInto(out *Redis)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisAuth added in v1.0.4

type RedisAuth struct {
	// Enable or disable Redis auth
	// Authentication is only available for Redis Sentinel
	Enabled           bool   `json:"enabled,omitempty"`
	Username          string `json:"username,omitempty"`
	PasswordEncoded   string `json:"passwordEncoded,omitempty"`
	PasswordPlainText string `json:"passwordPlaintext,omitempty"`
}

func (*RedisAuth) DeepCopy added in v1.0.4

func (in *RedisAuth) DeepCopy() *RedisAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisAuth.

func (*RedisAuth) DeepCopyInto added in v1.0.4

func (in *RedisAuth) DeepCopyInto(out *RedisAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisSentinel added in v1.0.4

type RedisSentinel struct {
	MasterSet string   `json:"masterSet,omitempty"`
	Nodes     []string `json:"nodes,omitempty"`
}

func (*RedisSentinel) DeepCopy added in v1.0.4

func (in *RedisSentinel) DeepCopy() *RedisSentinel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinel.

func (*RedisSentinel) DeepCopyInto added in v1.0.4

func (in *RedisSentinel) DeepCopyInto(out *RedisSentinel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisStandalone added in v1.0.4

type RedisStandalone struct {
	Hostname string `json:"hostname,omitempty"`
	Port     int    `json:"port,omitempty"`
}

func (*RedisStandalone) DeepCopy added in v1.0.4

func (in *RedisStandalone) DeepCopy() *RedisStandalone

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisStandalone.

func (*RedisStandalone) DeepCopyInto added in v1.0.4

func (in *RedisStandalone) DeepCopyInto(out *RedisStandalone)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisTls added in v1.0.4

type RedisTls struct {
	// If TLS is enabled on the Redis server set this to true
	Enabled bool `json:"enabled,omitempty"`
	// Reference an existing secret that contains a key called redis.crt with the redis public cert
	ExistingSecret string `json:"existingSecret,omitempty"`
	// Change if using a different key. Defaults to redis.crt
	ExistingSecretKey string `json:"key,omitempty"`
	// Crt in plaintext
	Crt string `json:"crt,omitempty"`
	// VerifyPeer
	VerifyPeer bool `json:"verifyPeer,omitempty"`
}

func (*RedisTls) DeepCopy added in v1.0.4

func (in *RedisTls) DeepCopy() *RedisTls

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisTls.

func (*RedisTls) DeepCopyInto added in v1.0.4

func (in *RedisTls) DeepCopyInto(out *RedisTls)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisType added in v1.0.4

type RedisType string
const (
	RedisTypeStandalone RedisType = "standalone"
	RedisTypeSentinel   RedisType = "sentinel"
)

type Repository

type Repository struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec - Repository Spec
	Spec RepositorySpec `json:"spec,omitempty"`
	// Status - Repository Status
	Status RepositoryStatus `json:"status,omitempty"`
}

Repository is the Schema for the repositories API

func (*Repository) DeepCopy

func (in *Repository) DeepCopy() *Repository

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.

func (*Repository) DeepCopyInto

func (in *Repository) DeepCopyInto(out *Repository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Repository) DeepCopyObject

func (in *Repository) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Repository) Default added in v1.0.4

func (r *Repository) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Repository) SetupWebhookWithManager added in v1.0.4

func (r *Repository) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Repository) ValidateCreate added in v1.0.4

func (r *Repository) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Repository) ValidateDelete added in v1.0.4

func (r *Repository) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Repository) ValidateUpdate added in v1.0.4

func (r *Repository) ValidateUpdate(obj runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type RepositoryAuth

type RepositoryAuth struct {
	// Vendor i.e. Github, Gitlab, BitBucket
	Vendor string `json:"vendor,omitempty"`
	// Auth Type defaults to basic, possible options are
	// none, basic or ssh
	Type RepositoryAuthType `json:"type,omitempty"`
	// Username repository username
	Username string `json:"username,omitempty"`
	// Password repository Password
	// password or token are acceptable
	Password string `json:"password,omitempty"`
	// Token repository Access Token
	Token string `json:"token,omitempty"`
	// SSHKey for Git SSH Authentication
	SSHKey string `json:"sshKey,omitempty"`
	// SSHKeyPass
	SSHKeyPass string `json:"sshKeyPass,omitempty"`
	// KnownHosts is required for SSH Auth
	KnownHosts string `json:"knownHosts,omitempty"`
	// ExistingSecretName reference an existing secret
	ExistingSecretName string `json:"existingSecretName,omitempty"`
}

RepositoryAuth

func (*RepositoryAuth) DeepCopy

func (in *RepositoryAuth) DeepCopy() *RepositoryAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryAuth.

func (*RepositoryAuth) DeepCopyInto

func (in *RepositoryAuth) DeepCopyInto(out *RepositoryAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryAuthType added in v1.0.4

type RepositoryAuthType string
const (
	RepositoryAuthTypeBasic RepositoryAuthType = "basic"
	RepositoryAuthTypeSSH   RepositoryAuthType = "ssh"
	RepositoryAuthTypeNone  RepositoryAuthType = "none"
)

type RepositoryList

type RepositoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Repository `json:"items"`
}

RepositoryList contains a list of Repository

func (*RepositoryList) DeepCopy

func (in *RepositoryList) DeepCopy() *RepositoryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList.

func (*RepositoryList) DeepCopyInto

func (in *RepositoryList) DeepCopyInto(out *RepositoryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RepositoryList) DeepCopyObject

func (in *RepositoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RepositoryReference

type RepositoryReference struct {
	// Enabled or disabled
	Enabled bool `json:"enabled"`
	// Name of the existing repository
	Name string `json:"name,omitempty"`
	// Directories from the remote repository to sync with the Gateway
	// Limited to dynamic type
	Directories []string `json:"directories,omitempty"`
	// Type static or dynamic
	// static repositories are bootstrapped to the container gateway using an initContainer
	// it is recommended that these stay under 1mb in size when compressed
	// for larger static repositories it is recommended that you use a dedicated initContainer
	// dynamic repositories are applied directly to the gateway whenever the commit of a repository changes
	Type         string           `json:"type,omitempty"`
	Encryption   BundleEncryption `json:"encryption,omitempty"`
	Notification Notification     `json:"notification,omitempty"`
}

RepositoryReference is reference to a Git repository or HTTP endpoint that contains graphman bundles

func (*RepositoryReference) DeepCopy

func (in *RepositoryReference) DeepCopy() *RepositoryReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryReference.

func (*RepositoryReference) DeepCopyInto

func (in *RepositoryReference) DeepCopyInto(out *RepositoryReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositorySpec

type RepositorySpec struct {
	// Name Repository name
	//Name string `json:"name"`
	//Labels - Custom Labels
	Labels map[string]string `json:"labels,omitempty"`
	//Annotations - Custom Annotations
	Annotations map[string]string `json:"annotations,omitempty"`
	// Enabled - if enabled this repository will be synced
	Enabled bool `json:"enabled,omitempty"`
	// Endoint - Git repository endpoint
	Endpoint string `json:"endpoint"`
	Type     string `json:"type,omitempty"`
	// LocalReference lets the Repository controller use a local Kubernetes Configmap/Secret as a repository source
	// This is not currently implemented
	LocalReference       LocalReference       `json:"localReference,omitempty"`
	RepositorySyncConfig RepositorySyncConfig `json:"sync,omitempty"`
	// Remote Name - defaults to "origin"
	RemoteName string `json:"remoteName,omitempty"`
	// Branch - specify which branch to clone
	// if branch and tag are both specified branch will take precedence and tag will be ignored
	// if branch and tag are both missing the entire repository will be cloned
	Branch string `json:"branch,omitempty"`
	// Tag - clone a specific tag.
	// tags do not change, once cloned this will not be checked for updates
	Tag string `json:"tag,omitempty"`
	// Auth contains a reference to the credentials required to connect to your Git repository
	Auth RepositoryAuth `json:"auth,omitempty"`
}

RepositorySpec defines the desired state of Repository

func (*RepositorySpec) DeepCopy

func (in *RepositorySpec) DeepCopy() *RepositorySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.

func (*RepositorySpec) DeepCopyInto

func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryStatus

type RepositoryStatus struct {
	Name               string `json:"name,omitempty"`
	Ready              bool   `json:"ready,omitempty"`
	Commit             string `json:"commit,omitempty"`
	Updated            string `json:"updated,omitempty"`
	Summary            string `json:"summary,omitempty"`
	LastAppliedSummary string `json:"lastAppliedSummary,omitempty"`
	Vendor             string `json:"vendor,omitempty"`
	StorageSecretName  string `json:"storageSecretName,omitempty"`
}

RepositoryStatus defines the observed state of Repository

func (*RepositoryStatus) DeepCopy

func (in *RepositoryStatus) DeepCopy() *RepositoryStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus.

func (*RepositoryStatus) DeepCopyInto

func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositorySyncConfig

type RepositorySyncConfig struct {
	// Configure how frequently the remote is checked for new commits
	IntervalSeconds int `json:"interval,omitempty"`
}

RepositorySyncConfig

func (*RepositorySyncConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySyncConfig.

func (*RepositorySyncConfig) DeepCopyInto

func (in *RepositorySyncConfig) DeepCopyInto(out *RepositorySyncConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Restman

type Restman struct {
	// Enabled optionally bootstrap the Restman Gateway Managment API
	Enabled bool `json:"enabled,omitempty"`
}

Restman is a Gateway Management interface that can be automatically provisioned.

func (*Restman) DeepCopy

func (in *Restman) DeepCopy() *Restman

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Restman.

func (*Restman) DeepCopyInto

func (in *Restman) DeepCopyInto(out *Restman)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteSpec added in v1.0.4

type RouteSpec struct {
	Host           string                     `json:"host,omitempty"`
	Path           string                     `json:"path,omitempty"`
	Port           *routev1.RoutePort         `json:"port,omitempty"`
	TLS            *routev1.TLSConfig         `json:"tls,omitempty"`
	WildcardPolicy routev1.WildcardPolicyType `json:"wildcardPolicy,omitempty"`
}

RouteSpec from https://pkg.go.dev/github.com/openshift/api/route/v1#RouteSpec The Operator determines where to route to

func (*RouteSpec) DeepCopy added in v1.0.4

func (in *RouteSpec) DeepCopy() *RouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.

func (*RouteSpec) DeepCopyInto added in v1.0.4

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Service

type Service struct {
	// Enabled or disabled
	Enabled bool ` json:"enabled,omitempty"`
	// Annotations for the service
	Annotations map[string]string `json:"annotations,omitempty"`
	// Type ClusterIP, NodePort, LoadBalancer
	Type corev1.ServiceType `json:"type,omitempty"`
	// Ports exposed by the Service
	// These are appended to the Gateway deployment containerPorts
	Ports                         []Ports                             `json:"ports,omitempty"`
	ClusterIP                     string                              `json:"clusterIP,omitempty"`
	ClusterIPs                    []string                            `json:"clusterIPs,omitempty"`
	ExternalIPs                   []string                            `json:"externalIPs,omitempty"`
	SessionAffinity               corev1.ServiceAffinity              `json:"sessionAffinity,omitempty"`
	LoadBalancerIP                string                              `json:"loadBalancerIP,omitempty"`
	LoadBalancerSourceRanges      []string                            `json:"loadBalancerSourceRanges,omitempty"`
	ExternalName                  string                              `json:"externalName,omitempty"`
	ExternalTrafficPolicy         corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty"`
	HealthCheckNodePort           int32                               `json:"healthCheckNodePort,omitempty"`
	SessionAffinityConfig         corev1.SessionAffinityConfig        `json:"sessionAffinityConfig,omitempty"`
	IPFamilies                    []corev1.IPFamily                   `json:"ipFamilies,omitempty"`
	IPFamilyPolicy                corev1.IPFamilyPolicy               `json:"ipFamilyPolicy,omitempty"`
	AllocateLoadBalancerNodePorts *bool                               `json:"allocateLoadBalancerNodePorts,omitempty"`
	LoadBalancerClass             string                              `json:"loadBalancerClass,omitempty"`
	InternalTrafficPolicy         corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
}

Service

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccount added in v1.0.4

type ServiceAccount struct {
	// Create a service account for the Gateway Deployment
	Create bool `json:"create,omitempty"`
	// Name of the service account
	Name string `json:"name,omitempty"`
}

func (*ServiceAccount) DeepCopy added in v1.0.4

func (in *ServiceAccount) DeepCopy() *ServiceAccount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccount.

func (*ServiceAccount) DeepCopyInto added in v1.0.4

func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type System

type System struct {
	// Properties for the Gateway
	Properties string `json:"properties,omitempty"`
}

System

func (*System) DeepCopy

func (in *System) DeepCopy() *System

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new System.

func (*System) DeepCopyInto

func (in *System) DeepCopyInto(out *System)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tls

type Tls struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`
	// PrivateKey the Port should use
	PrivateKey string `json:"privateKey,omitempty"`
	// ClientAuthentication MTLS for the Port
	// None, Optional, Required
	ClientAuthentication string `json:"clientAuthentication,omitempty"`
	// Versions of TLS
	// - TLS1.0 (not recommended)
	// - TLS1.1 (not recommended)
	// - TLS1.2
	// - TLS1.3
	Versions []string `json:"versions,omitempty"`
	// UseCipherSuitesOrder
	UseCipherSuitesOrder bool `json:"useCipherSuitesOrder,omitempty"`
	// CipherSuites
	// 	- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
	// 	- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
	// 	- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
	// 	- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
	// 	- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
	// 	- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
	// 	- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
	// 	- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
	// 	- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
	// 	- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	// 	- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
	// 	- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
	// 	- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
	// 	- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
	// 	- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
	// 	- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
	// 	- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
	// 	- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
	// 	- TLS_AES_256_GCM_SHA384
	// 	- TLS_AES_128_GCM_SHA256
	//  - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (Disabled by Harden)
	//  - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (Disabled by Harden)
	//  - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_256_GCM_SHA384 (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_256_CBC_SHA256 (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_256_CBC_SHA (Disabled by Harden)
	//  - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (Disabled by Harden)
	//  - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (Disabled by Harden)
	//  - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (Disabled by Harden)
	//  - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_128_GCM_SHA256 (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_128_CBC_SHA256 (Disabled by Harden)
	//  - TLS_RSA_WITH_AES_128_CBC_SHA (Disabled by Harden)
	CipherSuites []string `json:"cipherSuites,omitempty"`
}

Tls configuration for Gateway Ports

func (*Tls) DeepCopy

func (in *Tls) DeepCopy() *Tls

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tls.

func (*Tls) DeepCopyInto

func (in *Tls) DeepCopyInto(out *Tls)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdateStrategy

type UpdateStrategy struct {
	Type          string                         `json:"type,omitempty"`
	RollingUpdate appsv1.RollingUpdateDeployment `json:"rollingUpdate,omitempty"`
}

UpdateStrategy for the Gateway Deployment

func (*UpdateStrategy) DeepCopy

func (in *UpdateStrategy) DeepCopy() *UpdateStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.

func (*UpdateStrategy) DeepCopyInto

func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeAttributes

type VolumeAttributes struct {
	//SecretProviderClass
	SecretProviderClass string `json:"secretProviderClass,omitempty"`
}

VolumeAtttributes

func (*VolumeAttributes) DeepCopy

func (in *VolumeAttributes) DeepCopy() *VolumeAttributes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttributes.

func (*VolumeAttributes) DeepCopyInto

func (in *VolumeAttributes) DeepCopyInto(out *VolumeAttributes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Webhook

type Webhook struct {
	Url                string            `json:"url,omitempty"`
	InsecureSkipVerify bool              `json:"insecureSkipVerify,omitempty"`
	Headers            map[string]string `json:"headers,omitempty"`
	Auth               WebhookAuth       `json:"auth,omitempty"`
}

func (*Webhook) DeepCopy

func (in *Webhook) DeepCopy() *Webhook

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Webhook.

func (*Webhook) DeepCopyInto

func (in *Webhook) DeepCopyInto(out *Webhook)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookAuth

type WebhookAuth struct {
	Type     string `json:"type,omitempty"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
	Token    string `json:"token,omitempty"`
}

func (*WebhookAuth) DeepCopy

func (in *WebhookAuth) DeepCopy() *WebhookAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookAuth.

func (*WebhookAuth) DeepCopyInto

func (in *WebhookAuth) DeepCopyInto(out *WebhookAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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