Documentation
¶
Index ¶
- type HelmSPIREProviderFactory
- type ProviderFactory
- type SPIREAPI
- type SPIREAPIFactory
- type SPIREAPIFactoryImpl
- type SPIREAPIImpl
- type SpireHelm
- func (h *SpireHelm) AddSPIRERepository(ctx context.Context, statusCh chan<- *provisionpb.Status) error
- func (h *SpireHelm) ApplyPostInstallHelmConfig(ctx context.Context, ds datasource.DataSource, ...) error
- func (h *SpireHelm) Deploy(ctx context.Context, ds datasource.DataSource, kubeCfgFile string) (<-chan *provisionpb.Status, error)
- func (h *SpireHelm) GetBundleAndEndpoint(ctx context.Context, statusCh chan<- *provisionpb.Status, ...) error
- func (h *SpireHelm) InstallSPIREStack(ctx context.Context, ds datasource.DataSource, ...) error
- func (h *SpireHelm) ListTrustZoneClusters(ds datasource.DataSource) ([]TrustZoneCluster, error)
- func (h *SpireHelm) TearDown(ctx context.Context, ds datasource.DataSource, kubeCfgFile string) (<-chan *provisionpb.Status, error)
- func (h *SpireHelm) UninstallSPIREStack(ctx context.Context, ds datasource.DataSource, ...) error
- func (h *SpireHelm) Validate(_ context.Context) error
- func (h *SpireHelm) WatchAndConfigure(ctx context.Context, ds datasource.DataSource, ...) error
- type TrustZoneCluster
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
func (f *HelmSPIREProviderFactory) Build( ctx context.Context, ds datasource.DataSource, trustZone *trust_zone_proto.TrustZone, cluster *clusterpb.Cluster, genValues bool, ) (helm.Provider, error)
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.
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 (*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) 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.