Documentation
¶
Index ¶
- Constants
- func HealthzHandler() func(w http.ResponseWriter, r *http.Request)
- func Process(path string, kubeContext string) error
- func WebhookHandler() func(w http.ResponseWriter, r *http.Request)
- type CloudEndpoint
- type CloudEndpointConfigMapSpec
- type CloudEndpointControllerRequestChildren
- type CloudEndpointControllerState
- type CloudEndpointControllerStatus
- type CloudEndpointSpec
- type CloudEndpointTargetIngressSpec
- type Config
- type SyncRequest
- type SyncResponse
Constants ¶
const ( //StateIdle means there are no more changes pending StateIdle = "IDLE" //StateEndpointCreatePending means the endpoint is pending creation StateEndpointCreatePending = "ENDPOINT_CREATE_PENDING" //StateEndpointSubmitPending means the endpoint is pending submission StateEndpointSubmitPending = "ENDPOINT_SUBMIT_PENDING" //StateEndpointRolloutPending means the endpoint is pending rollout StateEndpointRolloutPending = "ENDPOINT_ROLLOUT_PENDING" // Pending Rollout Kind = "CloudEndpoint" )
Variables ¶
This section is empty.
Functions ¶
func HealthzHandler ¶
func HealthzHandler() func(w http.ResponseWriter, r *http.Request)
func Process ¶
Process process the path containing a CloudEndpoints resource This is intended as the entrypoint when running in CLI mode.
func WebhookHandler ¶
func WebhookHandler() func(w http.ResponseWriter, r *http.Request)
Types ¶
type CloudEndpoint ¶
type CloudEndpoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CloudEndpointSpec `json:"spec,omitempty"`
Status CloudEndpointControllerStatus `json:"status"`
}
CloudEndpoint is the custom resource definition structure.
type CloudEndpointConfigMapSpec ¶
CloudEndpointConfigMapSpec is the subspec for CloudEndpointSpec that contains a reference to a configMap containing the Open API spec
type CloudEndpointControllerRequestChildren ¶
type CloudEndpointControllerRequestChildren struct {
}
CloudEndpointControllerRequestChildren is the children definition passed by the CompositeController request for the CloudEndpoint controller.
type CloudEndpointControllerState ¶
type CloudEndpointControllerState string
CloudEndpointControllerState represents the string mapping of the possible controller states. See the const definition below for enumerated states.
type CloudEndpointControllerStatus ¶
type CloudEndpointControllerStatus struct {
LastAppliedSig string `json:"lastAppliedSig"`
StateCurrent string `json:"stateCurrent"`
ConfigSubmit string `json:"configSubmit,omitempty"`
ServiceRollout string `json:"serviceRollout,omitempty"`
Endpoint string `json:"endpoint"`
Config string `json:"config"`
IngressIP string `json:"ingressIP"`
JWTAudiences []string `json:"jwtAudiences"`
ConfigMapHash string `json:"configMapHash"`
}
CloudEndpointControllerStatus is the status structure for the custom resource
type CloudEndpointSpec ¶
type CloudEndpointSpec struct {
Project string `json:"project,omitempty"`
Target string `json:"target,omitempty"`
TargetIngress CloudEndpointTargetIngressSpec `json:"targetIngress,omitempty"`
OpenAPISpec string `json:"openAPISpec,omitempty"`
OpenAPISpecConfigMap CloudEndpointConfigMapSpec `json:"openAPISpecConfigMap"`
}
CloudEndpointSpec mirrors the IngressSpec with added IAPProjectAuthz spec and a custom Rules spec.
type CloudEndpointTargetIngressSpec ¶
type CloudEndpointTargetIngressSpec struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
JWTServices []string `json:"jwtServices,omitempty"`
}
CloudEndpointTargetIngressSpec is the format for the targetIngress spec
type Config ¶
Config is the configuration structure used by the LambdaController
var (
ControllerConfig Config
)
TODO(jlewi): Do we really want globals?
func (*Config) LoadAndValidateCLIConfig ¶
LoadAndValidateCLIConfig initializes the config when running as a CLI
func (*Config) LoadAndValidateControllerConfig ¶
LoadAndValidateControllerConfig initializes the config when running in cluster as a metacontroller
type SyncRequest ¶
type SyncRequest struct {
Parent CloudEndpoint `json:"parent"`
Children CloudEndpointControllerRequestChildren `json:"children"`
}
SyncRequest describes the payload from the CompositeController hook
type SyncResponse ¶
type SyncResponse struct {
Status CloudEndpointControllerStatus `json:"status"`
Children []interface{} `json:"children"`
}
SyncResponse is the CompositeController response structure.