spirehelm

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HelmSPIREProviderFactory added in v0.5.0

type HelmSPIREProviderFactory struct{}

HelmSPIREProviderFactory implements the ProviderFactory interface, building a HelmSPIREProvider using the default values generator.

func (*HelmSPIREProviderFactory) Build added in v0.5.0

type ProviderFactory added in v0.5.0

type ProviderFactory interface {
	// Build returns a helm.Provider configured with values for an install/upgrade.
	Build(
		ctx context.Context,
		ds datasource.DataSource,
		trustZone *trust_zone_proto.TrustZone,
		cluster *clusterpb.Cluster,
		genValues bool,
	) (helm.Provider, error)
}

ProviderFactory is an interface that abstracts the construction of helm.Provider objects.

type SPIREAPI added in v0.6.1

type SPIREAPI interface {
	// WaitForServerIP waits for a SPIRE server pod and service to become ready, then returns the external IP of the service.
	WaitForServerIP(ctx context.Context) (string, error)

	// GetBundle retrieves a SPIFFE bundle for the local trust zone.
	GetBundle(ctx context.Context) (*spiretypes.Bundle, error)
}

SPIREAPI is an interface that abstracts a subset of the SPIRE server API for use by the SpireHelm plugin.

type SPIREAPIFactory added in v0.6.1

type SPIREAPIFactory interface {
	// Build returns a SPIREAPI.
	Build(kubeCfgFile, kubeContext string) (SPIREAPI, error)
}

SPIREAPIFactory is an interface that abstracts the construction of SPIREAPI objects.

type SPIREAPIFactoryImpl added in v0.6.1

type SPIREAPIFactoryImpl struct{}

SPIREAPIFactoryImpl implements the SPIREAPIFactory interface, building a SPIREAPIImpl.

func (*SPIREAPIFactoryImpl) Build added in v0.6.1

func (f *SPIREAPIFactoryImpl) Build(kubeCfgFile, kubeContext string) (SPIREAPI, error)

type SPIREAPIImpl added in v0.6.1

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

SPIREAPIImpl implements the SPIREAPI interface using the Kubernetes API to interact with a SPIRE server.

func (*SPIREAPIImpl) GetBundle added in v0.6.1

func (s *SPIREAPIImpl) GetBundle(ctx context.Context) (*spiretypes.Bundle, error)

func (*SPIREAPIImpl) WaitForServerIP added in v0.6.1

func (s *SPIREAPIImpl) WaitForServerIP(ctx context.Context) (string, error)

type SpireHelm

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

SpireHelm implements the `Provision` interface by deploying a SPIRE cluster using the SPIRE Helm charts.

func NewSpireHelm

func NewSpireHelm(providerFactory ProviderFactory, spireAPIFactory SPIREAPIFactory) *SpireHelm

func (*SpireHelm) AddSPIRERepository added in v0.5.0

func (h *SpireHelm) AddSPIRERepository(ctx context.Context, statusCh chan<- *provisionpb.Status) error

func (*SpireHelm) ApplyPostInstallHelmConfig added in v0.5.0

func (h *SpireHelm) ApplyPostInstallHelmConfig(ctx context.Context, ds datasource.DataSource, trustZoneClusters []TrustZoneCluster, statusCh chan<- *provisionpb.Status) error

func (*SpireHelm) Deploy

func (h *SpireHelm) Deploy(ctx context.Context, ds datasource.DataSource, kubeCfgFile string) (<-chan *provisionpb.Status, error)

func (*SpireHelm) GetBundleAndEndpoint added in v0.5.0

func (h *SpireHelm) GetBundleAndEndpoint(
	ctx context.Context,
	statusCh chan<- *provisionpb.Status,
	ds datasource.DataSource,
	trustZone *trust_zone_proto.TrustZone,
	cluster *clusterpb.Cluster,
	kubeCfgFile string,
) error

func (*SpireHelm) InstallSPIREStack added in v0.5.0

func (h *SpireHelm) InstallSPIREStack(ctx context.Context, ds datasource.DataSource, trustZoneClusters []TrustZoneCluster, statusCh chan<- *provisionpb.Status) error

func (*SpireHelm) ListTrustZoneClusters added in v0.7.1

func (h *SpireHelm) ListTrustZoneClusters(ds datasource.DataSource) ([]TrustZoneCluster, error)

ListTrustZoneClusters returns a slice of TrustZoneClusters. If no trust zones exist, it returns an error.

func (*SpireHelm) TearDown

func (h *SpireHelm) TearDown(ctx context.Context, ds datasource.DataSource, kubeCfgFile string) (<-chan *provisionpb.Status, error)

func (*SpireHelm) UninstallSPIREStack added in v0.5.0

func (h *SpireHelm) UninstallSPIREStack(ctx context.Context, ds datasource.DataSource, trustZoneClusters []TrustZoneCluster, statusCh chan<- *provisionpb.Status) error

func (*SpireHelm) Validate added in v0.5.0

func (h *SpireHelm) Validate(_ context.Context) error

func (*SpireHelm) WatchAndConfigure added in v0.5.0

func (h *SpireHelm) WatchAndConfigure(ctx context.Context, ds datasource.DataSource, trustZoneClusters []TrustZoneCluster, kubeCfgFile string, statusCh chan<- *provisionpb.Status) error

type TrustZoneCluster added in v0.7.1

type TrustZoneCluster struct {
	TrustZone *trust_zone_proto.TrustZone
	Cluster   *clusterpb.Cluster
}

TrustZoneCluster provides a container for a trust zone and a cluster associated with it.

Jump to

Keyboard shortcuts

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