controllers

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 41 Imported by: 1

Documentation

Index

Constants

View Source
const (
	IAMAuthPolicyAnnotation      = "iam-auth-policy"
	IAMAuthPolicyAnnotationResId = k8s.AnnotationPrefix + IAMAuthPolicyAnnotation + "-resource-id"
	IAMAuthPolicyAnnotationType  = k8s.AnnotationPrefix + IAMAuthPolicyAnnotation + "-resource-type"
	IAMAuthPolicyFinalizer       = k8s.AnnotationPrefix + IAMAuthPolicyAnnotation
)
View Source
const (
	LatticeAssignedDomainName = "application-networking.k8s.aws/lattice-assigned-domain-name"
)

Variables

View Source
var (
	GroupNameError    = errors.New("wrong group name")
	KindError         = errors.New("target kind error")
	TargetRefNotFound = errors.New("targetRef not found")
	TargetRefConflict = errors.New("targetRef has conflict")
)
View Source
var (
	ErrValidation          = errors.New("validation")
	ErrParentRefsNotFound  = errors.New("parentRefs are not found")
	ErrRouteGKNotSupported = errors.New("route GroupKind is not supported")
)

Functions

func RegisterAccessLogPolicyController

func RegisterAccessLogPolicyController(
	log gwlog.Logger,
	cloud aws.Cloud,
	finalizerManager k8s.FinalizerManager,
	mgr ctrl.Manager,
) error

func RegisterAllRouteControllers

func RegisterAllRouteControllers(
	log gwlog.Logger,
	cloud aws.Cloud,
	finalizerManager k8s.FinalizerManager,
	mgr ctrl.Manager,
) error

func RegisterGatewayClassController

func RegisterGatewayClassController(log gwlog.Logger, mgr ctrl.Manager) error

func RegisterGatewayController

func RegisterGatewayController(
	log gwlog.Logger,
	cloud aws.Cloud,
	finalizerManager k8s.FinalizerManager,
	mgr ctrl.Manager,
) error

func RegisterIAMAuthPolicyController

func RegisterIAMAuthPolicyController(log gwlog.Logger, mgr ctrl.Manager, cloud pkg_aws.Cloud) error

func RegisterPodController

func RegisterPodController(log gwlog.Logger, mgr ctrl.Manager) error

func RegisterServiceController

func RegisterServiceController(
	log gwlog.Logger,
	cloud aws.Cloud,
	finalizerManager k8s.FinalizerManager,
	mgr ctrl.Manager,
) error

func RegisterServiceExportController

func RegisterServiceExportController(
	log gwlog.Logger,
	cloud aws.Cloud,
	finalizerManager k8s.FinalizerManager,
	mgr ctrl.Manager,
) error

func RegisterServiceImportController

func RegisterServiceImportController(
	log gwlog.Logger,
	mgr ctrl.Manager,
	finalizerManager k8s.FinalizerManager,
) error

func RegisterTargetGroupPolicyController

func RegisterTargetGroupPolicyController(log gwlog.Logger, mgr ctrl.Manager) error

func RegisterVpcAssociationPolicyController

func RegisterVpcAssociationPolicyController(log gwlog.Logger, cloud pkg_aws.Cloud, finalizerManager k8s.FinalizerManager, mgr ctrl.Manager) error

func UpdateGWListenerStatus

func UpdateGWListenerStatus(ctx context.Context, k8sClient client.Client, gw *gwv1beta1.Gateway) error

Types

type IAMAuthPolicyController

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

func (*IAMAuthPolicyController) Reconcile

func (c *IAMAuthPolicyController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

Reconciles IAMAuthPolicy CRD.

IAMAuthPolicy has a plain text policy field and targetRef.Content of policy is not validated by controller, but Lattice API.

TargetRef Kind can be Gatbeway, HTTPRoute, or GRPCRoute. Other Kinds will result in Invalid status. Policy can be attached to single targetRef only. Attempt to attach more than 1 policy will result in Policy Conflict. If policies created in sequence, the first one will be in Accepted status, and second in Conflict. Any following updates to accepted policy will put it into conflicting status, and requires manual resolution - delete conflicting policy.

Lattice side. Gateway attaches to Lattice ServiceNetwork, and HTTP/GRPCRoute to Service. Policy attachment changes ServiceNetowrk and Service auth-type to IAM, and detachment to NONE. Successful creation of lattice policy updates k8s policy annotation with ARN/Id of Lattice Resouce

Policy Attachment Spec is defined in [GEP-713]: https://gateway-api.sigs.k8s.io/geps/gep-713/.

type IAP

type TargetGroupPolicyController

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

func (*TargetGroupPolicyController) Reconcile

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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