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 ¶
- type BaseComponent
- type CNIComponent
- type CommonComponentFields
- type EgressComponent
- type IngressComponent
- type IstioComponent
- type IstioComponentBase
- func (c *IstioComponentBase) ComponentName() name.ComponentName
- func (c *IstioComponentBase) Enabled() bool
- func (c *IstioComponentBase) Namespace() string
- func (c *IstioComponentBase) RenderManifest() (string, error)
- func (c *IstioComponentBase) ResourceName() string
- func (c *IstioComponentBase) Run() error
- type IstiodRemoteComponent
- type Options
- type PilotComponent
- type ZtunnelComponent
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.