# v1beta1 serving spec ```yaml= apiVersion: core.openfunction.io/v1beta1 kind: Function metadata: name: function-sample spec: version: "v1.0.0" image: <image> imageCredentials: name: push-secret serving: runtime: Async inputs: - name: kafka-bindings component: kafka-receiver type: bindings - name: kafka-pubsub component: autoscaling-subscriber type: pubsub outputs: - name: notify type: bindings component: notification-manager operation: "post" bindings: notification-manager: type: bindings.http version: v1 metadata: - name: url value: http://notification-manager-svc.kubesphere-monitoring-system.svc.cluster.local:19093/api/v2/alerts pubsub: annotations: dapr.io/log-level: "debug" components: autoscaling-subscriber: type: pubsub.kafka version: v1 metadata: - name: brokers value: "kafka-pubsub-server-kafka-brokers:9092" - name: authRequired value: "false" - name: allowedTopics value: "metric" - name: consumerID value: "autoscaling-subscriber" scaleOptions: minCount: 1 maxCount: 10 knative: min-scale: 1 max-scale: 3 initial-scale: 0 keda: scaledObject: pollingInterval: 15 minReplicaCount: 0 maxReplicaCount: 10 cooldownPeriod: 30 triggers: - type: kafka metadata: topic: logs bootstrapServers: kafka-logs-receiver-kafka-brokers.default.svc.cluster.local:9092 consumerGroup: logs-handler lagThreshold: "10" template: containers: - name: function imagePullPolicy: Always ```