stress-test/olaris-stress/setup/kubernetes/whisk.yaml (115 lines of code) (raw):
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
apiVersion: nuvolaris.org/v1
kind: Whisk
metadata:
name: controller
namespace: nuvolaris
spec:
nuvolaris:
password: $SECRET_NUVOLARIS_METADATA
kube: ${NUVOLARIS_KUBE:-auto}
apihost: ${NUVOLARIS_APIHOST}
storageclass: ${NUVOLARIS_STORAGECLASS:-auto}
provisioner: ${NUVOLARIS_PROVISIONER:-auto}
ingressclass: ${NUVOLARIS_INGRESSCLASS:-auto}
ingresslb: ${NUVOLARIS_INGRESSLB:-auto}
protocol: ${NUVOLARIS_HOST_PROTOCOL:-auto}
controller:
image: "$IMAGES_CONTROLLER"
components:
# start openwhisk controller
openwhisk: true
# start openwhisk invoker
invoker: false
# start couchdb
couchdb: true
# start kafka
kafka: false
# start mongodb
mongodb: ${NUVOLARIS_MONGODB}
# start redis
redis: ${NUVOLARIS_REDIS}
# start cron based action parser
cron: ${NUVOLARIS_CRON}
# enable TLS
tls: ${NUVOLARIS_TLS}
# minio enabled or not
minio: ${NUVOLARIS_MINIO}
# minio static enabled or not
static: ${NUVOLARIS_STATIC}
# postgres enabled or not
postgres: ${NUVOLARIS_POSTGRES}
tls:
acme-registered-email: ${NUVOLARIS_TLSEMAIL}
acme-server-url: https://acme-v02.api.letsencrypt.org/directory
openwhisk:
namespaces:
whisk-system: $SECRET_OPENWHISK_SYSTEM
nuvolaris: $SECRET_OPENWHISK_NUVOLARIS
couchdb:
host: couchdb
volume-size: 10
admin:
user: whisk_admin
password: $SECRET_COUCHDB_ADMIN
controller:
user: invoker_admin
password: $SECRET_COUCHDB_INVOKER
invoker:
user: controller_admin
password: $SECRET_COUCHDB_CONTROLLER
kafka:
host: kafka
volume-size: 10
scheduler:
schedule: "* * * * *"
configs:
limits:
activations:
max_allowed_payload: ${OPENWHISK_ACTIVATION_MAX_ALLOWED_PAYLOAD:-1048576}
actions:
sequence-maxLength: 50
invokes-perMinute: 999
invokes-concurrent: 250
triggers:
fires-perMinute: 999
time:
limit-min: "${OPENWHISK_TIME_LIMIT_MIN:-100ms}"
limit-std: "${OPENWHISK_TIME_LIMIT_STD:-1min}"
limit-max: "${OPENWHISK_TIME_LIMIT_STD:-5min}"
controller:
javaOpts: "$OPENWHISK_CONTROLLER_JAVA_OPTS"
loggingLevel: "INFO"
resources:
cpu-req: "500m"
cpu-lim: "1"
mem-req: "$OPENWHISK_CONTROLLER_RES_MIN_MEM"
mem-lim: "$OPENWHISK_CONTROLLER_RES_MAX_MEM"
invoker:
loggingLevel: "INFO"
containerPool:
userMemory: "$OPENWHISK_CONTROLLER_CONTAINER_POOL_MEMORY"
redis:
persistence-enabled: ${REDIS_PERSISTENCE_ENABLED:-true}
max-memory: ${REDIS_MAX_MEMORY:-1000mb}
volume-size: 10
default:
password: $SECRET_REDIS_DEFAULT
nuvolaris:
prefix: nuvolaris
password: $SECRET_REDIS_NUVOLARIS
mongodb:
host: mongodb
volume-size: 10
admin:
user: whisk_admin
password: $SECRET_MONGODB_ADMIN
nuvolaris:
user: nuvolaris
password: $SECRET_MONGODB_NUVOLARIS
exposedExternally: False
useOperator: False
minio:
volume-size: 2
admin:
user: minioadmin
password: $SECRET_MINIO_ADMIN
nuvolaris:
user: nuvolaris
password: $SECRET_MINIO_NUVOLARIS
postgres:
volume-size: 5
replicas: 2
admin:
password: $SECRET_POSTGRES_ADMIN
replica-password: $SECRET_POSTGRES_REPLICA
nuvolaris:
password: $SECRET_POSTGRES_NUVOLARIS