apiVersion: serving.knative.dev/v1 kind: Service metadata: name: function-metadata namespace: file-transformer labels: app: file-transformer function: metadata spec: template: metadata: annotations: autoscaling.knative.dev/minScale: "0" autoscaling.knative.dev/maxScale: "10" autoscaling.knative.dev/target: "1" spec: containerConcurrency: 10 timeoutSeconds: 300 containers: - image: function-metadata:latest imagePullPolicy: IfNotPresent ports: - containerPort: 5000 env: - name: MINIO_ENDPOINT value: "minio-service:9000" - name: MINIO_ACCESS_KEY valueFrom: secretKeyRef: name: minio-secret key: access-key - name: MINIO_SECRET_KEY valueFrom: secretKeyRef: name: minio-secret key: secret-key - name: MINIO_BUCKET_NAME value: "file-transformer-bucket" - name: MINIO_USE_SSL value: "false" - name: POSTGRES_URL valueFrom: secretKeyRef: name: postgres-secret key: database-url resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" readinessProbe: httpGet: path: /health port: 5000 initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: path: /health port: 5000 initialDelaySeconds: 15 periodSeconds: 30 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: function-metadata-ingress namespace: file-transformer annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: rules: - host: metadata.file-transformer.local http: paths: - path: / pathType: Prefix backend: service: name: function-metadata port: number: 80