input

package
v0.11.3 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2020 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Overview

Utility for manually building input snapshots. Used primarily in tests.

Utility for manually building input snapshots. Used primarily in tests.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterInputReconciler added in v0.11.1

func RegisterInputReconciler(
	ctx context.Context,
	clusters multicluster.ClusterWatcher,
	multiClusterReconcileFunc input.MultiClusterReconcileFunc,
	mgr manager.Manager,
	singleClusterReconcileFunc input.SingleClusterReconcileFunc,
	options ReconcileOptions,
) (input.InputReconciler, error)

register the given multi cluster reconcile func with the cluster watcher register the given single cluster reconcile func with the local manager

Types

type BuildOptions

type BuildOptions struct {

	// List options for composing a snapshot from Settings
	Settings ResourceBuildOptions

	// List options for composing a snapshot from TrafficTargets
	TrafficTargets ResourceBuildOptions
	// List options for composing a snapshot from Workloads
	Workloads ResourceBuildOptions
	// List options for composing a snapshot from Meshes
	Meshes ResourceBuildOptions

	// List options for composing a snapshot from TrafficPolicies
	TrafficPolicies ResourceBuildOptions
	// List options for composing a snapshot from AccessPolicies
	AccessPolicies ResourceBuildOptions
	// List options for composing a snapshot from VirtualMeshes
	VirtualMeshes ResourceBuildOptions
	// List options for composing a snapshot from FailoverServices
	FailoverServices ResourceBuildOptions

	// List options for composing a snapshot from Secrets
	Secrets ResourceBuildOptions

	// List options for composing a snapshot from KubernetesClusters
	KubernetesClusters ResourceBuildOptions
}

Options for building a snapshot

type Builder

type Builder interface {
	BuildSnapshot(ctx context.Context, name string, opts BuildOptions) (Snapshot, error)
}

builds the input snapshot from API Clients.

func NewSingleClusterBuilder

func NewSingleClusterBuilder(
	mgr manager.Manager,
) Builder

Produces snapshots of resources across all clusters defined in the ClusterSet

type InputLocalSnapshotManualBuilder added in v0.11.1

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

func NewInputLocalSnapshotManualBuilder added in v0.11.1

func NewInputLocalSnapshotManualBuilder(name string) *InputLocalSnapshotManualBuilder

func (*InputLocalSnapshotManualBuilder) AddAccessPolicies added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddFailoverServices added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddKubernetesClusters added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddMeshes added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddSecrets added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddSettings added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddTrafficPolicies added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddTrafficTargets added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddVirtualMeshes added in v0.11.1

func (*InputLocalSnapshotManualBuilder) AddWorkloads added in v0.11.1

func (*InputLocalSnapshotManualBuilder) Build added in v0.11.1

type InputRemoteSnapshotManualBuilder added in v0.11.1

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

func NewInputRemoteSnapshotManualBuilder added in v0.11.1

func NewInputRemoteSnapshotManualBuilder(name string) *InputRemoteSnapshotManualBuilder

func (*InputRemoteSnapshotManualBuilder) AddAuthorizationPolicies added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddConfigMaps added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddDestinationRules added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddEnvoyFilters added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddGateways added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddIssuedCertificates added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddPodBounceDirectives added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddServiceEntries added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddVirtualServices added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) AddXdsConfigs added in v0.11.1

func (*InputRemoteSnapshotManualBuilder) Build added in v0.11.1

type LocalBuildOptions added in v0.11.1

type LocalBuildOptions struct {

	// List options for composing a snapshot from Settings
	Settings ResourceLocalBuildOptions

	// List options for composing a snapshot from TrafficTargets
	TrafficTargets ResourceLocalBuildOptions
	// List options for composing a snapshot from Workloads
	Workloads ResourceLocalBuildOptions
	// List options for composing a snapshot from Meshes
	Meshes ResourceLocalBuildOptions

	// List options for composing a snapshot from TrafficPolicies
	TrafficPolicies ResourceLocalBuildOptions
	// List options for composing a snapshot from AccessPolicies
	AccessPolicies ResourceLocalBuildOptions
	// List options for composing a snapshot from VirtualMeshes
	VirtualMeshes ResourceLocalBuildOptions
	// List options for composing a snapshot from FailoverServices
	FailoverServices ResourceLocalBuildOptions

	// List options for composing a snapshot from Secrets
	Secrets ResourceLocalBuildOptions

	// List options for composing a snapshot from KubernetesClusters
	KubernetesClusters ResourceLocalBuildOptions
}

Options for building a snapshot

type LocalBuilder added in v0.11.1

type LocalBuilder interface {
	BuildSnapshot(ctx context.Context, name string, opts LocalBuildOptions) (LocalSnapshot, error)
}

builds the input snapshot from API Clients.

func NewSingleClusterLocalBuilder added in v0.11.1

func NewSingleClusterLocalBuilder(
	mgr manager.Manager,
) LocalBuilder

Produces snapshots of resources across all clusters defined in the ClusterSet

type LocalReconcileOptions added in v0.11.1

type LocalReconcileOptions struct {

	// Options for reconciling Settings
	Settings reconcile.Options

	// Options for reconciling TrafficTargets
	TrafficTargets reconcile.Options
	// Options for reconciling Workloads
	Workloads reconcile.Options
	// Options for reconciling Meshes
	Meshes reconcile.Options

	// Options for reconciling TrafficPolicies
	TrafficPolicies reconcile.Options
	// Options for reconciling AccessPolicies
	AccessPolicies reconcile.Options
	// Options for reconciling VirtualMeshes
	VirtualMeshes reconcile.Options
	// Options for reconciling FailoverServices
	FailoverServices reconcile.Options

	// Options for reconciling Secrets
	Secrets reconcile.Options

	// Options for reconciling KubernetesClusters
	KubernetesClusters reconcile.Options

	// optional predicates for filtering local events
	Predicates []predicate.Predicate
}

Options for reconciling a snapshot in remote clusters

type LocalSnapshot added in v0.11.1

type LocalSnapshot interface {

	// return the set of input Settings
	Settings() settings_mesh_gloo_solo_io_v1alpha2_sets.SettingsSet

	// return the set of input TrafficTargets
	TrafficTargets() discovery_mesh_gloo_solo_io_v1alpha2_sets.TrafficTargetSet
	// return the set of input Workloads
	Workloads() discovery_mesh_gloo_solo_io_v1alpha2_sets.WorkloadSet
	// return the set of input Meshes
	Meshes() discovery_mesh_gloo_solo_io_v1alpha2_sets.MeshSet

	// return the set of input TrafficPolicies
	TrafficPolicies() networking_mesh_gloo_solo_io_v1alpha2_sets.TrafficPolicySet
	// return the set of input AccessPolicies
	AccessPolicies() networking_mesh_gloo_solo_io_v1alpha2_sets.AccessPolicySet
	// return the set of input VirtualMeshes
	VirtualMeshes() networking_mesh_gloo_solo_io_v1alpha2_sets.VirtualMeshSet
	// return the set of input FailoverServices
	FailoverServices() networking_mesh_gloo_solo_io_v1alpha2_sets.FailoverServiceSet

	// return the set of input Secrets
	Secrets() v1_sets.SecretSet

	// return the set of input KubernetesClusters
	KubernetesClusters() multicluster_solo_io_v1alpha1_sets.KubernetesClusterSet
	// update the status of all input objects which support
	// the Status subresource (in the local cluster)
	SyncStatuses(ctx context.Context, c client.Client, opts LocalSyncStatusOptions) error
	// serialize the entire snapshot as JSON
	MarshalJSON() ([]byte, error)
}

the snapshot of input resources consumed by translation

type LocalSyncStatusOptions added in v0.11.1

type LocalSyncStatusOptions struct {

	// sync status of Settings objects
	Settings bool

	// sync status of TrafficTarget objects
	TrafficTarget bool
	// sync status of Workload objects
	Workload bool
	// sync status of Mesh objects
	Mesh bool

	// sync status of TrafficPolicy objects
	TrafficPolicy bool
	// sync status of AccessPolicy objects
	AccessPolicy bool
	// sync status of VirtualMesh objects
	VirtualMesh bool
	// sync status of FailoverService objects
	FailoverService bool

	// sync status of Secret objects
	Secret bool

	// sync status of KubernetesCluster objects
	KubernetesCluster bool
}

options for syncing input object statuses

type ReconcileOptions

type ReconcileOptions struct {
	Remote RemoteReconcileOptions
	Local  LocalReconcileOptions

	// the ReconcileInterval, if greater than 0, will limit the number of reconciles
	// to one per interval.
	ReconcileInterval time.Duration
}

type RemoteBuildOptions added in v0.11.1

type RemoteBuildOptions struct {

	// List options for composing a snapshot from IssuedCertificates
	IssuedCertificates ResourceRemoteBuildOptions
	// List options for composing a snapshot from PodBounceDirectives
	PodBounceDirectives ResourceRemoteBuildOptions

	// List options for composing a snapshot from XdsConfigs
	XdsConfigs ResourceRemoteBuildOptions

	// List options for composing a snapshot from DestinationRules
	DestinationRules ResourceRemoteBuildOptions
	// List options for composing a snapshot from EnvoyFilters
	EnvoyFilters ResourceRemoteBuildOptions
	// List options for composing a snapshot from Gateways
	Gateways ResourceRemoteBuildOptions
	// List options for composing a snapshot from ServiceEntries
	ServiceEntries ResourceRemoteBuildOptions
	// List options for composing a snapshot from VirtualServices
	VirtualServices ResourceRemoteBuildOptions

	// List options for composing a snapshot from AuthorizationPolicies
	AuthorizationPolicies ResourceRemoteBuildOptions

	// List options for composing a snapshot from ConfigMaps
	ConfigMaps ResourceRemoteBuildOptions
}

Options for building a snapshot

type RemoteBuilder added in v0.11.1

type RemoteBuilder interface {
	BuildSnapshot(ctx context.Context, name string, opts RemoteBuildOptions) (RemoteSnapshot, error)
}

builds the input snapshot from API Clients.

func NewMultiClusterRemoteBuilder added in v0.11.1

func NewMultiClusterRemoteBuilder(
	clusters multicluster.Interface,
	client multicluster.Client,
) RemoteBuilder

Produces snapshots of resources across all clusters defined in the ClusterSet

type RemoteReconcileOptions added in v0.11.1

type RemoteReconcileOptions struct {

	// Options for reconciling IssuedCertificates
	IssuedCertificates reconcile.Options
	// Options for reconciling PodBounceDirectives
	PodBounceDirectives reconcile.Options

	// Options for reconciling XdsConfigs
	XdsConfigs reconcile.Options

	// Options for reconciling DestinationRules
	DestinationRules reconcile.Options
	// Options for reconciling EnvoyFilters
	EnvoyFilters reconcile.Options
	// Options for reconciling Gateways
	Gateways reconcile.Options
	// Options for reconciling ServiceEntries
	ServiceEntries reconcile.Options
	// Options for reconciling VirtualServices
	VirtualServices reconcile.Options

	// Options for reconciling AuthorizationPolicies
	AuthorizationPolicies reconcile.Options

	// Options for reconciling ConfigMaps
	ConfigMaps reconcile.Options

	// optional predicates for filtering remote events
	Predicates []predicate.Predicate
}

Options for reconciling a snapshot in remote clusters

type RemoteSnapshot added in v0.11.1

type RemoteSnapshot interface {

	// return the set of input IssuedCertificates
	IssuedCertificates() certificates_mesh_gloo_solo_io_v1alpha2_sets.IssuedCertificateSet
	// return the set of input PodBounceDirectives
	PodBounceDirectives() certificates_mesh_gloo_solo_io_v1alpha2_sets.PodBounceDirectiveSet

	// return the set of input XdsConfigs
	XdsConfigs() xds_agent_enterprise_mesh_gloo_solo_io_v1alpha1_sets.XdsConfigSet

	// return the set of input DestinationRules
	DestinationRules() networking_istio_io_v1alpha3_sets.DestinationRuleSet
	// return the set of input EnvoyFilters
	EnvoyFilters() networking_istio_io_v1alpha3_sets.EnvoyFilterSet
	// return the set of input Gateways
	Gateways() networking_istio_io_v1alpha3_sets.GatewaySet
	// return the set of input ServiceEntries
	ServiceEntries() networking_istio_io_v1alpha3_sets.ServiceEntrySet
	// return the set of input VirtualServices
	VirtualServices() networking_istio_io_v1alpha3_sets.VirtualServiceSet

	// return the set of input AuthorizationPolicies
	AuthorizationPolicies() security_istio_io_v1beta1_sets.AuthorizationPolicySet

	// return the set of input ConfigMaps
	ConfigMaps() v1_sets.ConfigMapSet
	// update the status of all input objects which support
	// the Status subresource (across multiple clusters)
	SyncStatusesMultiCluster(ctx context.Context, mcClient multicluster.Client, opts RemoteSyncStatusOptions) error
	// serialize the entire snapshot as JSON
	MarshalJSON() ([]byte, error)
}

the snapshot of input resources consumed by translation

type RemoteSyncStatusOptions added in v0.11.1

type RemoteSyncStatusOptions struct {

	// sync status of IssuedCertificate objects
	IssuedCertificate bool
	// sync status of PodBounceDirective objects
	PodBounceDirective bool

	// sync status of XdsConfig objects
	XdsConfig bool

	// sync status of DestinationRule objects
	DestinationRule bool
	// sync status of EnvoyFilter objects
	EnvoyFilter bool
	// sync status of Gateway objects
	Gateway bool
	// sync status of ServiceEntry objects
	ServiceEntry bool
	// sync status of VirtualService objects
	VirtualService bool

	// sync status of AuthorizationPolicy objects
	AuthorizationPolicy bool

	// sync status of ConfigMap objects
	ConfigMap bool
}

options for syncing input object statuses

type ResourceBuildOptions

type ResourceBuildOptions struct {

	// List options for composing a snapshot from a resource type
	ListOptions []client.ListOption

	// If provided, ensure the resource has been verified before adding it to snapshots
	Verifier verifier.ServerResourceVerifier
}

Options for reading resources of a given type

type ResourceLocalBuildOptions added in v0.11.1

type ResourceLocalBuildOptions struct {

	// List options for composing a snapshot from a resource type
	ListOptions []client.ListOption

	// If provided, ensure the resource has been verified before adding it to snapshots
	Verifier verifier.ServerResourceVerifier
}

Options for reading resources of a given type

type ResourceRemoteBuildOptions added in v0.11.1

type ResourceRemoteBuildOptions struct {

	// List options for composing a snapshot from a resource type
	ListOptions []client.ListOption

	// If provided, ensure the resource has been verified before adding it to snapshots
	Verifier verifier.ServerResourceVerifier
}

Options for reading resources of a given type

type Snapshot

type Snapshot interface {

	// return the set of input Settings
	Settings() settings_mesh_gloo_solo_io_v1alpha2_sets.SettingsSet

	// return the set of input TrafficTargets
	TrafficTargets() discovery_mesh_gloo_solo_io_v1alpha2_sets.TrafficTargetSet
	// return the set of input Workloads
	Workloads() discovery_mesh_gloo_solo_io_v1alpha2_sets.WorkloadSet
	// return the set of input Meshes
	Meshes() discovery_mesh_gloo_solo_io_v1alpha2_sets.MeshSet

	// return the set of input TrafficPolicies
	TrafficPolicies() networking_mesh_gloo_solo_io_v1alpha2_sets.TrafficPolicySet
	// return the set of input AccessPolicies
	AccessPolicies() networking_mesh_gloo_solo_io_v1alpha2_sets.AccessPolicySet
	// return the set of input VirtualMeshes
	VirtualMeshes() networking_mesh_gloo_solo_io_v1alpha2_sets.VirtualMeshSet
	// return the set of input FailoverServices
	FailoverServices() networking_mesh_gloo_solo_io_v1alpha2_sets.FailoverServiceSet

	// return the set of input Secrets
	Secrets() v1_sets.SecretSet

	// return the set of input KubernetesClusters
	KubernetesClusters() multicluster_solo_io_v1alpha1_sets.KubernetesClusterSet
	// update the status of all input objects which support
	// the Status subresource (in the local cluster)
	SyncStatuses(ctx context.Context, c client.Client, opts SyncStatusOptions) error
	// serialize the entire snapshot as JSON
	MarshalJSON() ([]byte, error)
}

the snapshot of input resources consumed by translation

type SyncStatusOptions added in v0.10.8

type SyncStatusOptions struct {

	// sync status of Settings objects
	Settings bool

	// sync status of TrafficTarget objects
	TrafficTarget bool
	// sync status of Workload objects
	Workload bool
	// sync status of Mesh objects
	Mesh bool

	// sync status of TrafficPolicy objects
	TrafficPolicy bool
	// sync status of AccessPolicy objects
	AccessPolicy bool
	// sync status of VirtualMesh objects
	VirtualMesh bool
	// sync status of FailoverService objects
	FailoverService bool

	// sync status of Secret objects
	Secret bool

	// sync status of KubernetesCluster objects
	KubernetesCluster bool
}

options for syncing input object statuses

Directories

Path Synopsis
Package mock_input is a generated GoMock package.
Package mock_input is a generated GoMock package.

Jump to

Keyboard shortcuts

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