Knative - Functions

If you are using Knative as a provider, all functions inside the service are Knative Serving services.

Configuration

All of the functions in your serverless service can be found in serverless.yml under the functions property.

service: my-service

provider:
  name: knative

# you can overwrite defaults here
#  stage: dev

plugins:
  - serverless-knative

functions:
  functionOne:
    handler: function-one.dockerfile
    context: ./code
  functionTwo:
    handler: gcr.io/knative-releases/github.com/knative/eventing-contrib/cmd/event_display:latest

The handler property points either to the Dockerfile which describes the container image which should be used as a Knative Serving service or to a container image on a remote Container Registry.

You might also want to specify the build context if you're using a Dockerfile as your handler configuration. You can do this with the context configuration. The build context will default to the current working directory if you're not specifying a context configuration.

You can specify an array of functions, which is useful if you separate your functions in to different files:

# serverless.yml
functions:
  - ${file(./foo-functions.yml)}
  - ${file(./bar-functions.yml)}
# foo-functions.yml
fooOne:
  handler: fooOne.dockerfile
fooTwo:
  handler: fooTwo.dockerfile

Check out the Serverless Variables for all the details and options on how to make your configuration more dynamic.

Edit this page

Knative - Functions

If you are using Knative as a provider, all functions inside the service are Knative Serving services.

Configuration

All of the functions in your serverless service can be found in serverless.yml under the functions property.

service: my-service

provider:
  name: knative

# you can overwrite defaults here
#  stage: dev

plugins:
  - serverless-knative

functions:
  functionOne:
    handler: function-one.dockerfile
    context: ./code
  functionTwo:
    handler: gcr.io/knative-releases/github.com/knative/eventing-contrib/cmd/event_display:latest

The handler property points either to the Dockerfile which describes the container image which should be used as a Knative Serving service or to a container image on a remote Container Registry.

You might also want to specify the build context if you're using a Dockerfile as your handler configuration. You can do this with the context configuration. The build context will default to the current working directory if you're not specifying a context configuration.

You can specify an array of functions, which is useful if you separate your functions in to different files:

# serverless.yml
functions:
  - ${file(./foo-functions.yml)}
  - ${file(./bar-functions.yml)}
# foo-functions.yml
fooOne:
  handler: fooOne.dockerfile
fooTwo:
  handler: fooTwo.dockerfile

Check out the Serverless Variables for all the details and options on how to make your configuration more dynamic.