iamkeycontroller

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2022 License: BSD-3-Clause Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// KeyIDAnnotationKey is the annotation key where the IAMKey ID is stored.
	KeyIDAnnotationKey = "exoscale.crossplane.io/key-id"
	// BucketResourceType is the resource type bucket to which the IAMKey has access to.
	BucketResourceType = "bucket"
	//SOSResourceDomain is the resource domain to which the IAMKey has access to.
	SOSResourceDomain = "sos"
)

Variables

View Source
var IAMKeyAllowedOperations = []string{
	"abort-sos-multipart-upload",
	"delete-sos-object",
	"get-sos-bucket-acl",
	"get-sos-bucket-cors",
	"get-sos-bucket-location",
	"get-sos-object",
	"get-sos-object-acl",
	"get-sos-presigned-url",
	"list-sos-bucket",
	"list-sos-bucket-multipart-uploads",
	"put-sos-object",
	"put-sos-object-acl",
	"put-sos-bucket-acl",
	"put-sos-bucket-cors",
}

Functions

func SetupController

func SetupController(mgr ctrl.Manager) error

SetupController adds a controller that reconciles exoscalev1.IAMKey managed resources.

func SetupWebhook

func SetupWebhook(mgr ctrl.Manager) error

SetupWebhook adds a webhook for Bucket managed resources.

Types

type IAMKeyConnector

type IAMKeyConnector struct {
	Kube     client.Client
	Recorder event.Recorder
}

func (*IAMKeyConnector) Connect

Connect implements managed.ExternalConnecter.

type IAMKeyPipeline

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

IAMKeyPipeline provisions IAMKeys on exoscale.com

func NewPipeline

func NewPipeline(client client.Client, recorder event.Recorder, exoscaleClient *exoscalesdk.Client) *IAMKeyPipeline

NewPipeline returns a new instance of IAMKeyPipeline.

func (*IAMKeyPipeline) Create

Create implements managed.ExternalClient.

func (*IAMKeyPipeline) Delete

func (p *IAMKeyPipeline) Delete(ctx context.Context, mg resource.Managed) error

Delete implements managed.ExternalClient.

func (*IAMKeyPipeline) Observe

Observe implements managed.ExternalClient.

func (*IAMKeyPipeline) Update

Update implements managed.ExternalClient. exoscale.com does not allow any updates on IAM keys.

type IAMKeyValidator

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

IAMKeyValidator validates admission requests.

func (*IAMKeyValidator) ValidateCreate

func (v *IAMKeyValidator) ValidateCreate(_ context.Context, obj runtime.Object) error

ValidateCreate implements admission.CustomValidator.

func (*IAMKeyValidator) ValidateDelete

func (v *IAMKeyValidator) ValidateDelete(_ context.Context, obj runtime.Object) error

ValidateDelete implements admission.CustomValidator.

func (*IAMKeyValidator) ValidateUpdate

func (v *IAMKeyValidator) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) error

ValidateUpdate implements admission.CustomValidator.

Jump to

Keyboard shortcuts

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