component

package
v0.0.0-...-5e5ceee Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package component defines an in-memory representation of IstioOperator.<Feature>.<Component>. It provides functions for manipulating the component and rendering a manifest from it. See ../README.md for an architecture overview.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseComponent

type BaseComponent struct {
	*IstioComponentBase
}

BaseComponent is the base component.

func NewCRDComponent

func NewCRDComponent(opts *Options) *BaseComponent

NewCRDComponent creates a new BaseComponent and returns a pointer to it.

type CNIComponent

type CNIComponent struct {
	*IstioComponentBase
}

func NewCNIComponent

func NewCNIComponent(opts *Options) *CNIComponent

NewCNIComponent creates a new NewCNIComponent and returns a pointer to it.

type CommonComponentFields

type CommonComponentFields struct {
	*Options
	ComponentName name.ComponentName
	// resourceName is the name of all resources for this component.
	ResourceName string
	// contains filtered or unexported fields
}

CommonComponentFields is a struct common to all components.

type EgressComponent

type EgressComponent struct {
	*IstioComponentBase
}

EgressComponent is the egress gateway component.

func NewEgressComponent

func NewEgressComponent(resourceName string, index int, spec *v1alpha1.GatewaySpec, opts *Options) *EgressComponent

NewEgressComponent creates a new IngressComponent and returns a pointer to it.

type IngressComponent

type IngressComponent struct {
	*IstioComponentBase
}

IngressComponent is the ingress gateway component.

func NewIngressComponent

func NewIngressComponent(resourceName string, index int, spec *v1alpha1.GatewaySpec, opts *Options) *IngressComponent

NewIngressComponent creates a new IngressComponent and returns a pointer to it.

type IstioComponent

type IstioComponent interface {
	// ComponentName returns the name of the component.
	ComponentName() name.ComponentName
	// ResourceName returns the name of the resources of the component.
	ResourceName() string
	// Namespace returns the namespace for the component.
	Namespace() string
	// Enabled reports whether the component is enabled.
	Enabled() bool
	// Run starts the component. Must be called before the component is used.
	Run() error
	// RenderManifest returns a string with the rendered manifest for the component.
	RenderManifest() (string, error)
}

IstioComponent defines the interface for a component.

func NewCoreComponent

func NewCoreComponent(cn name.ComponentName, opts *Options) IstioComponent

NewCoreComponent creates a new IstioComponent with the given componentName and options.

type IstioComponentBase

type IstioComponentBase struct {
	*CommonComponentFields
}

func (*IstioComponentBase) ComponentName

func (c *IstioComponentBase) ComponentName() name.ComponentName

func (*IstioComponentBase) Enabled

func (c *IstioComponentBase) Enabled() bool

func (*IstioComponentBase) Namespace

func (c *IstioComponentBase) Namespace() string

func (*IstioComponentBase) RenderManifest

func (c *IstioComponentBase) RenderManifest() (string, error)

func (*IstioComponentBase) ResourceName

func (c *IstioComponentBase) ResourceName() string

func (*IstioComponentBase) Run

func (c *IstioComponentBase) Run() error

type IstiodRemoteComponent

type IstiodRemoteComponent struct {
	*IstioComponentBase
}

IstiodRemoteComponent is the istiod remote component.

func NewIstiodRemoteComponent

func NewIstiodRemoteComponent(opts *Options) *IstiodRemoteComponent

NewIstiodRemoteComponent creates a new NewIstiodRemoteComponent and returns a pointer to it.

type Options

type Options struct {
	// installSpec is the global IstioOperatorSpec.
	InstallSpec *v1alpha1.IstioOperatorSpec
	// translator is the translator for this component.
	Translator *translate.Translator
	// Namespace is the namespace for this component.
	Namespace string
	// Filter is the filenames to render
	Filter sets.String
	// Version is the Kubernetes version information.
	Version *version.Info
}

Options defines options for a component.

type PilotComponent

type PilotComponent struct {
	*IstioComponentBase
}

PilotComponent is the pilot component.

func NewPilotComponent

func NewPilotComponent(opts *Options) *PilotComponent

NewPilotComponent creates a new PilotComponent and returns a pointer to it.

type ZtunnelComponent

type ZtunnelComponent struct {
	*IstioComponentBase
}

ZtunnelComponent is the istio ztunnel component.

func NewZtunnelComponent

func NewZtunnelComponent(opts *Options) *ZtunnelComponent

NewZtunnelComponent creates a new ZtunnelComponent and returns a pointer to it.

Jump to

Keyboard shortcuts

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