apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 labels: group: fission.io name: httptriggers.fission.io spec: group: fission.io names: kind: HTTPTrigger listKind: HTTPTriggerList plural: httptriggers singular: httptrigger scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: description: HTTPTrigger is the trigger invokes user functions when receiving HTTP requests. properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: HTTPTriggerSpec is for router to expose user functions at the given URL path. properties: createingress: description: If CreateIngress is true, router will create an ingress definition. type: boolean functionref: description: FunctionReference is a reference to the target function. properties: functionweights: additionalProperties: type: integer description: |- Function Reference by weight. this map contains function name as key and its weight as the value. This is for canary upgrade purpose. nullable: true type: object name: description: Name of the function. type: string type: description: |- Type indicates whether this function reference is by name or selector. For now, the only supported reference type is by "name". Future reference types: * Function by label or annotation * Branch or tag of a versioned function * A "rolling upgrade" from one version of a function to another Available value: - name - function-weights type: string required: - name - type type: object host: description: |- TODO: remove this field since we have IngressConfig already Deprecated: the original idea of this field is not for setting Ingress. Since we have IngressConfig now, remove Host after couple releases. type: string ingressconfig: description: |- TODO: make IngressConfig an independent Fission resource IngressConfig for router to set up Ingress. properties: annotations: additionalProperties: type: string description: Annotations will be added to metadata when creating Ingress. nullable: true type: object host: description: |- Host is for ingress controller to apply rules. If host is empty or "*", the rule applies to all inbound HTTP traffic. type: string path: description: |- Path is for path matching. The format of path depends on what ingress controller you used. type: string tls: description: |- TLS is for user to specify a Secret that contains TLS key and certificate. The domain name in the key and crt must match the value of Host field. type: string type: object keepPrefix: description: |- When function is exposed with Prefix based path, keepPrefix decides whether to keep or trim prefix in URL while invoking function. type: boolean method: description: |- Use Methods instead of Method. This field is going to be deprecated in a future release HTTP method to access a function. type: string methods: description: HTTP methods to access a function items: type: string type: array prefix: description: |- Prefix with which functions are exposed. NOTE: Prefix takes precedence over URL/RelativeURL. Note that it does not treat slashes specially ("/foobar/" will be matched by the prefix "/foobar"). type: string relativeurl: description: RelativeURL is the exposed URL for external client to access a function with. type: string required: - functionref type: object required: - metadata - spec type: object served: true storage: true subresources: status: {}