From 226b9848f2bb0c9e58be3b88ec5e5860c7d838b8 Mon Sep 17 00:00:00 2001 From: Michele Sciabarra Date: Tue, 1 Sep 2026 20:21:08 +0200 Subject: [PATCH] rebranding --- .env.sample | 2 +- .github/kind.yaml | 2 +- .github/workflows/check.yml | 2 +- .github/workflows/image.yml | 2 +- .gitignore | 2 +- DESIGN.md | 6 +- Dockerfile | 124 ++--- OPERATOR.md | 28 +- Taskfile.yml | 56 +- TaskfileBuild.yml | 2 +- TaskfileDev.yml | 14 +- TaskfileOlaris.yml | 4 +- TaskfileTest.yml | 52 +- actions/Taskfile.yml | 68 +-- actions/common/authorize.py | 16 +- actions/devel/download/common/authorize.py | 16 +- .../{nuvolaris => openserverless}/config.py | 50 +- .../openserverless}/couchdb_util.py | 4 +- actions/devel/ferretdb/__main__.py | 2 +- actions/devel/ferretdb/common/authorize.py | 16 +- .../openserverless}/config.py | 50 +- .../openserverless}/couchdb_util.py | 4 +- actions/devel/minio/common/authorize.py | 16 +- .../openserverless}/config.py | 50 +- .../openserverless}/couchdb_util.py | 4 +- actions/devel/psql/common/authorize.py | 16 +- .../{nuvolaris => openserverless}/config.py | 50 +- .../openserverless}/couchdb_util.py | 4 +- actions/devel/redis/__main__.py | 2 +- actions/devel/redis/common/authorize.py | 16 +- actions/devel/redis/nuvolaris/config.py | 262 ---------- actions/devel/redis/nuvolaris/couchdb_util.py | 170 ------- actions/devel/redis/openserverless/config.py | 262 ++++++++++ .../redis/openserverless/couchdb_util.py | 170 +++++++ actions/devel/upload/common/authorize.py | 16 +- actions/devel/upload/nuvolaris/config.py | 262 ---------- .../devel/upload/nuvolaris/couchdb_util.py | 170 ------- actions/devel/upload/openserverless/config.py | 262 ++++++++++ .../upload/openserverless/couchdb_util.py | 170 +++++++ actions/github/callback/__main__.py | 12 +- actions/github/common/github_client.py | 4 +- .../github/common/html_response_generator.py | 8 +- actions/github/common/kube_api_client.py | 18 +- actions/github/common/whisk_user_generator.py | 4 +- actions/github/webhook/__main__.py | 2 +- actions/login/__main__.py | 12 +- actions/secrets/__main__.py | 10 +- actions/secrets/user_metadata.py | 4 +- actions/system.yml | 32 +- clusters/aks.yml | 2 +- clusters/eks-cluster.yml | 2 +- clusters/eks.yml | 8 +- clusters/kind.yml | 2 +- clusters/lks.yml | 2 +- clusters/microk8s.yml | 2 +- clusters/openshift-aggregate.yaml | 8 +- clusters/openshift-user.yaml | 6 +- clusters/openshift.yml | 8 +- demos/devel/mdb_insert.json | 4 +- demos/devel/minio_cp.json | 4 +- demos/devel/minio_ls.json | 2 +- demos/devel/minio_mv.json | 4 +- demos/devel/minio_rm.json | 2 +- demos/devel/psql_create2.json | 2 +- demos/devel/psql_create3.json | 2 +- demos/devel/psql_desc.json | 2 +- demos/devel/psql_select.json | 2 +- demos/devel/redis_get.json | 2 +- demos/devel/redis_set.json | 2 +- demos/milvus/milvus_admin_test.py | 4 +- deploy/Taskfile.yml | 6 +- deploy/alert-manager/alertmanager-02-cm.yaml | 10 +- deploy/alert-manager/alertmanager-03-dep.yaml | 20 +- deploy/alert-manager/alertmanager-04-svc.yaml | 8 +- deploy/apisix/apisix-cm.yaml | 4 +- deploy/apisix/apisix-dep.yaml | 4 +- deploy/apisix/apisix-svc.yaml | 4 +- deploy/couchdb/couchdb-svc.yaml | 8 +- deploy/cuda/cuda.yaml | 4 +- deploy/demos/devel/mdb_insert.json | 4 +- deploy/demos/devel/minio_cp.json | 4 +- deploy/demos/devel/minio_ls.json | 2 +- deploy/demos/devel/minio_mv.json | 4 +- deploy/demos/devel/minio_rm.json | 2 +- deploy/demos/devel/psql_create2.json | 2 +- deploy/demos/devel/psql_create3.json | 2 +- deploy/demos/devel/psql_desc.json | 2 +- deploy/demos/devel/psql_select.json | 2 +- deploy/demos/devel/redis_get.json | 2 +- deploy/demos/devel/redis_set.json | 2 +- deploy/demos/reference/milvus_manifest.yaml | 480 +++++++++--------- deploy/etcd/etcd-jwt-secret.yaml | 6 +- deploy/etcd/etcd-secret.yaml | 6 +- deploy/etcd/etcd-sts.yaml | 38 +- deploy/etcd/etcd-svc.yaml | 16 +- deploy/ferretdb/ferretdb-sts.yaml | 16 +- deploy/ferretdb/ferretdb-svc.yaml | 8 +- deploy/issuer/cluster-issuer.yaml | 2 +- deploy/kafka/kafka-000-pvc.yaml | 2 +- deploy/kafka/kafka-001-sts.yaml | 2 +- deploy/kvrocks/kvrocks-pvc.yaml | 2 +- deploy/kvrocks/kvrocks-sts.yaml | 4 +- deploy/kvrocks/kvrocks-svc.yaml | 2 +- .../milvus-operator/milvus-operator-dep.yaml | 8 +- .../milvus-operator/milvus-operator-svc.yaml | 4 +- deploy/milvus-slim/milvus-cfg-deps.yaml | 2 +- deploy/milvus-slim/milvus-cfg-slim-base.yaml | 8 +- deploy/milvus-slim/milvus-etcd-secret.yaml | 4 +- deploy/milvus-slim/milvus-pvc.yaml | 6 +- deploy/milvus-slim/milvus-s3-secret.yaml | 4 +- deploy/milvus-slim/milvus-svc.yaml | 8 +- deploy/milvus-slim/milvus.yaml | 18 +- deploy/milvus/milvus-cfg-base.yaml | 10 +- deploy/milvus/milvus-cfg-deps.yaml | 58 +-- deploy/milvus/milvus-etcd-secret.yaml | 4 +- deploy/milvus/milvus-init-jobs.yaml | 44 +- deploy/milvus/milvus-pulsar.yaml | 130 ++--- deploy/milvus/milvus-pvc.yaml | 24 +- deploy/milvus/milvus-s3-secret.yaml | 4 +- deploy/milvus/milvus-svc.yaml | 48 +- deploy/milvus/milvus-zookeeper.yaml | 30 +- deploy/milvus/milvus.yaml | 18 +- deploy/minio/00-minio-pvc.yaml | 2 +- deploy/minio/01-minio-dep.yaml | 4 +- deploy/minio/02-minio-svc.yaml | 2 +- ....yaml => mongodb-auth-openserverless.yaml} | 6 +- .../mongodb-operator-deploy/mongodb-auth.yaml | 2 +- .../mongodb-operator-deploy/mongodb-svc.yaml | 6 +- deploy/mongodb-operator-deploy/mongodb.yaml | 16 +- deploy/mongodb-operator/mongodb-operator.yaml | 2 +- deploy/mongodb-operator/mongodb-rbac.yaml | 10 +- deploy/mongodb-standalone/mongodb-auth.yaml | 2 +- deploy/mongodb-standalone/mongodb-cm.yaml | 10 +- deploy/mongodb-standalone/mongodb-pvc.yaml | 2 +- deploy/mongodb-standalone/mongodb-sts.yaml | 12 +- deploy/mongodb-standalone/mongodb-svc.yaml | 8 +- deploy/monitoring/kubestate-03-dep.yaml | 24 +- deploy/monitoring/kubestate-04-svc.yaml | 8 +- deploy/monitoring/prometheus-02-cm.yaml | 22 +- deploy/monitoring/prometheus-03-dep.yaml | 20 +- deploy/monitoring/prometheus-04-svc.yaml | 8 +- deploy/nginx-static/nginx-static-cm.yaml | 6 +- deploy/nginx-static/nginx-static-service.yaml | 6 +- deploy/nginx-static/nginx-static-sts.yaml | 16 +- .../operator-pod.yaml | 12 +- .../whisk.yaml | 10 +- .../kubegres-crd.yaml | 0 .../openserverless-common.yaml} | 10 +- .../openserverless-kubegres-common.yaml} | 2 +- .../openserverless-kubegres-roles.yaml} | 8 +- ...penserverless-milvus-operator-common.yaml} | 4 +- .../openserverless-milvus-operator-crd.yaml} | 0 ...openserverless-milvus-operator-roles.yaml} | 12 +- .../openserverless-monitoring-00-sa.yaml} | 18 +- .../openserverless-monitoring-01-roles.yaml} | 22 +- .../openserverless-quota-common.yaml} | 6 +- .../openserverless-quota-roles.yaml} | 20 +- .../openserverless-wsku-common.yaml} | 6 +- .../openserverless-wsku-roles.yaml} | 26 +- .../openwhisk-core-roles.yaml | 12 +- .../openwhisk-core-sa.yaml | 6 +- .../openwhisk-invoker-sa.yaml | 8 +- .../openwhisk-runtimes-cm.yaml | 6 +- .../operator-clusterroles.yaml | 16 +- .../operator-roles.yaml | 22 +- .../whisk-crd.yaml | 74 +-- .../whisk-user-crd.yaml | 8 +- .../workflows-crd.yaml | 4 +- .../operator-ingress-rbac.yaml | 14 +- .../openwhisk-enterprise/enterprise-np.yaml | 2 +- .../openwhisk-enterprise/enterprise-sts.yaml | 8 +- deploy/openwhisk-invoker/invoker-conf.yaml | 2 +- deploy/openwhisk-invoker/invoker-sts.yaml | 14 +- .../openwhisk-standalone/standalone-conf.yaml | 2 +- .../openwhisk-standalone/standalone-ip.yaml | 2 +- .../openwhisk-standalone/standalone-np.yaml | 4 +- .../openwhisk-standalone/standalone-sts.yaml | 14 +- .../postgres-backup/postgres-backup-conf.yaml | 2 +- .../postgres-backup/postgres-backup-sts.yaml | 34 +- .../postgres-auth.yaml | 6 +- .../postgres-conf.yaml | 14 +- deploy/postgres-operator-deploy/postgres.yaml | 16 +- .../postgres-operator/kubegres-operator.yaml | 8 +- deploy/qdrant/qdrant-cm.yaml | 8 +- deploy/qdrant/qdrant-sts.yaml | 18 +- deploy/qdrant/qdrant-svc.yaml | 12 +- deploy/quota/quota_checker.yaml | 8 +- deploy/redis/_redis-cm.yaml | 2 +- deploy/redis/redis-set.yaml | 4 +- deploy/redis/redis-svc.yaml | 2 +- .../registry/00-registry-secret-docker.yaml | 2 +- deploy/registry/00-registry-secret.yaml | 2 +- deploy/registry/01-registry-pvc.yaml | 2 +- deploy/registry/02-registry-sts.yaml | 4 +- deploy/registry/03-registry-svc.yaml | 4 +- deploy/runtimes/runtimes-preload.yaml | 2 +- deploy/scheduler/cron.yaml | 2 +- deploy/seaweedfs/seaweedfs-pvc.yaml | 2 +- deploy/seaweedfs/seaweedfs-sts.yaml | 2 +- deploy/seaweedfs/seaweedfs-svc.yaml | 2 +- deploy/test-cm/pod.yaml | 2 +- deploy/test-cm/svc.yaml | 2 +- deploy/test-sts/nginx-set.yaml | 2 +- deploy/test-sts/nginx-svc.yaml | 2 +- deploy/test/_crd.yaml | 4 +- deploy/test/_obj.yaml | 4 +- deploy/test/_pvc.yaml | 2 +- deploy/test/_testcm.yaml | 2 +- deploy/zookeeper/zookeeper-000-cm.yaml | 2 +- deploy/zookeeper/zookeeper-001-pvc.yaml | 4 +- deploy/zookeeper/zookeeper-003-sts.yaml | 2 +- deploy/zookeeper/zookeeper-004-svc.yaml | 2 +- detect.sh | 2 +- enterprise-util/kafka/README.md | 2 +- init.src | 4 +- nuvolaris/config.py | 262 ---------- nuvolaris/couchdb_util.py | 170 ------- {nuvolaris => openserverless}/__init__.py | 0 .../actionexecutor.py | 56 +- {nuvolaris => openserverless}/apihost_util.py | 68 +-- {nuvolaris => openserverless}/bcrypt_util.py | 0 {nuvolaris => openserverless}/bucket.py | 4 +- {nuvolaris => openserverless}/certmanager.py | 8 +- openserverless/config.py | 262 ++++++++++ {nuvolaris => openserverless}/couchdb.py | 38 +- openserverless/couchdb_util.py | 170 +++++++ {nuvolaris => openserverless}/cronjob.py | 8 +- {nuvolaris => openserverless}/endpoint.py | 50 +- .../enterprise_util.py | 44 +- {nuvolaris => openserverless}/etcd.py | 20 +- {nuvolaris => openserverless}/ferretdb.py | 50 +- {nuvolaris => openserverless}/files/README.md | 2 +- ...ns_design_document_for_activations_db.json | 0 ...esign_document_for_subjects_db_v2.0.0.json | 0 .../files/filter_design_document.json | 0 ...up_design_document_for_activations_db.json | 0 ...lings_design_document_for_subjects_db.json | 0 .../files/runtimes-nodeonly.json | 0 .../files/runtimes.json | 0 ...ent_for_activations_db_filters_v2.1.0.json | 0 ...ent_for_activations_db_filters_v2.1.1.json | 0 ...gn_document_for_activations_db_v2.1.0.json | 0 ...esign_document_for_entities_db_v2.1.0.json | 0 {nuvolaris => openserverless}/ingress.py | 10 +- {nuvolaris => openserverless}/ingress_data.py | 14 +- {nuvolaris => openserverless}/invoker.py | 12 +- {nuvolaris => openserverless}/ip_util.py | 6 +- {nuvolaris => openserverless}/issuer.py | 10 +- {nuvolaris => openserverless}/kafka.py | 18 +- {nuvolaris => openserverless}/kopf_util.py | 12 +- {nuvolaris => openserverless}/kube.py | 34 +- {nuvolaris => openserverless}/kustomize.py | 50 +- {nuvolaris => openserverless}/kvrocks.py | 28 +- {nuvolaris => openserverless}/main.py | 62 +-- .../milvus_admin_client.py | 6 +- .../milvus_operator.py | 18 +- .../milvus_simple_client.py | 0 .../milvus_standalone.py | 72 +-- {nuvolaris => openserverless}/minio_deploy.py | 54 +- .../minio_ingress.py | 40 +- {nuvolaris => openserverless}/minio_util.py | 10 +- {nuvolaris => openserverless}/mongodb.py | 44 +- .../mongodb_operator.py | 26 +- .../mongodb_standalone.py | 10 +- {nuvolaris => openserverless}/monitoring.py | 10 +- .../opaque_secret.py | 6 +- .../openserverless_metadata.py | 16 +- {nuvolaris => openserverless}/openwhisk.py | 10 +- .../openwhisk_enterprise.py | 10 +- .../openwhisk_standalone.py | 8 +- .../operator_util.py | 44 +- {nuvolaris => openserverless}/patcher.py | 46 +- .../policies/minio_rw_policy_tpl.json | 0 .../postgres_client.py | 0 .../postgres_operator.py | 58 +-- .../quota_checker.py | 20 +- .../quota_checker_job.py | 8 +- {nuvolaris => openserverless}/redis.py | 30 +- {nuvolaris => openserverless}/redis_client.py | 8 +- .../registry_deploy.py | 50 +- {nuvolaris => openserverless}/route_data.py | 14 +- .../runtimes_preloader.py | 14 +- .../runtimes_util.py | 10 +- .../s3_bucket_policy.py | 0 {nuvolaris => openserverless}/s3_client.py | 2 +- .../seaweedfs_deploy.py | 48 +- .../seaweedfs_ingress.py | 32 +- .../seaweedfs_util.py | 8 +- .../secret_htpasswd_data.py | 8 +- .../secret_imagepull_data.py | 8 +- .../storage_static.py | 72 +-- {nuvolaris => openserverless}/template.py | 4 +- .../templates/00-minio-pvc.yaml | 2 +- .../templates/01-minio-dep.yaml | 2 +- .../templates/02-minio-svc.yaml | 0 .../affinity-tolerance-dep-core-attach.yaml | 8 +- .../affinity-tolerance-sts-core-attach.yaml | 8 +- ...affinity-tolerance-sts-invoker-attach.yaml | 8 +- .../templates/alert-manager-02-cm.yaml | 10 +- .../templates/cluster-issuer.yaml | 2 +- .../templates/content.html | 0 .../templates/cosi-obc-tpl.yaml | 2 +- .../templates/cosi-user-tpl.yaml | 2 +- .../templates/couchdb-init.yaml | 10 +- .../templates/couchdb-set-tpl.yaml | 4 +- .../templates/cron-init.yaml | 2 +- .../templates/cronjob-attach.yaml | 2 +- .../templates/dbname_pgpass_tpl.properties | 0 .../templates/dep-attach.yaml | 2 +- .../templates/enterprise-np.yaml | 2 +- .../templates/enterprise-sts.yaml | 10 +- .../templates/etcd-policy.yaml | 8 +- .../templates/etcd-sts.yaml | 16 +- .../templates/etcd_manage_user_tpl.sh | 0 .../templates/ferretdb-sts.yaml | 14 +- .../templates/generic-ingress-tpl.yaml | 2 +- .../generic-openshift-route-tpl.yaml | 0 .../templates/generic-secret-docker-tpl.yaml | 0 .../generic-secret-htpassword-tpl.yaml | 0 .../templates/index.html | 0 .../templates/ingress.yaml | 0 .../templates/invoker-sts.yaml | 14 +- .../templates/invoker-svc.yaml | 0 .../templates/kafka-000-pvc.yaml | 2 +- .../templates/kafka-001-sts.yaml | 4 +- .../templates/kvrocks-cm.yaml | 4 +- .../templates/kvrocks_manage_user_tpl.txt | 0 .../templates/milvus-cfg-base.yaml | 8 +- .../templates/milvus-cfg-slim-base.yaml | 6 +- .../templates/milvus.yaml | 6 +- .../mongodb-auth-openserverless.yaml | 6 +- .../templates/mongodb-auth.yaml | 2 +- .../templates/mongodb-cm.yaml | 12 +- .../templates/mongodb-config.yaml | 20 +- .../templates/mongodb-sts.yaml | 14 +- .../templates/mongodb_manage_user_tpl.js | 2 +- .../templates/nginx-static-cm.yaml | 2 +- .../templates/nginx-static-sts.yaml | 14 +- .../templates/opaque-secret-tpl.yaml | 0 .../templates/pgpass_tpl.properties | 0 .../templates/postgres-backup-sts.yaml | 34 +- .../templates/postgres.yaml | 22 +- .../postgres_manage_user_extension_tpl.sql | 0 .../postgres_manage_user_schema_tpl.sql | 0 .../templates/postgres_manage_user_tpl.sql | 0 .../templates/postgres_terminate_tpl.sql | 0 .../templates/pv-create.yaml | 0 .../templates/pvc-attach.yaml | 2 +- .../templates/pvc-create.yaml | 2 +- .../templates/quota-cronjob-attach.yaml | 2 +- .../templates/redis-conf.yaml | 2 +- .../templates/redis-set.yaml | 4 +- .../templates/redis_manage_user_tpl.txt | 0 .../templates/redis_quota_checker.lua | 0 .../templates/redis_quota_checker.sh | 0 .../templates/resources-sts-attach.yaml | 2 +- .../runtimes-job-container-attach.yaml | 2 +- .../templates/security-dep-attach.yaml | 2 +- .../templates/security-global-attach.yaml | 2 +- .../templates/security-set-attach.yaml | 2 +- .../templates/set-attach.yaml | 2 +- .../templates/standalone-sts.yaml | 16 +- .../templates/subject.json | 0 .../templates/test.json | 0 .../templates/testcm.yaml | 2 +- .../templates/traefik-middleware-tpl.yaml | 0 .../templates/user_metadata.json | 0 .../templates/whisk-system-manifest-tpl.yaml | 0 .../templates/workflow-job.yaml | 0 .../templates/zookeeper-001-pvc.yaml | 2 +- .../templates/zookeeper-002-pvc.yaml | 2 +- {nuvolaris => openserverless}/testutil.py | 22 +- {nuvolaris => openserverless}/time_util.py | 2 +- {nuvolaris => openserverless}/user_config.py | 2 +- .../user_handlers.py | 42 +- .../user_metadata.py | 8 +- {nuvolaris => openserverless}/user_patcher.py | 10 +- {nuvolaris => openserverless}/userdb_util.py | 44 +- {nuvolaris => openserverless}/util.py | 188 +++---- .../whisk_actions_deployer.py | 16 +- .../whisk_system_util.py | 2 +- {nuvolaris => openserverless}/workflows.py | 14 +- {nuvolaris => openserverless}/zookeeper.py | 14 +- profile.ipy | 22 +- pyproject.toml | 8 +- run.sh | 6 +- tests/aks/whisk.yaml | 20 +- tests/config_test.ipy | 10 +- tests/couchdb_test.ipy | 14 +- tests/cron_test.ipy | 4 +- tests/eks/config_test.ipy | 6 +- tests/eks/whisk-full.yaml | 22 +- tests/eks/whisk-user.yaml | 4 +- tests/eks/whisk.yaml | 22 +- tests/etcd_test.ipy | 8 +- tests/generic/whisk-full.yaml | 24 +- tests/generic/whisk.yaml | 20 +- tests/gke/whisk.yaml | 20 +- tests/invoker_test.ipy | 22 +- tests/k3s/config_test.ipy | 6 +- tests/k3s/ingress_test.ipy | 12 +- tests/k3s/minimal.yaml | 14 +- tests/k3s/whisk-full.yaml | 20 +- tests/k3s/whisk-user.yaml | 4 +- tests/k3s/whisk.yaml | 20 +- tests/kafka_test.ipy | 20 +- tests/kind/action_executor_test.ipy | 16 +- tests/kind/bcrypt_util_test.ipy | 2 +- tests/kind/config_test.ipy | 12 +- tests/kind/config_user_test.ipy | 4 +- tests/kind/couchdb_compactions_test.ipy | 26 +- tests/kind/couchdb_lib_test.ipy | 32 +- tests/kind/couchdb_util_test.ipy | 16 +- tests/kind/dbinit.ipy | 12 +- tests/kind/dbonly.yaml | 6 +- tests/kind/ferretdb_test.ipy | 22 +- tests/kind/milvus_standalone_slim_test.ipy | 30 +- tests/kind/milvus_standalone_test.ipy | 30 +- tests/kind/minimal.yaml | 14 +- tests/kind/minio_quota_test.ipy | 16 +- tests/kind/minio_static_test.ipy | 14 +- tests/kind/minio_test.ipy | 16 +- tests/kind/minio_util_test.ipy | 16 +- tests/kind/mongodb_op_test.ipy | 24 +- tests/kind/mongodb_std_test.ipy | 22 +- tests/kind/mongodb_user_test.ipy | 26 +- tests/kind/monitoring_test.ipy | 12 +- ...st.ipy => openserverless_subject_test.ipy} | 30 +- tests/kind/openwhisk_enterprise_test.ipy | 36 +- tests/kind/postgres_op_test.ipy | 18 +- tests/kind/registry_test.ipy | 16 +- tests/kind/runtimes_preloader_test.ipy | 18 +- tests/kind/seaweedfs_test.ipy | 16 +- tests/kind/userdb_util_test.ipy | 36 +- tests/kind/whisk-affinity.yaml | 22 +- tests/kind/whisk-full-affinity.yaml | 24 +- tests/kind/whisk-full-mf.yaml | 24 +- tests/kind/whisk-full-storage.yaml | 26 +- tests/kind/whisk-full.yaml | 24 +- tests/kind/whisk-gpt-user.yaml | 4 +- tests/kind/whisk-mf-demo.yaml | 22 +- tests/kind/whisk-minimal.yaml | 26 +- tests/kind/whisk-slim.yaml | 28 +- tests/kind/whisk-user.yaml | 4 +- tests/kind/whisk-user2.yaml | 4 +- tests/kind/whisk.yaml | 26 +- tests/kind/wskadmin.ipy | 16 +- tests/kube_test.txt | 24 +- tests/kvrocks_test.ipy | 6 +- tests/kvrocks_user_test.ipy | 20 +- tests/lks/config_test.ipy | 6 +- tests/lks/whisk-full.yaml | 22 +- tests/lks/whisk.yaml | 20 +- tests/main_test.ipy | 4 +- tests/microk8s/config_test.ipy | 6 +- tests/microk8s/ingress_test.ipy | 12 +- tests/microk8s/monitoring-ingress.yaml | 4 +- tests/microk8s/whisk-full.yaml | 22 +- tests/microk8s/whisk-user.yaml | 4 +- tests/microk8s/whisk.yaml | 20 +- tests/mongo.yaml | 2 +- tests/mongodb_add_user_script.js | 2 +- tests/openshift/minimal.yaml | 14 +- tests/openshift/whisk-full.yaml | 22 +- tests/openshift/whisk-user.yaml | 4 +- tests/openshift/whisk.yaml | 20 +- tests/openwhisk_test.py | 18 +- tests/openwhisk_test.txt | 8 +- tests/patcher/openwhisk-runtimes-cm.yaml | 12 +- tests/patcher/whisk-full-baupanlabs.yaml | 14 +- tests/patcher/whisk-full-update.yaml | 12 +- tests/patcher/whisk-update.yaml | 14 +- tests/postgres.js | 10 +- tests/quota_checker_test.ipy | 12 +- tests/redis_test.ipy | 6 +- tests/redis_user_test.ipy | 20 +- tests/runtimes.json | 4 +- tests/runtimes/openwhisk-runtimes-cm.yaml | 24 +- tests/volume_test.ipy | 12 +- tests/whisk-full.yaml | 20 +- tests/whisk-user.yaml | 4 +- tests/whisk.yaml | 30 +- tests/workflow-test.yaml | 4 +- tests/workflows_test.ipy | 20 +- tests/zookeeper_test.ipy | 16 +- whisk-system.sh | 34 +- wskadmin.sh | 18 +- 487 files changed, 4565 insertions(+), 4565 deletions(-) rename actions/devel/download/{nuvolaris => openserverless}/config.py (83%) rename actions/devel/{minio/nuvolaris => download/openserverless}/couchdb_util.py (98%) rename actions/devel/{minio/nuvolaris => ferretdb/openserverless}/config.py (83%) rename actions/devel/{download/nuvolaris => ferretdb/openserverless}/couchdb_util.py (98%) rename actions/devel/{ferretdb/nuvolaris => minio/openserverless}/config.py (83%) rename actions/devel/{psql/nuvolaris => minio/openserverless}/couchdb_util.py (98%) rename actions/devel/psql/{nuvolaris => openserverless}/config.py (83%) rename actions/devel/{ferretdb/nuvolaris => psql/openserverless}/couchdb_util.py (98%) delete mode 100644 actions/devel/redis/nuvolaris/config.py delete mode 100644 actions/devel/redis/nuvolaris/couchdb_util.py create mode 100644 actions/devel/redis/openserverless/config.py create mode 100644 actions/devel/redis/openserverless/couchdb_util.py delete mode 100644 actions/devel/upload/nuvolaris/config.py delete mode 100644 actions/devel/upload/nuvolaris/couchdb_util.py create mode 100644 actions/devel/upload/openserverless/config.py create mode 100644 actions/devel/upload/openserverless/couchdb_util.py rename deploy/mongodb-operator-deploy/{mongodb-auth-nuvolaris.yaml => mongodb-auth-openserverless.yaml} (89%) rename deploy/{nuvolaris-operator => openserverless-operator}/operator-pod.yaml (82%) rename deploy/{nuvolaris-operator => openserverless-operator}/whisk.yaml (89%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/kubegres-crd.yaml (100%) rename deploy/{nuvolaris-permissions/nuvolaris-common.yaml => openserverless-permissions/openserverless-common.yaml} (86%) rename deploy/{nuvolaris-permissions/nuvolaris-kubegres-common.yaml => openserverless-permissions/openserverless-kubegres-common.yaml} (97%) rename deploy/{nuvolaris-permissions/nuvolaris-kubegres-roles.yaml => openserverless-permissions/openserverless-kubegres-roles.yaml} (97%) rename deploy/{nuvolaris-permissions/nuvolaris-milvus-operator-common.yaml => openserverless-permissions/openserverless-milvus-operator-common.yaml} (92%) rename deploy/{nuvolaris-permissions/nuvolaris-milvus-operator-crd.yaml => openserverless-permissions/openserverless-milvus-operator-crd.yaml} (100%) rename deploy/{nuvolaris-permissions/nuvolaris-milvus-operator-roles.yaml => openserverless-permissions/openserverless-milvus-operator-roles.yaml} (96%) rename deploy/{nuvolaris-permissions/nuvolaris-monitoring-00-sa.yaml => openserverless-permissions/openserverless-monitoring-00-sa.yaml} (74%) rename deploy/{nuvolaris-permissions/nuvolaris-monitoring-01-roles.yaml => openserverless-permissions/openserverless-monitoring-01-roles.yaml} (89%) rename deploy/{nuvolaris-permissions/nuvolaris-quota-common.yaml => openserverless-permissions/openserverless-quota-common.yaml} (90%) rename deploy/{nuvolaris-permissions/nuvolaris-quota-roles.yaml => openserverless-permissions/openserverless-quota-roles.yaml} (81%) rename deploy/{nuvolaris-permissions/nuvolaris-wsku-common.yaml => openserverless-permissions/openserverless-wsku-common.yaml} (90%) rename deploy/{nuvolaris-permissions/nuvolaris-wsku-roles.yaml => openserverless-permissions/openserverless-wsku-roles.yaml} (79%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/openwhisk-core-roles.yaml (89%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/openwhisk-core-sa.yaml (93%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/openwhisk-invoker-sa.yaml (94%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/openwhisk-runtimes-cm.yaml (99%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/operator-clusterroles.yaml (91%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/operator-roles.yaml (91%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/whisk-crd.yaml (95%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/whisk-user-crd.yaml (98%) rename deploy/{nuvolaris-permissions => openserverless-permissions}/workflows-crd.yaml (97%) delete mode 100644 nuvolaris/config.py delete mode 100644 nuvolaris/couchdb_util.py rename {nuvolaris => openserverless}/__init__.py (100%) rename {nuvolaris => openserverless}/actionexecutor.py (87%) rename {nuvolaris => openserverless}/apihost_util.py (78%) rename {nuvolaris => openserverless}/bcrypt_util.py (100%) rename {nuvolaris => openserverless}/bucket.py (93%) rename {nuvolaris => openserverless}/certmanager.py (94%) create mode 100644 openserverless/config.py rename {nuvolaris => openserverless}/couchdb.py (91%) create mode 100644 openserverless/couchdb_util.py rename {nuvolaris => openserverless}/cronjob.py (95%) rename {nuvolaris => openserverless}/endpoint.py (91%) rename {nuvolaris => openserverless}/enterprise_util.py (89%) rename {nuvolaris => openserverless}/etcd.py (89%) rename {nuvolaris => openserverless}/ferretdb.py (82%) rename {nuvolaris => openserverless}/files/README.md (86%) rename {nuvolaris => openserverless}/files/activations_design_document_for_activations_db.json (100%) rename {nuvolaris => openserverless}/files/auth_design_document_for_subjects_db_v2.0.0.json (100%) rename {nuvolaris => openserverless}/files/filter_design_document.json (100%) rename {nuvolaris => openserverless}/files/logCleanup_design_document_for_activations_db.json (100%) rename {nuvolaris => openserverless}/files/namespace_throttlings_design_document_for_subjects_db.json (100%) rename {nuvolaris => openserverless}/files/runtimes-nodeonly.json (100%) rename {nuvolaris => openserverless}/files/runtimes.json (100%) rename {nuvolaris => openserverless}/files/whisks_design_document_for_activations_db_filters_v2.1.0.json (100%) rename {nuvolaris => openserverless}/files/whisks_design_document_for_activations_db_filters_v2.1.1.json (100%) rename {nuvolaris => openserverless}/files/whisks_design_document_for_activations_db_v2.1.0.json (100%) rename {nuvolaris => openserverless}/files/whisks_design_document_for_entities_db_v2.1.0.json (100%) rename {nuvolaris => openserverless}/ingress.py (94%) rename {nuvolaris => openserverless}/ingress_data.py (94%) rename {nuvolaris => openserverless}/invoker.py (90%) rename {nuvolaris => openserverless}/ip_util.py (95%) rename {nuvolaris => openserverless}/issuer.py (94%) rename {nuvolaris => openserverless}/kafka.py (83%) rename {nuvolaris => openserverless}/kopf_util.py (96%) rename {nuvolaris => openserverless}/kube.py (82%) rename {nuvolaris => openserverless}/kustomize.py (91%) rename {nuvolaris => openserverless}/kvrocks.py (93%) rename {nuvolaris => openserverless}/main.py (90%) rename {nuvolaris => openserverless}/milvus_admin_client.py (96%) rename {nuvolaris => openserverless}/milvus_operator.py (88%) rename {nuvolaris => openserverless}/milvus_simple_client.py (100%) rename {nuvolaris => openserverless}/milvus_standalone.py (83%) rename {nuvolaris => openserverless}/minio_deploy.py (87%) rename {nuvolaris => openserverless}/minio_ingress.py (86%) rename {nuvolaris => openserverless}/minio_util.py (97%) rename {nuvolaris => openserverless}/mongodb.py (82%) rename {nuvolaris => openserverless}/mongodb_operator.py (82%) rename {nuvolaris => openserverless}/mongodb_standalone.py (92%) rename {nuvolaris => openserverless}/monitoring.py (96%) rename {nuvolaris => openserverless}/opaque_secret.py (92%) rename nuvolaris/nuvolaris_metadata.py => openserverless/openserverless_metadata.py (92%) rename {nuvolaris => openserverless}/openwhisk.py (85%) rename {nuvolaris => openserverless}/openwhisk_enterprise.py (91%) rename {nuvolaris => openserverless}/openwhisk_standalone.py (93%) rename {nuvolaris => openserverless}/operator_util.py (76%) rename {nuvolaris => openserverless}/patcher.py (84%) rename {nuvolaris => openserverless}/policies/minio_rw_policy_tpl.json (100%) rename {nuvolaris => openserverless}/postgres_client.py (100%) rename {nuvolaris => openserverless}/postgres_operator.py (84%) rename {nuvolaris => openserverless}/quota_checker.py (93%) rename {nuvolaris => openserverless}/quota_checker_job.py (95%) rename {nuvolaris => openserverless}/redis.py (93%) rename {nuvolaris => openserverless}/redis_client.py (97%) rename {nuvolaris => openserverless}/registry_deploy.py (86%) rename {nuvolaris => openserverless}/route_data.py (91%) rename {nuvolaris => openserverless}/runtimes_preloader.py (87%) rename {nuvolaris => openserverless}/runtimes_util.py (92%) rename {nuvolaris => openserverless}/s3_bucket_policy.py (100%) rename {nuvolaris => openserverless}/s3_client.py (99%) rename {nuvolaris => openserverless}/seaweedfs_deploy.py (86%) rename {nuvolaris => openserverless}/seaweedfs_ingress.py (86%) rename {nuvolaris => openserverless}/seaweedfs_util.py (97%) rename {nuvolaris => openserverless}/secret_htpasswd_data.py (94%) rename {nuvolaris => openserverless}/secret_imagepull_data.py (95%) rename {nuvolaris => openserverless}/storage_static.py (79%) rename {nuvolaris => openserverless}/template.py (95%) rename {nuvolaris => openserverless}/templates/00-minio-pvc.yaml (97%) rename {nuvolaris => openserverless}/templates/01-minio-dep.yaml (98%) rename {nuvolaris => openserverless}/templates/02-minio-svc.yaml (100%) rename {nuvolaris => openserverless}/templates/affinity-tolerance-dep-core-attach.yaml (93%) rename {nuvolaris => openserverless}/templates/affinity-tolerance-sts-core-attach.yaml (93%) rename {nuvolaris => openserverless}/templates/affinity-tolerance-sts-invoker-attach.yaml (89%) rename {nuvolaris => openserverless}/templates/alert-manager-02-cm.yaml (93%) rename {nuvolaris => openserverless}/templates/cluster-issuer.yaml (96%) rename {nuvolaris => openserverless}/templates/content.html (100%) rename {nuvolaris => openserverless}/templates/cosi-obc-tpl.yaml (97%) rename {nuvolaris => openserverless}/templates/cosi-user-tpl.yaml (97%) rename {nuvolaris => openserverless}/templates/couchdb-init.yaml (88%) rename {nuvolaris => openserverless}/templates/couchdb-set-tpl.yaml (96%) rename {nuvolaris => openserverless}/templates/cron-init.yaml (97%) rename {nuvolaris => openserverless}/templates/cronjob-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/dbname_pgpass_tpl.properties (100%) rename {nuvolaris => openserverless}/templates/dep-attach.yaml (98%) rename {nuvolaris => openserverless}/templates/enterprise-np.yaml (97%) rename {nuvolaris => openserverless}/templates/enterprise-sts.yaml (97%) rename {nuvolaris => openserverless}/templates/etcd-policy.yaml (84%) rename {nuvolaris => openserverless}/templates/etcd-sts.yaml (82%) rename {nuvolaris => openserverless}/templates/etcd_manage_user_tpl.sh (100%) rename {nuvolaris => openserverless}/templates/ferretdb-sts.yaml (81%) rename {nuvolaris => openserverless}/templates/generic-ingress-tpl.yaml (96%) rename {nuvolaris => openserverless}/templates/generic-openshift-route-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/generic-secret-docker-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/generic-secret-htpassword-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/index.html (100%) rename {nuvolaris => openserverless}/templates/ingress.yaml (100%) rename {nuvolaris => openserverless}/templates/invoker-sts.yaml (97%) rename {nuvolaris => openserverless}/templates/invoker-svc.yaml (100%) rename {nuvolaris => openserverless}/templates/kafka-000-pvc.yaml (97%) rename {nuvolaris => openserverless}/templates/kafka-001-sts.yaml (97%) rename {nuvolaris => openserverless}/templates/kvrocks-cm.yaml (99%) rename {nuvolaris => openserverless}/templates/kvrocks_manage_user_tpl.txt (100%) rename {nuvolaris => openserverless}/templates/milvus-cfg-base.yaml (94%) rename {nuvolaris => openserverless}/templates/milvus-cfg-slim-base.yaml (95%) rename {nuvolaris => openserverless}/templates/milvus.yaml (88%) rename nuvolaris/templates/mongodb-auth-nuvolaris.yaml => openserverless/templates/mongodb-auth-openserverless.yaml (86%) rename {nuvolaris => openserverless}/templates/mongodb-auth.yaml (97%) rename {nuvolaris => openserverless}/templates/mongodb-cm.yaml (79%) rename {nuvolaris => openserverless}/templates/mongodb-config.yaml (83%) rename {nuvolaris => openserverless}/templates/mongodb-sts.yaml (89%) rename {nuvolaris => openserverless}/templates/mongodb_manage_user_tpl.js (94%) rename {nuvolaris => openserverless}/templates/nginx-static-cm.yaml (99%) rename {nuvolaris => openserverless}/templates/nginx-static-sts.yaml (89%) rename {nuvolaris => openserverless}/templates/opaque-secret-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/pgpass_tpl.properties (100%) rename {nuvolaris => openserverless}/templates/postgres-backup-sts.yaml (75%) rename {nuvolaris => openserverless}/templates/postgres.yaml (81%) rename {nuvolaris => openserverless}/templates/postgres_manage_user_extension_tpl.sql (100%) rename {nuvolaris => openserverless}/templates/postgres_manage_user_schema_tpl.sql (100%) rename {nuvolaris => openserverless}/templates/postgres_manage_user_tpl.sql (100%) rename {nuvolaris => openserverless}/templates/postgres_terminate_tpl.sql (100%) rename {nuvolaris => openserverless}/templates/pv-create.yaml (100%) rename {nuvolaris => openserverless}/templates/pvc-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/pvc-create.yaml (97%) rename {nuvolaris => openserverless}/templates/quota-cronjob-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/redis-conf.yaml (98%) rename {nuvolaris => openserverless}/templates/redis-set.yaml (95%) rename {nuvolaris => openserverless}/templates/redis_manage_user_tpl.txt (100%) rename {nuvolaris => openserverless}/templates/redis_quota_checker.lua (100%) rename {nuvolaris => openserverless}/templates/redis_quota_checker.sh (100%) rename {nuvolaris => openserverless}/templates/resources-sts-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/runtimes-job-container-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/security-dep-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/security-global-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/security-set-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/set-attach.yaml (97%) rename {nuvolaris => openserverless}/templates/standalone-sts.yaml (95%) rename {nuvolaris => openserverless}/templates/subject.json (100%) rename {nuvolaris => openserverless}/templates/test.json (100%) rename {nuvolaris => openserverless}/templates/testcm.yaml (96%) rename {nuvolaris => openserverless}/templates/traefik-middleware-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/user_metadata.json (100%) rename {nuvolaris => openserverless}/templates/whisk-system-manifest-tpl.yaml (100%) rename {nuvolaris => openserverless}/templates/workflow-job.yaml (100%) rename {nuvolaris => openserverless}/templates/zookeeper-001-pvc.yaml (97%) rename {nuvolaris => openserverless}/templates/zookeeper-002-pvc.yaml (97%) rename {nuvolaris => openserverless}/testutil.py (93%) rename {nuvolaris => openserverless}/time_util.py (97%) rename {nuvolaris => openserverless}/user_config.py (98%) rename {nuvolaris => openserverless}/user_handlers.py (88%) rename {nuvolaris => openserverless}/user_metadata.py (92%) rename {nuvolaris => openserverless}/user_patcher.py (83%) rename {nuvolaris => openserverless}/userdb_util.py (68%) rename {nuvolaris => openserverless}/util.py (85%) rename {nuvolaris => openserverless}/whisk_actions_deployer.py (94%) rename {nuvolaris => openserverless}/whisk_system_util.py (98%) rename {nuvolaris => openserverless}/workflows.py (89%) rename {nuvolaris => openserverless}/zookeeper.py (86%) rename tests/kind/{nuvolaris_subject_test.ipy => openserverless_subject_test.ipy} (69%) diff --git a/.env.sample b/.env.sample index fdbeda54..e221465b 100644 --- a/.env.sample +++ b/.env.sample @@ -35,7 +35,7 @@ REAL_HOME=your-actual-directory-outside-of-the-container # linode token LINODE_CLI_TOKEN=linode-token-from-dashboard # if you want to push your custom image to push in your repo -MY_OPERATOR_IMAGE=user/nuvolaris-operator +MY_OPERATOR_IMAGE=user/openserverless-operator # a slack incoming webhook to write messages SLACK_WEBOOK=your-slack-webhook # ip or hostname and ssh user with sudo of a server running ubuntu 22 diff --git a/.github/kind.yaml b/.github/kind.yaml index 7011e9a2..75761974 100644 --- a/.github/kind.yaml +++ b/.github/kind.yaml @@ -24,7 +24,7 @@ nodes: kind: InitConfiguration nodeRegistration: kubeletExtraArgs: - node-labels: "ingress-ready=true,nuvolaris.io/apihost=localhost,nuvolaris.io/apiport=3233,nuvolaris.io/protocol=http,nuvolaris.io/kube=kind,nuvolaris.io/hostpath=data" + node-labels: "ingress-ready=true,openserverless.io/apihost=localhost,openserverless.io/apiport=3233,openserverless.io/protocol=http,openserverless.io/kube=kind,openserverless.io/hostpath=data" - role: worker extraMounts: - hostPath: /tmp diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index b4863828..e50b7347 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -47,7 +47,7 @@ jobs: uses: container-tools/kind-action@v2.0.4 with: version: v0.22.0 - cluster_name: nuvolaris + cluster_name: openserverless config: .github/kind.yaml - name: Set up Python 3.12 uses: actions/setup-python@v4 diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml index 0f2467c3..270df82d 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/image.yml @@ -60,7 +60,7 @@ jobs: uses: container-tools/kind-action@v2.0.4 with: version: v0.22.0 - cluster_name: nuvolaris + cluster_name: openserverless config: .github/kind.yaml - name: Install run: poetry install diff --git a/.gitignore b/.gitignore index ab4a642a..ce425308 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,7 @@ clusters/worker.yaml *.kubeconfig run.pid *.off -actions/**/nuvolaris/**/* +actions/**/openserverless/**/* !actions/**/__main__.py _*.yaml apihost.txt diff --git a/DESIGN.md b/DESIGN.md index b3b6bb6e..44ba1825 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -23,7 +23,7 @@ The operator is built with [`kopf`](https://kopf.readthedocs.io/en/stable/). It events coming from Kubernetes. The main event to react to is the deployment of a Custom Resource Definition that configures OpenWhisk and all the related components. -All the code is in the package `nuvolaris`. Events are handled in `main.py`. +All the code is in the package `openserverless`. Events are handled in `main.py`. Each event handlers uses utility functions you can find the various service specific files like `openwhisk` or `couchdb`. @@ -53,8 +53,8 @@ Then you can do this (obvious details omitted) 1. You create a customization to create a secret. 2. there is a customization to create a `patch` for it. There are a few utility functions for that in the -`nuvolaris.kustomize` package. Some of them are actually _templatized_ (have Template name) so the actual file is -generated expanding a template. All templates are under `nuvolaris/templates`. A _templatized_ configuration uses +`openserverless.kustomize` package. Some of them are actually _templatized_ (have Template name) so the actual file is +generated expanding a template. All templates are under `openserverless/templates`. A _templatized_ configuration uses `Jinja2`. When you use templates you also have to provide the `data` dictionary for the templates. 3. Once finished you generate a configuration to be applied. Usually it is better to be a series of configuration, diff --git a/Dockerfile b/Dockerfile index 1a3d8c2f..489de389 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,59 +19,59 @@ # Sources FROM python:3.12-slim-bullseye AS sources -RUN groupadd --gid 1001 nuvolaris && \ - useradd -m nuvolaris -s /bin/bash --uid 1001 --gid 1001 --groups root +RUN groupadd --gid 1001 openserverless && \ + useradd -m openserverless -s /bin/bash --uid 1001 --gid 1001 --groups root -USER nuvolaris -WORKDIR /home/nuvolaris +USER openserverless +WORKDIR /home/openserverless # install the operator -ADD --chown=nuvolaris:nuvolaris nuvolaris/*.py /home/nuvolaris/nuvolaris/ -ADD --chown=nuvolaris:nuvolaris nuvolaris/files /home/nuvolaris/nuvolaris/files -ADD --chown=nuvolaris:nuvolaris nuvolaris/templates /home/nuvolaris/nuvolaris/templates -ADD --chown=nuvolaris:nuvolaris nuvolaris/policies /home/nuvolaris/nuvolaris/policies -ADD --chown=nuvolaris:nuvolaris deploy/nuvolaris-operator /home/nuvolaris/deploy/nuvolaris-operator -ADD --chown=nuvolaris:nuvolaris deploy/nuvolaris-permissions /home/nuvolaris/deploy/nuvolaris-permissions -ADD --chown=nuvolaris:nuvolaris deploy/openwhisk-standalone /home/nuvolaris/deploy/openwhisk-standalone -ADD --chown=nuvolaris:nuvolaris deploy/openwhisk-endpoint /home/nuvolaris/deploy/openwhisk-endpoint -ADD --chown=nuvolaris:nuvolaris deploy/couchdb /home/nuvolaris/deploy/couchdb -ADD --chown=nuvolaris:nuvolaris deploy/redis /home/nuvolaris/deploy/redis -ADD --chown=nuvolaris:nuvolaris deploy/scheduler /home/nuvolaris/deploy/scheduler -ADD --chown=nuvolaris:nuvolaris deploy/mongodb-operator /home/nuvolaris/deploy/mongodb-operator -ADD --chown=nuvolaris:nuvolaris deploy/mongodb-operator-deploy /home/nuvolaris/deploy/mongodb-operator-deploy -ADD --chown=nuvolaris:nuvolaris deploy/mongodb-standalone /home/nuvolaris/deploy/mongodb-standalone -ADD --chown=nuvolaris:nuvolaris deploy/cert-manager /home/nuvolaris/deploy/cert-manager -ADD --chown=nuvolaris:nuvolaris deploy/ingress-nginx /home/nuvolaris/deploy/ingress-nginx -ADD --chown=nuvolaris:nuvolaris deploy/issuer /home/nuvolaris/deploy/issuer -ADD --chown=nuvolaris:nuvolaris deploy/minio /home/nuvolaris/deploy/minio -ADD --chown=nuvolaris:nuvolaris deploy/kafka /home/nuvolaris/deploy/kafka -ADD --chown=nuvolaris:nuvolaris deploy/zookeeper /home/nuvolaris/deploy/zookeeper -ADD --chown=nuvolaris:nuvolaris deploy/nginx-static /home/nuvolaris/deploy/nginx-static -ADD --chown=nuvolaris:nuvolaris deploy/content /home/nuvolaris/deploy/content -ADD --chown=nuvolaris:nuvolaris deploy/postgres-operator /home/nuvolaris/deploy/postgres-operator -ADD --chown=nuvolaris:nuvolaris deploy/postgres-operator-deploy /home/nuvolaris/deploy/postgres-operator-deploy -ADD --chown=nuvolaris:nuvolaris deploy/ferretdb /home/nuvolaris/deploy/ferretdb -ADD --chown=nuvolaris:nuvolaris deploy/runtimes /home/nuvolaris/deploy/runtimes -ADD --chown=nuvolaris:nuvolaris deploy/postgres-backup /home/nuvolaris/deploy/postgres-backup -ADD --chown=nuvolaris:nuvolaris run.sh dbinit.sh cron.sh pyproject.toml poetry.lock whisk-system.sh /home/nuvolaris/ +ADD --chown=openserverless:openserverless openserverless/*.py /home/openserverless/openserverless/ +ADD --chown=openserverless:openserverless openserverless/files /home/openserverless/openserverless/files +ADD --chown=openserverless:openserverless openserverless/templates /home/openserverless/openserverless/templates +ADD --chown=openserverless:openserverless openserverless/policies /home/openserverless/openserverless/policies +ADD --chown=openserverless:openserverless deploy/openserverless-operator /home/openserverless/deploy/openserverless-operator +ADD --chown=openserverless:openserverless deploy/openserverless-permissions /home/openserverless/deploy/openserverless-permissions +ADD --chown=openserverless:openserverless deploy/openwhisk-standalone /home/openserverless/deploy/openwhisk-standalone +ADD --chown=openserverless:openserverless deploy/openwhisk-endpoint /home/openserverless/deploy/openwhisk-endpoint +ADD --chown=openserverless:openserverless deploy/couchdb /home/openserverless/deploy/couchdb +ADD --chown=openserverless:openserverless deploy/redis /home/openserverless/deploy/redis +ADD --chown=openserverless:openserverless deploy/scheduler /home/openserverless/deploy/scheduler +ADD --chown=openserverless:openserverless deploy/mongodb-operator /home/openserverless/deploy/mongodb-operator +ADD --chown=openserverless:openserverless deploy/mongodb-operator-deploy /home/openserverless/deploy/mongodb-operator-deploy +ADD --chown=openserverless:openserverless deploy/mongodb-standalone /home/openserverless/deploy/mongodb-standalone +ADD --chown=openserverless:openserverless deploy/cert-manager /home/openserverless/deploy/cert-manager +ADD --chown=openserverless:openserverless deploy/ingress-nginx /home/openserverless/deploy/ingress-nginx +ADD --chown=openserverless:openserverless deploy/issuer /home/openserverless/deploy/issuer +ADD --chown=openserverless:openserverless deploy/minio /home/openserverless/deploy/minio +ADD --chown=openserverless:openserverless deploy/kafka /home/openserverless/deploy/kafka +ADD --chown=openserverless:openserverless deploy/zookeeper /home/openserverless/deploy/zookeeper +ADD --chown=openserverless:openserverless deploy/nginx-static /home/openserverless/deploy/nginx-static +ADD --chown=openserverless:openserverless deploy/content /home/openserverless/deploy/content +ADD --chown=openserverless:openserverless deploy/postgres-operator /home/openserverless/deploy/postgres-operator +ADD --chown=openserverless:openserverless deploy/postgres-operator-deploy /home/openserverless/deploy/postgres-operator-deploy +ADD --chown=openserverless:openserverless deploy/ferretdb /home/openserverless/deploy/ferretdb +ADD --chown=openserverless:openserverless deploy/runtimes /home/openserverless/deploy/runtimes +ADD --chown=openserverless:openserverless deploy/postgres-backup /home/openserverless/deploy/postgres-backup +ADD --chown=openserverless:openserverless run.sh dbinit.sh cron.sh pyproject.toml poetry.lock whisk-system.sh /home/openserverless/ # prepares the required folders to deploy the whisk-system actions -RUN mkdir /home/nuvolaris/deploy/whisk-system -ADD --chown=nuvolaris:nuvolaris actions /home/nuvolaris/actions +RUN mkdir /home/openserverless/deploy/whisk-system +ADD --chown=openserverless:openserverless actions /home/openserverless/actions # enterprise specific -ADD --chown=nuvolaris:nuvolaris deploy/openwhisk-enterprise /home/nuvolaris/deploy/openwhisk-enterprise -ADD --chown=nuvolaris:nuvolaris deploy/openwhisk-invoker /home/nuvolaris/deploy/openwhisk-invoker -ADD --chown=nuvolaris:nuvolaris deploy/monitoring /home/nuvolaris/deploy/monitoring -ADD --chown=nuvolaris:nuvolaris deploy/alert-manager /home/nuvolaris/deploy/alert-manager -ADD --chown=nuvolaris:nuvolaris deploy/quota /home/nuvolaris/deploy/quota -ADD --chown=nuvolaris:nuvolaris deploy/kvrocks /home/nuvolaris/deploy/kvrocks -ADD --chown=nuvolaris:nuvolaris deploy/etcd /home/nuvolaris/deploy/etcd -ADD --chown=nuvolaris:nuvolaris deploy/milvus-operator /home/nuvolaris/deploy/milvus-operator -ADD --chown=nuvolaris:nuvolaris deploy/milvus /home/nuvolaris/deploy/milvus -ADD --chown=nuvolaris:nuvolaris deploy/milvus-slim /home/nuvolaris/deploy/milvus-slim -ADD --chown=nuvolaris:nuvolaris deploy/registry /home/nuvolaris/deploy/registry -ADD --chown=nuvolaris:nuvolaris deploy/seaweedfs /home/nuvolaris/deploy/seaweedfs -ADD --chown=nuvolaris:nuvolaris quota.sh /home/nuvolaris/ +ADD --chown=openserverless:openserverless deploy/openwhisk-enterprise /home/openserverless/deploy/openwhisk-enterprise +ADD --chown=openserverless:openserverless deploy/openwhisk-invoker /home/openserverless/deploy/openwhisk-invoker +ADD --chown=openserverless:openserverless deploy/monitoring /home/openserverless/deploy/monitoring +ADD --chown=openserverless:openserverless deploy/alert-manager /home/openserverless/deploy/alert-manager +ADD --chown=openserverless:openserverless deploy/quota /home/openserverless/deploy/quota +ADD --chown=openserverless:openserverless deploy/kvrocks /home/openserverless/deploy/kvrocks +ADD --chown=openserverless:openserverless deploy/etcd /home/openserverless/deploy/etcd +ADD --chown=openserverless:openserverless deploy/milvus-operator /home/openserverless/deploy/milvus-operator +ADD --chown=openserverless:openserverless deploy/milvus /home/openserverless/deploy/milvus +ADD --chown=openserverless:openserverless deploy/milvus-slim /home/openserverless/deploy/milvus-slim +ADD --chown=openserverless:openserverless deploy/registry /home/openserverless/deploy/registry +ADD --chown=openserverless:openserverless deploy/seaweedfs /home/openserverless/deploy/seaweedfs +ADD --chown=openserverless:openserverless quota.sh /home/openserverless/ #------------------------------------------------------------------------------ # Python dependencies @@ -88,15 +88,15 @@ ENV PYTHONUNBUFFERED=1 ENV POETRY_CACHE_DIR=/opt/.cache ENV PATH=${POETRY_HOME}/bin:$PATH -WORKDIR /home/nuvolaris -COPY --chown=nuvolaris:nuvolaris pyproject.toml poetry.lock /home/nuvolaris/ +WORKDIR /home/openserverless +COPY --chown=openserverless:openserverless pyproject.toml poetry.lock /home/openserverless/ RUN echo "Installing poetry" && \ # Install minimal dependencies echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get update && apt-get install -y --no-install-recommends \ curl gnupg zip unzip && \ curl -sSL https://install.python-poetry.org | python - && \ - cd /home/nuvolaris && poetry install --no-root --no-interaction --no-ansi && rm -rf $POETRY_CACHE_DIR + cd /home/openserverless && poetry install --no-root --no-interaction --no-ansi && rm -rf $POETRY_CACHE_DIR #------------------------------------------------------------------------------ # Final stage @@ -111,17 +111,17 @@ ENV INVOKER_TAG=3.1.0-mastrogpt.2402101445 ENV OPERATOR_IMAGE=${OPERATOR_IMAGE_DEFAULT} ENV OPERATOR_TAG=${OPERATOR_TAG_DEFAULT} ENV TZ=Europe/London -ENV HOME=/home/nuvolaris -ENV VIRTUAL_ENV=/home/nuvolaris/.venv +ENV HOME=/home/openserverless +ENV VIRTUAL_ENV=/home/openserverless/.venv ENV POETRY_HOME=/opt/poetry ENV POETRY_CACHE_DIR=/opt/.cache ENV PATH=$POETRY_HOME/bin:$HOME/.venv/bin:$HOME/.local/bin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/sbin/ # configure dpkg && timezone RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ - # add nuvolaris user - groupadd --gid 1001 nuvolaris && \ - useradd -m nuvolaris -s /bin/bash --uid 1001 --gid 1001 --groups root && \ - echo "nuvolaris ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers && \ + # add openserverless user + groupadd --gid 1001 openserverless && \ + useradd -m openserverless -s /bin/bash --uid 1001 --gid 1001 --groups root && \ + echo "openserverless ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers && \ # Install minimal dependencies echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ apt-get update && apt-get install -y --no-install-recommends \ @@ -144,17 +144,17 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone & # install taskfile curl -sL https://taskfile.dev/install.sh | sh -s -- -d -b /usr/bin -USER nuvolaris -WORKDIR /home/nuvolaris +USER openserverless +WORKDIR /home/openserverless # Copy virtualenv -COPY --from=deps --chown=nuvolaris:nuvolaris ${VIRTUAL_ENV} ${VIRTUAL_ENV} +COPY --from=deps --chown=openserverless:openserverless ${VIRTUAL_ENV} ${VIRTUAL_ENV} # Copy poetry -COPY --from=deps --chown=nuvolaris:nuvolaris ${POETRY_HOME} ${POETRY_HOME} +COPY --from=deps --chown=openserverless:openserverless ${POETRY_HOME} ${POETRY_HOME} # Copy the home -COPY --from=sources --chown=nuvolaris:nuvolaris ${HOME} ${HOME} +COPY --from=sources --chown=openserverless:openserverless ${HOME} ${HOME} RUN poetry install --only main --no-interaction --no-ansi && rm -rf ${POETRY_CACHE_DIR} # prepares the required folders to deploy the whisk-system actions -RUN mkdir -p /home/nuvolaris/deploy/whisk-system && \ +RUN mkdir -p /home/openserverless/deploy/whisk-system && \ ./whisk-system.sh && \ cd deploy && tar cvf ../deploy.tar * CMD ["./run.sh"] \ No newline at end of file diff --git a/OPERATOR.md b/OPERATOR.md index 22cf0cf0..5c5a19aa 100644 --- a/OPERATOR.md +++ b/OPERATOR.md @@ -54,14 +54,14 @@ OpenServerless operator is normally deployed using a `whisk.yaml` configuration Typically, the customization file contains something like: ``` -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: - apihost: + openserverless: + apihost: components: # start openwhisk controller openwhisk: true @@ -86,7 +86,7 @@ spec: openwhisk: namespaces: whisk-system: xxxx:yyyyyy - nuvolaris: ccccc:zzzzz + openserverless: ccccc:zzzzz couchdb: host: couchdb port: 5984 @@ -103,9 +103,9 @@ spec: admin: user: password: - nuvolaris: - user: - password: + openserverless: + user: + password: useOperator: False scheduler: schedule: "* * * * *" @@ -114,7 +114,7 @@ spec: acme-server-url: https://acme-staging-v02.api.letsencrypt.org/directory minio: volume-size: 2 - nuvolaris: + openserverless: root-user: root-password: configs: @@ -202,7 +202,7 @@ that can be executed modify for example `controller.javaOpts:"-Xmx8192M"` and re To apply the new customization execute: ```shell -kubectl -n nuvolaris apply -f whisk.yaml +kubectl -n openserverless apply -f whisk.yaml ``` ## Deploying the controller in lean-mode @@ -210,14 +210,14 @@ kubectl -n nuvolaris apply -f whisk.yaml The enterprise operator supports also the deployment of the sole controller in lean mode, by simply applying a `whisk.yaml` containing ``` -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: - apihost: + openserverless: + apihost: components: # start openwhisk controller openwhisk: true diff --git a/Taskfile.yml b/Taskfile.yml index c5936aa3..27c19b9a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -25,7 +25,7 @@ vars: BASETAG: 0.1.0-incubating KUBE: sh: ./detect.sh - NS: "nuvolaris" + NS: "openserverless" PREFIX: "" TAG: @@ -114,11 +114,11 @@ tasks: - watch kubectl -n {{.NS}} get po,job --no-headers logs: - desc: tail the operator logs to nuvolaris-operator.log + desc: tail the operator logs to openserverless-operator.log cmds: - > - rm -f nuvolaris-operator.log ; - kubectl -n nuvolaris logs pod/nuvolaris-operator -f | tee nuvolaris-operator.log + rm -f openserverless-operator.log ; + kubectl -n openserverless logs pod/openserverless-operator -f | tee openserverless-operator.log cli: desc: run the interactive development CLI @@ -139,7 +139,7 @@ tasks: - task: d:run permission: - desc: apply the nuvolaris permissions + desc: apply the openserverless permissions cmds: - task: t:permission @@ -162,7 +162,7 @@ tasks: desc: deploy an instance and follow the operator logs cmds: - task: d:instance - - kubectl -n nuvolaris logs pod/nuvolaris-operator -f + - kubectl -n openserverless logs pod/openserverless-operator -f mongo: desc: run the mongo integration test @@ -219,7 +219,7 @@ tasks: workflow: desc: apply the workflow test manifest cmds: - - kubectl -n nuvolaris apply -f tests/workflow-test.yaml + - kubectl -n openserverless apply -f tests/workflow-test.yaml defin: desc: remove finalizers to force-delete the wsk controller resource @@ -249,16 +249,16 @@ tasks: ignore_error: true cmds: - | - cp -v ../nuvolaris/nuvolaris-controller/openwhisk/ansible/files/*.json nuvolaris/files - cp -v ../nuvolaris/nuvolaris-controller/openwhisk/bin/wskadmin tools/cli/wsk/wskadmin.py - cp -v ../nuvolaris/nuvolaris-controller/openwhisk/tools/admin/*.py tools/cli/wsk + cp -v ../openserverless/openserverless-controller/openwhisk/ansible/files/*.json openserverless/files + cp -v ../openserverless/openserverless-controller/openwhisk/bin/wskadmin tools/cli/wsk/wskadmin.py + cp -v ../openserverless/openserverless-controller/openwhisk/tools/admin/*.py tools/cli/wsk sources: - - ../nuvolaris/nuvolaris-controller/openwhisk/ansible/files/*.json - - ../nuvolaris/nuvolaris-controller/openwhisk/bin/wskadmin - - ../nuvolaris/nuvolaris-controller/openwhisk/tools/admin/*.py + - ../openserverless/openserverless-controller/openwhisk/ansible/files/*.json + - ../openserverless/openserverless-controller/openwhisk/bin/wskadmin + - ../openserverless/openserverless-controller/openwhisk/tools/admin/*.py generates: - - nuvolaris/files/*.json - - nuvolaris/tools/cli/wsk/*.py + - openserverless/files/*.json + - openserverless/tools/cli/wsk/*.py # generate ssh keys ssh-key: @@ -268,35 +268,35 @@ tasks: - ssh-keygen -y -f clusters/id_rsa >clusters/id_rsa.pub clean: - desc: delete all deployed resources in the nuvolaris namespace + desc: delete all deployed resources in the openserverless namespace cmds: - - cmd: kubectl -n nuvolaris delete wsku --all + - cmd: kubectl -n openserverless delete wsku --all ignore_error: true - - cmd: kubectl -n nuvolaris delete kubegres --timeout=60s + - cmd: kubectl -n openserverless delete kubegres --timeout=60s ignore_error: true - - cmd: kubectl -n nuvolaris delete milvus --timeout=60s + - cmd: kubectl -n openserverless delete milvus --timeout=60s ignore_error: true - - cmd: kubectl -n nuvolaris delete wsk/controller --grace-period=0 --timeout=5s + - cmd: kubectl -n openserverless delete wsk/controller --grace-period=0 --timeout=5s ignore_error: true - cmd: task defin ignore_error: true - - cmd: kubectl -n nuvolaris delete all --all --grace-period=0 + - cmd: kubectl -n openserverless delete all --all --grace-period=0 ignore_error: true - - cmd: kubectl -n nuvolaris delete pvc --all --grace-period=0 + - cmd: kubectl -n openserverless delete pvc --all --grace-period=0 ignore_error: true - - cmd: kubectl -n nuvolaris delete ing --all --grace-period=0 + - cmd: kubectl -n openserverless delete ing --all --grace-period=0 ignore_error: true - - cmd: kubectl -n nuvolaris delete cm/config --grace-period=0 + - cmd: kubectl -n openserverless delete cm/config --grace-period=0 ignore_error: true - cmd: kubectl delete clusterissuers/letsencrypt-issuer ignore_error: true utest: - desc: run python doctests for nuvolaris modules (T=filter) + desc: run python doctests for openserverless modules (T=filter) cmds: - | - for test in nuvolaris/{{.T}}*.py + for test in openserverless/{{.T}}*.py do echo "*** [{{.KUBE}}] $test" poetry run python3 -m doctest $test {{.CLI_ARGS}} done @@ -312,7 +312,7 @@ tasks: cmds: - task: iclean - | - kubectl apply -f deploy/nuvolaris-permissions + kubectl apply -f deploy/openserverless-permissions rm -f _failed.txt for test in tests/{{.T}}*.ipy tests/{{.KUBE}}/{{.T}}*.ipy do @@ -486,7 +486,7 @@ tasks: shell: desc: open an interactive shell in the given pod (POD=name) cmds: - - kubectl -n nuvolaris exec --stdin --tty {{.POD}} -- /bin/bash + - kubectl -n openserverless exec --stdin --tty {{.POD}} -- /bin/bash 1: cmds: diff --git a/TaskfileBuild.yml b/TaskfileBuild.yml index b6f24b4c..69df3d5c 100644 --- a/TaskfileBuild.yml +++ b/TaskfileBuild.yml @@ -51,7 +51,7 @@ tasks: - > kind load docker-image ${MY_OPERATOR_IMAGE:-{{.OPERATOR_IMAGE}}}:{{.OPERATOR_TAG}} - --name=nuvolaris + --name=openserverless buildx-and-push: - > diff --git a/TaskfileDev.yml b/TaskfileDev.yml index d5c7503a..5121f20a 100644 --- a/TaskfileDev.yml +++ b/TaskfileDev.yml @@ -43,7 +43,7 @@ env: APIHOST: sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' APIHOST_OSH: - sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' | sed -e 's/^api./nuvolaris.apps./' + sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' | sed -e 's/^api./openserverless.apps./' tasks: @@ -75,13 +75,13 @@ tasks: INVOKER_TAG: "{{.INVOKER_TAG}}" instance: - - envsubst <{{.CONFIG}} | kubectl -n nuvolaris apply -f - + - envsubst <{{.CONFIG}} | kubectl -n openserverless apply -f - show: - echo "*** {{.CONFIG}}" - envsubst <{{.CONFIG}} - destroy: kubectl -n nuvolaris delete wsk/controller + destroy: kubectl -n openserverless delete wsk/controller couchdb: - rm -f deploy/*/kustomization.yaml deploy/*/__* @@ -89,18 +89,18 @@ tasks: - kubectl apply -f deploy/couchdb couchdb-forward: - - kubectl -n nuvolaris port-forward svc/couchdb 5985:5984 + - kubectl -n openserverless port-forward svc/couchdb 5985:5984 mongodb: - kubectl apply -f deploy/mongodb-operator - kubectl apply -f deploy/mongodb defin: > - kubectl -n nuvolaris patch wsk/controller --type=merge --patch '{"metadata": {"finalizers":[] } }' + kubectl -n openserverless patch wsk/controller --type=merge --patch '{"metadata": {"finalizers":[] } }' - defin2: kubectl -n nuvolaris get wsk/controller -o yaml | grep -v Final | kubectl apply -f - + defin2: kubectl -n openserverless get wsk/controller -o yaml | grep -v Final | kubectl apply -f - killpy: ps auwwx | grep python | awk '{print $2}' | xargs kill -9 - enter: kubectl exec -ti nuvolaris-operator -- bash + enter: kubectl exec -ti openserverless-operator -- bash diff --git a/TaskfileOlaris.yml b/TaskfileOlaris.yml index 6e80ad4e..efe4d1da 100644 --- a/TaskfileOlaris.yml +++ b/TaskfileOlaris.yml @@ -18,12 +18,12 @@ version: '3' env: - DP: deploy/nuvolaris-permissions + DP: deploy/openserverless-permissions OK: olaris/kubernetes tasks: copy-yaml: - - cp -v $DP/nuvolaris-common.yaml $DP/openwhisk-runtimes-cm.yaml $OK/common + - cp -v $DP/openserverless-common.yaml $DP/openwhisk-runtimes-cm.yaml $OK/common - cp -v $DP/openwhisk-core-roles.yaml $DP/operator-clusterroles.yaml $DP/operator-roles.yaml $OK/roles - cp -v $DP/whisk-crd.yaml $DP/whisk-user-crd.yaml $DP/workflows-crd.yaml $OK/crds \ No newline at end of file diff --git a/TaskfileTest.yml b/TaskfileTest.yml index 307c7c2a..5fd02c12 100644 --- a/TaskfileTest.yml +++ b/TaskfileTest.yml @@ -31,7 +31,7 @@ vars: CONFIG: "tests/{{.KUBE}}/{{.WHISK}}.yaml" REDIS_URI: "redis://s0meP%40ass4@redis:6379" REDIS_PASSWORD: s0meP@ass4 - MINIO_HOST: "nuvolaris-minio" + MINIO_HOST: "openserverless-minio" MINIO_PORT: 9000 MINIO_USER: "minioadmin" MINIO_PWD : "minioadmin" @@ -44,7 +44,7 @@ env: APIHOST: sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' APIHOST_OSH: - sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' | sed -e 's/^api./nuvolaris.apps./' + sh: echo {{.APIKUBE}} | sed -e 's|^.*//\(.*\):.*$|\1|' | sed -e 's/^api./openserverless.apps./' tasks: @@ -52,7 +52,7 @@ tasks: kustomization: cmds: - | - cat <<__EOF__ >deploy/nuvolaris-operator/kustomization.yaml + cat <<__EOF__ >deploy/openserverless-operator/kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization images: @@ -64,61 +64,61 @@ tasks: __EOF__ permission: - - kubectl apply -f deploy/nuvolaris-permissions + - kubectl apply -f deploy/openserverless-permissions operator: - task: kustomization - - kubectl apply -k deploy/nuvolaris-operator + - kubectl apply -k deploy/openserverless-operator - | - while ! kubectl -n nuvolaris wait --for=condition=ready pod/nuvolaris-operator + while ! kubectl -n openserverless wait --for=condition=ready pod/openserverless-operator do echo still waiting... done destroy-operator: - task: kustomization - - kubectl delete -k deploy/nuvolaris-operator + - kubectl delete -k deploy/openserverless-operator instance: silent: false cmds: - - kubectl config set-context --current --namespace nuvolaris + - kubectl config set-context --current --namespace openserverless - > cat tests/{{.KUBE}}/{{.WHISK}}.yaml | envsubst | kubectl apply -f - - | - while ! kubectl -n nuvolaris wait --for=condition=ready pod/couchdb-0 2>/dev/null + while ! kubectl -n openserverless wait --for=condition=ready pod/couchdb-0 2>/dev/null do sleep 5 ; echo $((N++)) waiting couchdb... done - | - while ! kubectl -n nuvolaris wait --for=condition=complete job/couchdb-init 2>/dev/null + while ! kubectl -n openserverless wait --for=condition=complete job/couchdb-init 2>/dev/null do sleep 5 ; echo $((N++)) waiting couchdb init... done - | N=1 - while ! kubectl -n nuvolaris wait --for=condition=ready pod/controller-0 2>/dev/null + while ! kubectl -n openserverless wait --for=condition=ready pod/controller-0 2>/dev/null do sleep 5 ; echo $((N++)) waiting controller... done destroy-instance: - (sleep 5 ; task defin) & - - kubectl -n nuvolaris delete wsk/controller + - kubectl -n openserverless delete wsk/controller destroy: - task: destroy-instance - task: destroy-operator - cleanup: kubectl -n nuvolaris delete pvc --all + cleanup: kubectl -n openserverless delete pvc --all config: |- rm -f ~/.wskprops while true - do APIHOST=$(kubectl -n nuvolaris get cm/config -o yaml | awk '/apihost:/ {print $2}') + do APIHOST=$(kubectl -n openserverless get cm/config -o yaml | awk '/apihost:/ {print $2}') if [[ `echo $APIHOST | grep pending` || -z "$APIHOST" ]]; then sleep 5 ; echo "$((N++)) apihost still pending..." else break fi done echo "*** $APIHOST ***" - AUTH=$(kubectl -n nuvolaris get wsk/controller -o jsonpath='{.spec.openwhisk.namespaces.nuvolaris}') + AUTH=$(kubectl -n openserverless get wsk/controller -o jsonpath='{.spec.openwhisk.namespaces.openserverless}') echo $AUTH echo ops -wsk property set --apihost $APIHOST --auth $AUTH ops -wsk property set --apihost $APIHOST --auth $AUTH @@ -142,9 +142,9 @@ tasks: - ops -wsk -i action invoke redis/redis -r | grep "world" vars: REDIS_NUV_PREFIX: - sh: kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.redis_prefix}' + sh: kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.redis_prefix}' REDIS_NUV_URL: - sh: kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.redis_url}' + sh: kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.redis_url}' echo: - ops -wsk -i action update echo tests/echo.js -a provide-api-key true @@ -157,7 +157,7 @@ tasks: mongo: - | - MONGODB_URL=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.mongodb_url}') + MONGODB_URL=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.mongodb_url}') wsk -i package update mongo -p dburi "$MONGODB_URL" - ops -wsk -i action update mongo/mongo tests/mongo.js - ops -wsk -i action invoke mongo/mongo -r | grep "hello" @@ -172,22 +172,22 @@ tasks: postgres: - | - PG_URL=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.postgres_url}') + PG_URL=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.postgres_url}') ops -wsk -i package update postgres -p dburi "$PG_URL" - ops -wsk -i action update postgres/postgres tests/postgres.js - - ops -wsk -i action invoke postgres/postgres -r | grep "Nuvolaris Postgres is up and running!" + - ops -wsk -i action invoke postgres/postgres -r | grep "OpenServerless Postgres is up and running!" minio2: silent: true desc: minio test cmds: - | - MINIO_ACCESS_KEY=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_access_key}') - MINIO_SECRET_KEY=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_secret_key}') - MINIO_HOST=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_host}') - MINIO_PORT=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_port}') - MINIO_BUCKET_DATA=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_bucket_data}') - MINIO_BUCKET_WEB=$(kubectl -n nuvolaris get cm/config -o jsonpath='{.metadata.annotations.s3_bucket_static}') + MINIO_ACCESS_KEY=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_access_key}') + MINIO_SECRET_KEY=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_secret_key}') + MINIO_HOST=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_host}') + MINIO_PORT=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_port}') + MINIO_BUCKET_DATA=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_bucket_data}') + MINIO_BUCKET_WEB=$(kubectl -n openserverless get cm/config -o jsonpath='{.metadata.annotations.s3_bucket_static}') ops -wsk -i action update minio/minio-nuv tests/minio-nuv.js \ -p minio_access "$MINIO_ACCESS_KEY" \ -p minio_secret "$MINIO_SECRET_KEY" \ diff --git a/actions/Taskfile.yml b/actions/Taskfile.yml index ea66d7aa..fe2f2250 100644 --- a/actions/Taskfile.yml +++ b/actions/Taskfile.yml @@ -23,34 +23,34 @@ vars: WHISK: '{{default "whisk" .WHISK}}' CONFIG: "../tests/{{.KUBE}}/{{.WHISK}}.yaml" APIHOST: - sh: kubectl -n nuvolaris get cm/config -o yaml | awk '/apihost:/ {print $2}' + sh: kubectl -n openserverless get cm/config -o yaml | awk '/apihost:/ {print $2}' SYSTEM: - sh: kubectl -n nuvolaris get wsk/controller -o jsonpath='{.spec.openwhisk.namespaces.whisk-system}' + sh: kubectl -n openserverless get wsk/controller -o jsonpath='{.spec.openwhisk.namespaces.whisk-system}' WSKSYS: wsk --apihost {{.APIHOST}} -u {{.SYSTEM}} DEPLOY: ../deploy/whisk-system CDB_USER: - sh: kubectl -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.user}' + sh: kubectl -n openserverless get wsk/controller -o jsonpath='{.spec.couchdb.admin.user}' CDB_PASSWORD: - sh: kubectl -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.password}' + sh: kubectl -n openserverless get wsk/controller -o jsonpath='{.spec.couchdb.admin.password}' NUV_MINIO_AUTH: - sh: kubectl -n nuvolaris get wsk/controller -o jsonpath='{.spec.minio.nuvolaris.password}' + sh: kubectl -n openserverless get wsk/controller -o jsonpath='{.spec.minio.openserverless.password}' CDB_HOST: couchdb - MINIO_HOST: minio.nuvolaris.svc.cluster.local + MINIO_HOST: minio.openserverless.svc.cluster.local MINIO_PORT: 9000 #GIHTUB_SA_TOKEN: - # sh: kubectl -n nuvolaris get secrets/nuvolaris-github-secret -o jsonpath='{.data.token}' + # sh: kubectl -n openserverless get secrets/openserverless-github-secret -o jsonpath='{.data.token}' #GIHTUB_SA_CRT: - # sh: kubectl -n nuvolaris get secrets/nuvolaris-github-secret -o jsonpath='{.data.ca\.crt}' + # sh: kubectl -n openserverless get secrets/openserverless-github-secret -o jsonpath='{.data.ca\.crt}' #GIHTUB_SA_NS: - # sh: kubectl -n nuvolaris get secrets/nuvolaris-github-secret -o jsonpath='{.data.namespace}' + # sh: kubectl -n openserverless get secrets/openserverless-github-secret -o jsonpath='{.data.namespace}' tasks: @@ -72,8 +72,8 @@ tasks: login:prepare: - |- - mkdir -p login/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py ../nuvolaris/bcrypt_util.py login/nuvolaris + mkdir -p login/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py ../openserverless/bcrypt_util.py login/openserverless - |- cd login rm -f ../{{.DEPLOY}}/login.zip @@ -114,10 +114,10 @@ tasks: devel:redis:prepare: - |- - mkdir -p devel/redis/nuvolaris + mkdir -p devel/redis/openserverless mkdir -p devel/redis/common cp ./common/*.py devel/redis/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/redis/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/redis/openserverless - |- cd devel/redis rm -f ../../{{.DEPLOY}}/redis.zip @@ -138,10 +138,10 @@ tasks: devel:psql:prepare: - |- - mkdir -p devel/psql/nuvolaris + mkdir -p devel/psql/openserverless mkdir -p devel/psql/common cp ./common/*.py devel/psql/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/psql/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/psql/openserverless - |- cd devel/psql rm -f ../../{{.DEPLOY}}/psql.zip @@ -162,10 +162,10 @@ tasks: devel:minio:prepare: - |- - mkdir -p devel/minio/nuvolaris + mkdir -p devel/minio/openserverless mkdir -p devel/minio/common cp ./common/*.py devel/minio/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/minio/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/minio/openserverless - |- cd devel/minio rm -f ../../{{.DEPLOY}}/minio.zip @@ -186,10 +186,10 @@ tasks: devel:upload:prepare: - |- - mkdir -p devel/upload/nuvolaris + mkdir -p devel/upload/openserverless mkdir -p devel/upload/common cp ./common/*.py devel/upload/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/upload/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/upload/openserverless - |- cd devel/upload rm -f ../../{{.DEPLOY}}/devel_upload.zip @@ -210,10 +210,10 @@ tasks: devel:ferretdb:prepare: - |- - mkdir -p devel/ferretdb/nuvolaris + mkdir -p devel/ferretdb/openserverless mkdir -p devel/ferretdb/common cp ./common/*.py devel/ferretdb/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/ferretdb/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/ferretdb/openserverless - |- cd devel/ferretdb rm -f ../../{{.DEPLOY}}/ferretdb.zip @@ -234,10 +234,10 @@ tasks: devel:download:prepare: - |- - mkdir -p devel/download/nuvolaris + mkdir -p devel/download/openserverless mkdir -p devel/download/common cp ./common/*.py devel/download/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/download/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/download/openserverless - |- cd devel/download rm -f ../../{{.DEPLOY}}/devel_download.zip @@ -270,23 +270,23 @@ tasks: content:webtest: - > - curl -X PUT -T ../nuvolaris/templates/index.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/nuvolaris/index2.html + curl -X PUT -T ../openserverless/templates/index.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/openserverless/index2.html content:webtest2: - > - curl -X PUT -T ../nuvolaris/templates/content.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/nuvolaris/tidy/content.html + curl -X PUT -T ../openserverless/templates/content.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/openserverless/tidy/content.html content:yaml: - > - curl -X PUT -T ../nuvolaris/templates/couchdb-init.yaml -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/nuvolaris/yaml/couchdb-init.yaml + curl -X PUT -T ../openserverless/templates/couchdb-init.yaml -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/openserverless/yaml/couchdb-init.yaml content-delete:yaml: - > - curl -X DELETE -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/nuvolaris/yaml/couchdb-init.yaml + curl -X DELETE -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/openserverless/yaml/couchdb-init.yaml content:chess: - > - curl -X PUT -T ../nuvolaris/templates/content.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/nuvolaris/chess/index.html + curl -X PUT -T ../openserverless/templates/content.html -H "minioauth: {{.NUV_MINIO_AUTH}}" {{.APIHOST}}/api/v1/web/whisk-system/nuv/content/openserverless/chess/index.html devel:redis:set: - > @@ -334,11 +334,11 @@ tasks: devel:upload:webtest: - > - curl -X PUT -T ../nuvolaris/templates/content.html -H "x-impersonate-auth: Y2JkNjgwNzUtZGFjMi00NzVlLThjMDctZDYyYTMwYzdlNjgzOjEyM3pPM3haQ0xyTU42djJCS0sxZFhZRnBYbFBrY2NPRnFtMTJDZEFzTWdSVTRWck5aOWx5R1ZDR3VNREdJd1A=" {{.APIHOST}}/api/v1/web/whisk-system/nuv/devel_upload/nuvolaris-web/test/index.html + curl -X PUT -T ../openserverless/templates/content.html -H "x-impersonate-auth: Y2JkNjgwNzUtZGFjMi00NzVlLThjMDctZDYyYTMwYzdlNjgzOjEyM3pPM3haQ0xyTU42djJCS0sxZFhZRnBYbFBrY2NPRnFtMTJDZEFzTWdSVTRWck5aOWx5R1ZDR3VNREdJd1A=" {{.APIHOST}}/api/v1/web/whisk-system/nuv/devel_upload/openserverless-web/test/index.html devel:upload:data: - > - curl -X PUT -T ../nuvolaris/templates/content.html -H "x-impersonate-auth: Y2JkNjgwNzUtZGFjMi00NzVlLThjMDctZDYyYTMwYzdlNjgzOjEyM3pPM3haQ0xyTU42djJCS0sxZFhZRnBYbFBrY2NPRnFtMTJDZEFzTWdSVTRWck5aOWx5R1ZDR3VNREdJd1A=" {{.APIHOST}}/api/v1/web/whisk-system/nuv/devel_upload/nuvolaris-data/test/index.html + curl -X PUT -T ../openserverless/templates/content.html -H "x-impersonate-auth: Y2JkNjgwNzUtZGFjMi00NzVlLThjMDctZDYyYTMwYzdlNjgzOjEyM3pPM3haQ0xyTU42djJCS0sxZFhZRnBYbFBrY2NPRnFtMTJDZEFzTWdSVTRWck5aOWx5R1ZDR3VNREdJd1A=" {{.APIHOST}}/api/v1/web/whisk-system/nuv/devel_upload/openserverless-data/test/index.html devel:ferretdb:insert: - > @@ -405,10 +405,10 @@ tasks: github:callback:prepare: - |- - mkdir -p github/callback/nuvolaris + mkdir -p github/callback/openserverless mkdir -p github/callback/common cp github/common/*.py github/callback/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py github/callback/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py github/callback/openserverless - |- cd github/callback rm -f ../../{{.DEPLOY}}/callback.zip @@ -424,10 +424,10 @@ tasks: github:webhook:prepare: - |- - mkdir -p github/webhook/nuvolaris + mkdir -p github/webhook/openserverless mkdir -p github/webhook/common cp github/common/*.py github/webhook/common - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py github/webhook/nuvolaris + cp ../openserverless/config.py ../openserverless/couchdb_util.py github/webhook/openserverless - |- cd github/webhook rm -f ../../{{.DEPLOY}}/webhook.zip diff --git a/actions/common/authorize.py b/actions/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/common/authorize.py +++ b/actions/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/download/common/authorize.py b/actions/devel/download/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/download/common/authorize.py +++ b/actions/devel/download/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/download/nuvolaris/config.py b/actions/devel/download/openserverless/config.py similarity index 83% rename from actions/devel/download/nuvolaris/config.py rename to actions/devel/download/openserverless/config.py index a1e2cede..8815171b 100644 --- a/actions/devel/download/nuvolaris/config.py +++ b/actions/devel/download/openserverless/config.py @@ -22,7 +22,7 @@ # Prefix of the kube node labels carrying configuration. Kept as a # constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" +LABEL_PREFIX = "openserverless.io/" # define a configuration # the configuration is a map, followed by a list of labels @@ -34,8 +34,8 @@ def configure(spec: dict): _config = dict(flatdict.FlatDict(spec, delimiter=".")) #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') + if not exists('openserverless.kube'): + put('openserverless.kube','auto') return True @@ -82,14 +82,14 @@ def keys(prefix=""): return res def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") return {} # read labels if not available if not labels: - import nuvolaris.kube as kube + import openserverless.kube as kube labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') res = {} @@ -97,7 +97,7 @@ def detect_labels(labels=None): for i in labels: for j in list(i.keys()): if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" + key = f"openserverless.{j[len(LABEL_PREFIX):]}" res[key] = i[j] _config[key] = i[j] @@ -128,36 +128,36 @@ def detect_labels(labels=None): elif j.find("kubernetes.azure.com") >=0: kube = "aks" break - # assign all the 'nuvolaris.io' labels + # assign all the 'openserverless.io' labels if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube return res # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" return res def detect_storage(storages=None): res = {} if not storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_storageclass = True detect_provisioner = True # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") detect_storageclass = False - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") detect_provisioner = False if not detect_storageclass and not detect_provisioner: @@ -166,14 +166,14 @@ def detect_storage(storages=None): if detect_storageclass: storage_class = util.get_default_storage_class() if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class if detect_provisioner: provisioner = util.get_default_storage_provisioner() if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner except: pass return res @@ -184,7 +184,7 @@ def detect_object_storage(object_storages=None): """ res = {} if not object_storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_object_store = True @@ -257,6 +257,6 @@ def detect(): detect_object_storage() def dump_config(): - import nuvolaris.config as cfg + import openserverless.config as cfg for k in cfg.getall(): logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/minio/nuvolaris/couchdb_util.py b/actions/devel/download/openserverless/couchdb_util.py similarity index 98% rename from actions/devel/minio/nuvolaris/couchdb_util.py rename to actions/devel/download/openserverless/couchdb_util.py index b518a2dd..49cc0ac7 100644 --- a/actions/devel/minio/nuvolaris/couchdb_util.py +++ b/actions/devel/download/openserverless/couchdb_util.py @@ -17,12 +17,12 @@ # import os, json, time, sys, logging import requests as req -import nuvolaris.config as cfg +import openserverless.config as cfg class CouchDB: def __init__(self): self.db_protocol = "http" - self.db_prefix = "nuvolaris_" + self.db_prefix = "openserverless_" self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") diff --git a/actions/devel/ferretdb/__main__.py b/actions/devel/ferretdb/__main__.py index 1091458d..86eca2aa 100644 --- a/actions/devel/ferretdb/__main__.py +++ b/actions/devel/ferretdb/__main__.py @@ -54,7 +54,7 @@ def main(args): Action implementing a generic command wrapper for the nuv devel mdb/ferretdb plugin. The action must be called with a POST request receiving a JSON payload similar to this one { - "command":"SET nuvolaris:key1 donald_duck" + "command":"SET openserverless:key1 donald_duck" } the invoker must provide a x-impersonate-auth header containing the Openwhisk BASIC authentication of the wsku/user the action should impersonate diff --git a/actions/devel/ferretdb/common/authorize.py b/actions/devel/ferretdb/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/ferretdb/common/authorize.py +++ b/actions/devel/ferretdb/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/minio/nuvolaris/config.py b/actions/devel/ferretdb/openserverless/config.py similarity index 83% rename from actions/devel/minio/nuvolaris/config.py rename to actions/devel/ferretdb/openserverless/config.py index a1e2cede..8815171b 100644 --- a/actions/devel/minio/nuvolaris/config.py +++ b/actions/devel/ferretdb/openserverless/config.py @@ -22,7 +22,7 @@ # Prefix of the kube node labels carrying configuration. Kept as a # constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" +LABEL_PREFIX = "openserverless.io/" # define a configuration # the configuration is a map, followed by a list of labels @@ -34,8 +34,8 @@ def configure(spec: dict): _config = dict(flatdict.FlatDict(spec, delimiter=".")) #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') + if not exists('openserverless.kube'): + put('openserverless.kube','auto') return True @@ -82,14 +82,14 @@ def keys(prefix=""): return res def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") return {} # read labels if not available if not labels: - import nuvolaris.kube as kube + import openserverless.kube as kube labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') res = {} @@ -97,7 +97,7 @@ def detect_labels(labels=None): for i in labels: for j in list(i.keys()): if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" + key = f"openserverless.{j[len(LABEL_PREFIX):]}" res[key] = i[j] _config[key] = i[j] @@ -128,36 +128,36 @@ def detect_labels(labels=None): elif j.find("kubernetes.azure.com") >=0: kube = "aks" break - # assign all the 'nuvolaris.io' labels + # assign all the 'openserverless.io' labels if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube return res # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" return res def detect_storage(storages=None): res = {} if not storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_storageclass = True detect_provisioner = True # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") detect_storageclass = False - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") detect_provisioner = False if not detect_storageclass and not detect_provisioner: @@ -166,14 +166,14 @@ def detect_storage(storages=None): if detect_storageclass: storage_class = util.get_default_storage_class() if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class if detect_provisioner: provisioner = util.get_default_storage_provisioner() if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner except: pass return res @@ -184,7 +184,7 @@ def detect_object_storage(object_storages=None): """ res = {} if not object_storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_object_store = True @@ -257,6 +257,6 @@ def detect(): detect_object_storage() def dump_config(): - import nuvolaris.config as cfg + import openserverless.config as cfg for k in cfg.getall(): logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/download/nuvolaris/couchdb_util.py b/actions/devel/ferretdb/openserverless/couchdb_util.py similarity index 98% rename from actions/devel/download/nuvolaris/couchdb_util.py rename to actions/devel/ferretdb/openserverless/couchdb_util.py index b518a2dd..49cc0ac7 100644 --- a/actions/devel/download/nuvolaris/couchdb_util.py +++ b/actions/devel/ferretdb/openserverless/couchdb_util.py @@ -17,12 +17,12 @@ # import os, json, time, sys, logging import requests as req -import nuvolaris.config as cfg +import openserverless.config as cfg class CouchDB: def __init__(self): self.db_protocol = "http" - self.db_prefix = "nuvolaris_" + self.db_prefix = "openserverless_" self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") diff --git a/actions/devel/minio/common/authorize.py b/actions/devel/minio/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/minio/common/authorize.py +++ b/actions/devel/minio/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/ferretdb/nuvolaris/config.py b/actions/devel/minio/openserverless/config.py similarity index 83% rename from actions/devel/ferretdb/nuvolaris/config.py rename to actions/devel/minio/openserverless/config.py index a1e2cede..8815171b 100644 --- a/actions/devel/ferretdb/nuvolaris/config.py +++ b/actions/devel/minio/openserverless/config.py @@ -22,7 +22,7 @@ # Prefix of the kube node labels carrying configuration. Kept as a # constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" +LABEL_PREFIX = "openserverless.io/" # define a configuration # the configuration is a map, followed by a list of labels @@ -34,8 +34,8 @@ def configure(spec: dict): _config = dict(flatdict.FlatDict(spec, delimiter=".")) #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') + if not exists('openserverless.kube'): + put('openserverless.kube','auto') return True @@ -82,14 +82,14 @@ def keys(prefix=""): return res def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") return {} # read labels if not available if not labels: - import nuvolaris.kube as kube + import openserverless.kube as kube labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') res = {} @@ -97,7 +97,7 @@ def detect_labels(labels=None): for i in labels: for j in list(i.keys()): if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" + key = f"openserverless.{j[len(LABEL_PREFIX):]}" res[key] = i[j] _config[key] = i[j] @@ -128,36 +128,36 @@ def detect_labels(labels=None): elif j.find("kubernetes.azure.com") >=0: kube = "aks" break - # assign all the 'nuvolaris.io' labels + # assign all the 'openserverless.io' labels if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube return res # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" return res def detect_storage(storages=None): res = {} if not storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_storageclass = True detect_provisioner = True # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") detect_storageclass = False - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") detect_provisioner = False if not detect_storageclass and not detect_provisioner: @@ -166,14 +166,14 @@ def detect_storage(storages=None): if detect_storageclass: storage_class = util.get_default_storage_class() if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class if detect_provisioner: provisioner = util.get_default_storage_provisioner() if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner except: pass return res @@ -184,7 +184,7 @@ def detect_object_storage(object_storages=None): """ res = {} if not object_storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_object_store = True @@ -257,6 +257,6 @@ def detect(): detect_object_storage() def dump_config(): - import nuvolaris.config as cfg + import openserverless.config as cfg for k in cfg.getall(): logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/psql/nuvolaris/couchdb_util.py b/actions/devel/minio/openserverless/couchdb_util.py similarity index 98% rename from actions/devel/psql/nuvolaris/couchdb_util.py rename to actions/devel/minio/openserverless/couchdb_util.py index b518a2dd..49cc0ac7 100644 --- a/actions/devel/psql/nuvolaris/couchdb_util.py +++ b/actions/devel/minio/openserverless/couchdb_util.py @@ -17,12 +17,12 @@ # import os, json, time, sys, logging import requests as req -import nuvolaris.config as cfg +import openserverless.config as cfg class CouchDB: def __init__(self): self.db_protocol = "http" - self.db_prefix = "nuvolaris_" + self.db_prefix = "openserverless_" self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") diff --git a/actions/devel/psql/common/authorize.py b/actions/devel/psql/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/psql/common/authorize.py +++ b/actions/devel/psql/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/psql/nuvolaris/config.py b/actions/devel/psql/openserverless/config.py similarity index 83% rename from actions/devel/psql/nuvolaris/config.py rename to actions/devel/psql/openserverless/config.py index a1e2cede..8815171b 100644 --- a/actions/devel/psql/nuvolaris/config.py +++ b/actions/devel/psql/openserverless/config.py @@ -22,7 +22,7 @@ # Prefix of the kube node labels carrying configuration. Kept as a # constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" +LABEL_PREFIX = "openserverless.io/" # define a configuration # the configuration is a map, followed by a list of labels @@ -34,8 +34,8 @@ def configure(spec: dict): _config = dict(flatdict.FlatDict(spec, delimiter=".")) #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') + if not exists('openserverless.kube'): + put('openserverless.kube','auto') return True @@ -82,14 +82,14 @@ def keys(prefix=""): return res def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") return {} # read labels if not available if not labels: - import nuvolaris.kube as kube + import openserverless.kube as kube labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') res = {} @@ -97,7 +97,7 @@ def detect_labels(labels=None): for i in labels: for j in list(i.keys()): if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" + key = f"openserverless.{j[len(LABEL_PREFIX):]}" res[key] = i[j] _config[key] = i[j] @@ -128,36 +128,36 @@ def detect_labels(labels=None): elif j.find("kubernetes.azure.com") >=0: kube = "aks" break - # assign all the 'nuvolaris.io' labels + # assign all the 'openserverless.io' labels if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube return res # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" return res def detect_storage(storages=None): res = {} if not storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_storageclass = True detect_provisioner = True # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") detect_storageclass = False - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") detect_provisioner = False if not detect_storageclass and not detect_provisioner: @@ -166,14 +166,14 @@ def detect_storage(storages=None): if detect_storageclass: storage_class = util.get_default_storage_class() if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class if detect_provisioner: provisioner = util.get_default_storage_provisioner() if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner except: pass return res @@ -184,7 +184,7 @@ def detect_object_storage(object_storages=None): """ res = {} if not object_storages: - import nuvolaris.util as util + import openserverless.util as util try: detect_object_store = True @@ -257,6 +257,6 @@ def detect(): detect_object_storage() def dump_config(): - import nuvolaris.config as cfg + import openserverless.config as cfg for k in cfg.getall(): logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/ferretdb/nuvolaris/couchdb_util.py b/actions/devel/psql/openserverless/couchdb_util.py similarity index 98% rename from actions/devel/ferretdb/nuvolaris/couchdb_util.py rename to actions/devel/psql/openserverless/couchdb_util.py index b518a2dd..49cc0ac7 100644 --- a/actions/devel/ferretdb/nuvolaris/couchdb_util.py +++ b/actions/devel/psql/openserverless/couchdb_util.py @@ -17,12 +17,12 @@ # import os, json, time, sys, logging import requests as req -import nuvolaris.config as cfg +import openserverless.config as cfg class CouchDB: def __init__(self): self.db_protocol = "http" - self.db_prefix = "nuvolaris_" + self.db_prefix = "openserverless_" self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") diff --git a/actions/devel/redis/__main__.py b/actions/devel/redis/__main__.py index 9fa45dfc..ca6b60de 100644 --- a/actions/devel/redis/__main__.py +++ b/actions/devel/redis/__main__.py @@ -53,7 +53,7 @@ def main(args): Action implementing a generic command wrapper for the nuv devel plugin. The action must be called with a POST request receiving a JSON payload similar to this one { - "command":"SET nuvolaris:key1 donald_duck" + "command":"SET openserverless:key1 donald_duck" } the invoker must provide a x-impersonate-auth header containing the Openwhisk BASIC authentication of the wsku/user the action should impersonate diff --git a/actions/devel/redis/common/authorize.py b/actions/devel/redis/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/redis/common/authorize.py +++ b/actions/devel/redis/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/redis/nuvolaris/config.py b/actions/devel/redis/nuvolaris/config.py deleted file mode 100644 index a1e2cede..00000000 --- a/actions/devel/redis/nuvolaris/config.py +++ /dev/null @@ -1,262 +0,0 @@ -# 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. -# -import flatdict, json, os -import logging - -_config = {} - -# Prefix of the kube node labels carrying configuration. Kept as a -# constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" - -# define a configuration -# the configuration is a map, followed by a list of labels -# the map can be a serialized json and will be flattened to a map of values. -# you can have only a configuration active at a time -# if you want to set a new configuration you have to clean it -def configure(spec: dict): - global _config - _config = dict(flatdict.FlatDict(spec, delimiter=".")) - - #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') - - return True - -def clean(): - global _config - _config = {} - -def exists(key): - return key in _config - -def get(key, envvar=None, defval=None): - val = _config.get(key) - - if envvar and envvar in os.environ: - val = os.environ[envvar] - - if val: - return val - - return defval - -def put(key, value): - _config[key] = value - return True - -def delete(key): - if key in _config: - del _config[key] - return True - -def getall(prefix=""): - res = {} - for key in _config.keys(): - if key.startswith(prefix): - res[key] = _config[key] - return res - -def keys(prefix=""): - res = [] - if _config: - for key in _config.keys(): - if key.startswith(prefix): - res.append(key) - return res - -def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") - return {} - - # read labels if not available - if not labels: - import nuvolaris.kube as kube - labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') - - res = {} - kube = None - for i in labels: - for j in list(i.keys()): - if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" - res[key] = i[j] - _config[key] = i[j] - - for i in labels: - for j in list(i.keys()): - # detect the kube type - if j.find("eksctl.io") >= 0: - kube ="eks" - break - if j.find("k8s.io/cloud-provider-aws") >= 0: - kube ="eks" - break - elif j.find("microk8s.io") >= 0: - kube = "microk8s" - break - elif j.find("lke.linode.com") >=0: - kube = "lks" - break - elif j.find("node.openshift.io") >=0: - kube = "openshift" - break - elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": - kube = "k3s" - break - elif j.find("cloud.google.com/gke") >=0: - kube = "gke" - break - elif j.find("kubernetes.azure.com") >=0: - kube = "aks" - break - # assign all the 'nuvolaris.io' labels - - if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube - return res - - # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" - - return res - -def detect_storage(storages=None): - res = {} - if not storages: - import nuvolaris.util as util - - try: - detect_storageclass = True - detect_provisioner = True - - # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") - detect_storageclass = False - - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") - detect_provisioner = False - - if not detect_storageclass and not detect_provisioner: - return res - - if detect_storageclass: - storage_class = util.get_default_storage_class() - if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class - - if detect_provisioner: - provisioner = util.get_default_storage_provisioner() - if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner - except: - pass - return res - -def detect_object_storage(object_storages=None): - """ - Detect the basic Object Store setup if enabled - """ - res = {} - if not object_storages: - import nuvolaris.util as util - - try: - detect_object_store = True - detect_object_store_rgw_srv_name = True - detect_object_store_rgw_srv_port = True - - # skips autodetection if cephobjectstore is not active - if not exists('components.cosi') or not get('components.cosi'): - logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") - return res - - # skips autodetection if already provided - if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': - logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") - detect_object_store = False - - if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") - detect_object_store_rgw_srv_name = False - - if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") - detect_object_store_rgw_srv_port = False - - if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: - return res - - if detect_object_store: - storage_class = util.get_object_storage_class() - if storage_class: - res['cosi.bucket_storageclass'] = storage_class - _config['cosi.bucket_storageclass'] = storage_class - - if detect_object_store_rgw_srv_name: - rgwsrv = util.get_object_storage_rgw_srv_name() - if(rgwsrv): - res['cosi.rgwservice_name'] = rgwsrv - _config['cosi.rgwservice_name'] = rgwsrv - - if detect_object_store_rgw_srv_port: - rgwport = util.get_object_storage_rgw_srv_http_port() - if(rgwport): - res['cosi.rgwservice_port'] = rgwport - _config['cosi.rgwservice_port'] = rgwport - except: - pass - return res - -def detect_env(): - _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") - _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") - - # skip autodetection of controller.image if already configure into whisk.yaml - if not exists('controller.image'): - _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") - _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") - else: - logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") - - if not exists('invoker.image'): - _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") - _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") - else: - logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") - -def detect(): - detect_storage() - detect_labels() - detect_env() - detect_object_storage() - -def dump_config(): - import nuvolaris.config as cfg - for k in cfg.getall(): - logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/redis/nuvolaris/couchdb_util.py b/actions/devel/redis/nuvolaris/couchdb_util.py deleted file mode 100644 index b518a2dd..00000000 --- a/actions/devel/redis/nuvolaris/couchdb_util.py +++ /dev/null @@ -1,170 +0,0 @@ -# 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. -# -import os, json, time, sys, logging -import requests as req -import nuvolaris.config as cfg - -class CouchDB: - def __init__(self): - self.db_protocol = "http" - self.db_prefix = "nuvolaris_" - self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") - self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") - self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") - self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") - self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) - self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" - self.db_base = f"{self.db_url}/{self.db_prefix}" - self.db_session = req.Session() - self.db_session.auth = self.db_auth - - def wait_db_ready(self, max_seconds): - logging.info("entering CouchDB.wait_db_ready()") - start = time.time() - delta = 0 - session = req.Session() - while delta < max_seconds: - try: - r = session.get(f"{self.db_url}/_utils/", timeout=5) - logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") - if r.status_code == 200: - return True - except Exception as e: - logging.info(f"waiting since: {delta} seconds") - delta = int(time.time() - start) - time.sleep(1) - return False - - # check if database exists, return boolean - def check_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.head(url) - return r.status_code == 200 - - # delete database, return true if ok - def delete_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.delete(url) - return r.status_code == 200 - - # create db, return true if ok - def create_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.put(url) - return r.status_code == 201 - - # database="subjects" - def recreate_db(self, database, recreate=False): - msg = "recreate_db:" - exists = self.check_db(database) - if recreate and exists: - msg += " deleted" - self.delete_db(database) - if recreate or not exists: - msg += " created" - self.create_db(database) - return msg - - def get_doc(self, database, id, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/{id}" - session = req.Session() - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - session.auth = db_auth - r = session.get(url) - if r.status_code == 200: - return json.loads(r.text) - return None - - def update_doc(self, database, doc): - if '_id' in doc: - url = f"{self.db_base}{database}/{doc['_id']}" - cur = self.get_doc(database, doc['_id']) - if cur and '_rev' in cur: - doc['_rev'] = cur['_rev'] - r = self.db_session.put(url, json=doc) - else: - r = self.db_session.put(url, json=doc) - return r.status_code in [200,201] - return False - - def delete_doc(self, database, id): - cur = self.get_doc(database, id) - if cur and '_rev' in cur: - url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" - r = self.db_session.delete(url) - return r.status_code == 200 - return False - - def configure_single_node(self): - url = f"{self.db_url}/_cluster_setup" - data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} - r = self.db_session.post(url, json=data) - return r.status_code == 201 - - def configure_no_reduce_limit(self): - url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" - data=b'"false"' - r = self.db_session.put(url, data=data) - return r.status_code == 200 - - def enable_db_compaction(self,db_name): - url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" - data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' - r = self.db_session.put(url, json=data) - return r.status_code == 200 - - def add_user(self, username: str, password: str): - userpass = {"name": username, "password": password, "roles": [], "type": "user"} - url = f"{self.db_url}/_users/org.couchdb.user:{username}" - res = self.db_session.put(url, json=userpass) - return res.status_code in [200, 201, 421] - - #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): - def add_role(self, database: str, members = [], admins =[]): - roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } - url = f"{self.db_base}{database}/_security" - res = self.db_session.put(url, json=roles) - return res.status_code in [200, 201, 421] - -# -# Submit a POST request to the _find endpoint using the specified selector -# - def find_doc(self, database, selector, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/_find" - headers = {'Content-Type': 'application/json'} - session = req.Session() - - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - - session.auth=db_auth - r = session.post(url, headers=headers, data=selector) - if r.status_code == 200: - return json.loads(r.text) - - logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") - return None \ No newline at end of file diff --git a/actions/devel/redis/openserverless/config.py b/actions/devel/redis/openserverless/config.py new file mode 100644 index 00000000..8815171b --- /dev/null +++ b/actions/devel/redis/openserverless/config.py @@ -0,0 +1,262 @@ +# 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. +# +import flatdict, json, os +import logging + +_config = {} + +# Prefix of the kube node labels carrying configuration. Kept as a +# constant so the slice below tracks its length automatically. +LABEL_PREFIX = "openserverless.io/" + +# define a configuration +# the configuration is a map, followed by a list of labels +# the map can be a serialized json and will be flattened to a map of values. +# you can have only a configuration active at a time +# if you want to set a new configuration you have to clean it +def configure(spec: dict): + global _config + _config = dict(flatdict.FlatDict(spec, delimiter=".")) + + #forces autodetect of kube if not provided + if not exists('openserverless.kube'): + put('openserverless.kube','auto') + + return True + +def clean(): + global _config + _config = {} + +def exists(key): + return key in _config + +def get(key, envvar=None, defval=None): + val = _config.get(key) + + if envvar and envvar in os.environ: + val = os.environ[envvar] + + if val: + return val + + return defval + +def put(key, value): + _config[key] = value + return True + +def delete(key): + if key in _config: + del _config[key] + return True + +def getall(prefix=""): + res = {} + for key in _config.keys(): + if key.startswith(prefix): + res[key] = _config[key] + return res + +def keys(prefix=""): + res = [] + if _config: + for key in _config.keys(): + if key.startswith(prefix): + res.append(key) + return res + +def detect_labels(labels=None): + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") + return {} + + # read labels if not available + if not labels: + import openserverless.kube as kube + labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') + + res = {} + kube = None + for i in labels: + for j in list(i.keys()): + if j.startswith(LABEL_PREFIX): + key = f"openserverless.{j[len(LABEL_PREFIX):]}" + res[key] = i[j] + _config[key] = i[j] + + for i in labels: + for j in list(i.keys()): + # detect the kube type + if j.find("eksctl.io") >= 0: + kube ="eks" + break + if j.find("k8s.io/cloud-provider-aws") >= 0: + kube ="eks" + break + elif j.find("microk8s.io") >= 0: + kube = "microk8s" + break + elif j.find("lke.linode.com") >=0: + kube = "lks" + break + elif j.find("node.openshift.io") >=0: + kube = "openshift" + break + elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": + kube = "k3s" + break + elif j.find("cloud.google.com/gke") >=0: + kube = "gke" + break + elif j.find("kubernetes.azure.com") >=0: + kube = "aks" + break + # assign all the 'openserverless.io' labels + + if kube: + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube + return res + + # defaults to generic if it is not yet detected + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" + + return res + +def detect_storage(storages=None): + res = {} + if not storages: + import openserverless.util as util + + try: + detect_storageclass = True + detect_provisioner = True + + # skips autodetection if already provided + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") + detect_storageclass = False + + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") + detect_provisioner = False + + if not detect_storageclass and not detect_provisioner: + return res + + if detect_storageclass: + storage_class = util.get_default_storage_class() + if storage_class: + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class + + if detect_provisioner: + provisioner = util.get_default_storage_provisioner() + if(provisioner): + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner + except: + pass + return res + +def detect_object_storage(object_storages=None): + """ + Detect the basic Object Store setup if enabled + """ + res = {} + if not object_storages: + import openserverless.util as util + + try: + detect_object_store = True + detect_object_store_rgw_srv_name = True + detect_object_store_rgw_srv_port = True + + # skips autodetection if cephobjectstore is not active + if not exists('components.cosi') or not get('components.cosi'): + logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") + return res + + # skips autodetection if already provided + if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': + logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") + detect_object_store = False + + if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") + detect_object_store_rgw_srv_name = False + + if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") + detect_object_store_rgw_srv_port = False + + if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: + return res + + if detect_object_store: + storage_class = util.get_object_storage_class() + if storage_class: + res['cosi.bucket_storageclass'] = storage_class + _config['cosi.bucket_storageclass'] = storage_class + + if detect_object_store_rgw_srv_name: + rgwsrv = util.get_object_storage_rgw_srv_name() + if(rgwsrv): + res['cosi.rgwservice_name'] = rgwsrv + _config['cosi.rgwservice_name'] = rgwsrv + + if detect_object_store_rgw_srv_port: + rgwport = util.get_object_storage_rgw_srv_http_port() + if(rgwport): + res['cosi.rgwservice_port'] = rgwport + _config['cosi.rgwservice_port'] = rgwport + except: + pass + return res + +def detect_env(): + _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") + _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") + + # skip autodetection of controller.image if already configure into whisk.yaml + if not exists('controller.image'): + _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") + _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") + else: + logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") + + if not exists('invoker.image'): + _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") + _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") + else: + logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") + +def detect(): + detect_storage() + detect_labels() + detect_env() + detect_object_storage() + +def dump_config(): + import openserverless.config as cfg + for k in cfg.getall(): + logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/redis/openserverless/couchdb_util.py b/actions/devel/redis/openserverless/couchdb_util.py new file mode 100644 index 00000000..49cc0ac7 --- /dev/null +++ b/actions/devel/redis/openserverless/couchdb_util.py @@ -0,0 +1,170 @@ +# 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. +# +import os, json, time, sys, logging +import requests as req +import openserverless.config as cfg + +class CouchDB: + def __init__(self): + self.db_protocol = "http" + self.db_prefix = "openserverless_" + self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") + self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") + self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") + self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") + self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) + self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" + self.db_base = f"{self.db_url}/{self.db_prefix}" + self.db_session = req.Session() + self.db_session.auth = self.db_auth + + def wait_db_ready(self, max_seconds): + logging.info("entering CouchDB.wait_db_ready()") + start = time.time() + delta = 0 + session = req.Session() + while delta < max_seconds: + try: + r = session.get(f"{self.db_url}/_utils/", timeout=5) + logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") + if r.status_code == 200: + return True + except Exception as e: + logging.info(f"waiting since: {delta} seconds") + delta = int(time.time() - start) + time.sleep(1) + return False + + # check if database exists, return boolean + def check_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.head(url) + return r.status_code == 200 + + # delete database, return true if ok + def delete_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.delete(url) + return r.status_code == 200 + + # create db, return true if ok + def create_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.put(url) + return r.status_code == 201 + + # database="subjects" + def recreate_db(self, database, recreate=False): + msg = "recreate_db:" + exists = self.check_db(database) + if recreate and exists: + msg += " deleted" + self.delete_db(database) + if recreate or not exists: + msg += " created" + self.create_db(database) + return msg + + def get_doc(self, database, id, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/{id}" + session = req.Session() + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + session.auth = db_auth + r = session.get(url) + if r.status_code == 200: + return json.loads(r.text) + return None + + def update_doc(self, database, doc): + if '_id' in doc: + url = f"{self.db_base}{database}/{doc['_id']}" + cur = self.get_doc(database, doc['_id']) + if cur and '_rev' in cur: + doc['_rev'] = cur['_rev'] + r = self.db_session.put(url, json=doc) + else: + r = self.db_session.put(url, json=doc) + return r.status_code in [200,201] + return False + + def delete_doc(self, database, id): + cur = self.get_doc(database, id) + if cur and '_rev' in cur: + url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" + r = self.db_session.delete(url) + return r.status_code == 200 + return False + + def configure_single_node(self): + url = f"{self.db_url}/_cluster_setup" + data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} + r = self.db_session.post(url, json=data) + return r.status_code == 201 + + def configure_no_reduce_limit(self): + url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" + data=b'"false"' + r = self.db_session.put(url, data=data) + return r.status_code == 200 + + def enable_db_compaction(self,db_name): + url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" + data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' + r = self.db_session.put(url, json=data) + return r.status_code == 200 + + def add_user(self, username: str, password: str): + userpass = {"name": username, "password": password, "roles": [], "type": "user"} + url = f"{self.db_url}/_users/org.couchdb.user:{username}" + res = self.db_session.put(url, json=userpass) + return res.status_code in [200, 201, 421] + + #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): + def add_role(self, database: str, members = [], admins =[]): + roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } + url = f"{self.db_base}{database}/_security" + res = self.db_session.put(url, json=roles) + return res.status_code in [200, 201, 421] + +# +# Submit a POST request to the _find endpoint using the specified selector +# + def find_doc(self, database, selector, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/_find" + headers = {'Content-Type': 'application/json'} + session = req.Session() + + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + + session.auth=db_auth + r = session.post(url, headers=headers, data=selector) + if r.status_code == 200: + return json.loads(r.text) + + logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") + return None \ No newline at end of file diff --git a/actions/devel/upload/common/authorize.py b/actions/devel/upload/common/authorize.py index f7d716f3..eab010b0 100644 --- a/actions/devel/upload/common/authorize.py +++ b/actions/devel/upload/common/authorize.py @@ -18,8 +18,8 @@ from base64 import b64decode, b64encode from urllib.parse import quote, unquote -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu import json import common.util as ut @@ -113,13 +113,13 @@ def fetch_subject(self, uuid: str, key: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris namespace for user {uuid} found. Returning Result.") + print(f"OpenServerless namespace for user {uuid} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {uuid} not found!") + print(f"OpenServerless metadata for user {uuid} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {uuid}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {uuid}. Reason: {e}") return None def fetch_user_data(self, username: str): @@ -135,13 +135,13 @@ def fetch_user_data(self, username: str): if(response['docs']): docs = list(response['docs']) if(len(docs) > 0): - print(f"Nuvolaris metadata for user {username} found. Returning Result.") + print(f"OpenServerless metadata for user {username} found. Returning Result.") return docs[0] - print(f"Nuvolaris metadata for user {username} not found!") + print(f"OpenServerless metadata for user {username} not found!") return None except Exception as e: - print(f"failed to query Nuvolaris metadata for user {username}. Reason: {e}") + print(f"failed to query OpenServerless metadata for user {username}. Reason: {e}") return None def login(self, authorization: str): diff --git a/actions/devel/upload/nuvolaris/config.py b/actions/devel/upload/nuvolaris/config.py deleted file mode 100644 index a1e2cede..00000000 --- a/actions/devel/upload/nuvolaris/config.py +++ /dev/null @@ -1,262 +0,0 @@ -# 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. -# -import flatdict, json, os -import logging - -_config = {} - -# Prefix of the kube node labels carrying configuration. Kept as a -# constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" - -# define a configuration -# the configuration is a map, followed by a list of labels -# the map can be a serialized json and will be flattened to a map of values. -# you can have only a configuration active at a time -# if you want to set a new configuration you have to clean it -def configure(spec: dict): - global _config - _config = dict(flatdict.FlatDict(spec, delimiter=".")) - - #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') - - return True - -def clean(): - global _config - _config = {} - -def exists(key): - return key in _config - -def get(key, envvar=None, defval=None): - val = _config.get(key) - - if envvar and envvar in os.environ: - val = os.environ[envvar] - - if val: - return val - - return defval - -def put(key, value): - _config[key] = value - return True - -def delete(key): - if key in _config: - del _config[key] - return True - -def getall(prefix=""): - res = {} - for key in _config.keys(): - if key.startswith(prefix): - res[key] = _config[key] - return res - -def keys(prefix=""): - res = [] - if _config: - for key in _config.keys(): - if key.startswith(prefix): - res.append(key) - return res - -def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") - return {} - - # read labels if not available - if not labels: - import nuvolaris.kube as kube - labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') - - res = {} - kube = None - for i in labels: - for j in list(i.keys()): - if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" - res[key] = i[j] - _config[key] = i[j] - - for i in labels: - for j in list(i.keys()): - # detect the kube type - if j.find("eksctl.io") >= 0: - kube ="eks" - break - if j.find("k8s.io/cloud-provider-aws") >= 0: - kube ="eks" - break - elif j.find("microk8s.io") >= 0: - kube = "microk8s" - break - elif j.find("lke.linode.com") >=0: - kube = "lks" - break - elif j.find("node.openshift.io") >=0: - kube = "openshift" - break - elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": - kube = "k3s" - break - elif j.find("cloud.google.com/gke") >=0: - kube = "gke" - break - elif j.find("kubernetes.azure.com") >=0: - kube = "aks" - break - # assign all the 'nuvolaris.io' labels - - if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube - return res - - # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" - - return res - -def detect_storage(storages=None): - res = {} - if not storages: - import nuvolaris.util as util - - try: - detect_storageclass = True - detect_provisioner = True - - # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") - detect_storageclass = False - - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") - detect_provisioner = False - - if not detect_storageclass and not detect_provisioner: - return res - - if detect_storageclass: - storage_class = util.get_default_storage_class() - if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class - - if detect_provisioner: - provisioner = util.get_default_storage_provisioner() - if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner - except: - pass - return res - -def detect_object_storage(object_storages=None): - """ - Detect the basic Object Store setup if enabled - """ - res = {} - if not object_storages: - import nuvolaris.util as util - - try: - detect_object_store = True - detect_object_store_rgw_srv_name = True - detect_object_store_rgw_srv_port = True - - # skips autodetection if cephobjectstore is not active - if not exists('components.cosi') or not get('components.cosi'): - logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") - return res - - # skips autodetection if already provided - if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': - logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") - detect_object_store = False - - if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") - detect_object_store_rgw_srv_name = False - - if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") - detect_object_store_rgw_srv_port = False - - if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: - return res - - if detect_object_store: - storage_class = util.get_object_storage_class() - if storage_class: - res['cosi.bucket_storageclass'] = storage_class - _config['cosi.bucket_storageclass'] = storage_class - - if detect_object_store_rgw_srv_name: - rgwsrv = util.get_object_storage_rgw_srv_name() - if(rgwsrv): - res['cosi.rgwservice_name'] = rgwsrv - _config['cosi.rgwservice_name'] = rgwsrv - - if detect_object_store_rgw_srv_port: - rgwport = util.get_object_storage_rgw_srv_http_port() - if(rgwport): - res['cosi.rgwservice_port'] = rgwport - _config['cosi.rgwservice_port'] = rgwport - except: - pass - return res - -def detect_env(): - _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") - _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") - - # skip autodetection of controller.image if already configure into whisk.yaml - if not exists('controller.image'): - _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") - _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") - else: - logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") - - if not exists('invoker.image'): - _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") - _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") - else: - logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") - -def detect(): - detect_storage() - detect_labels() - detect_env() - detect_object_storage() - -def dump_config(): - import nuvolaris.config as cfg - for k in cfg.getall(): - logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/upload/nuvolaris/couchdb_util.py b/actions/devel/upload/nuvolaris/couchdb_util.py deleted file mode 100644 index b518a2dd..00000000 --- a/actions/devel/upload/nuvolaris/couchdb_util.py +++ /dev/null @@ -1,170 +0,0 @@ -# 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. -# -import os, json, time, sys, logging -import requests as req -import nuvolaris.config as cfg - -class CouchDB: - def __init__(self): - self.db_protocol = "http" - self.db_prefix = "nuvolaris_" - self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") - self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") - self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") - self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") - self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) - self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" - self.db_base = f"{self.db_url}/{self.db_prefix}" - self.db_session = req.Session() - self.db_session.auth = self.db_auth - - def wait_db_ready(self, max_seconds): - logging.info("entering CouchDB.wait_db_ready()") - start = time.time() - delta = 0 - session = req.Session() - while delta < max_seconds: - try: - r = session.get(f"{self.db_url}/_utils/", timeout=5) - logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") - if r.status_code == 200: - return True - except Exception as e: - logging.info(f"waiting since: {delta} seconds") - delta = int(time.time() - start) - time.sleep(1) - return False - - # check if database exists, return boolean - def check_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.head(url) - return r.status_code == 200 - - # delete database, return true if ok - def delete_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.delete(url) - return r.status_code == 200 - - # create db, return true if ok - def create_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.put(url) - return r.status_code == 201 - - # database="subjects" - def recreate_db(self, database, recreate=False): - msg = "recreate_db:" - exists = self.check_db(database) - if recreate and exists: - msg += " deleted" - self.delete_db(database) - if recreate or not exists: - msg += " created" - self.create_db(database) - return msg - - def get_doc(self, database, id, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/{id}" - session = req.Session() - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - session.auth = db_auth - r = session.get(url) - if r.status_code == 200: - return json.loads(r.text) - return None - - def update_doc(self, database, doc): - if '_id' in doc: - url = f"{self.db_base}{database}/{doc['_id']}" - cur = self.get_doc(database, doc['_id']) - if cur and '_rev' in cur: - doc['_rev'] = cur['_rev'] - r = self.db_session.put(url, json=doc) - else: - r = self.db_session.put(url, json=doc) - return r.status_code in [200,201] - return False - - def delete_doc(self, database, id): - cur = self.get_doc(database, id) - if cur and '_rev' in cur: - url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" - r = self.db_session.delete(url) - return r.status_code == 200 - return False - - def configure_single_node(self): - url = f"{self.db_url}/_cluster_setup" - data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} - r = self.db_session.post(url, json=data) - return r.status_code == 201 - - def configure_no_reduce_limit(self): - url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" - data=b'"false"' - r = self.db_session.put(url, data=data) - return r.status_code == 200 - - def enable_db_compaction(self,db_name): - url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" - data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' - r = self.db_session.put(url, json=data) - return r.status_code == 200 - - def add_user(self, username: str, password: str): - userpass = {"name": username, "password": password, "roles": [], "type": "user"} - url = f"{self.db_url}/_users/org.couchdb.user:{username}" - res = self.db_session.put(url, json=userpass) - return res.status_code in [200, 201, 421] - - #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): - def add_role(self, database: str, members = [], admins =[]): - roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } - url = f"{self.db_base}{database}/_security" - res = self.db_session.put(url, json=roles) - return res.status_code in [200, 201, 421] - -# -# Submit a POST request to the _find endpoint using the specified selector -# - def find_doc(self, database, selector, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/_find" - headers = {'Content-Type': 'application/json'} - session = req.Session() - - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - - session.auth=db_auth - r = session.post(url, headers=headers, data=selector) - if r.status_code == 200: - return json.loads(r.text) - - logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") - return None \ No newline at end of file diff --git a/actions/devel/upload/openserverless/config.py b/actions/devel/upload/openserverless/config.py new file mode 100644 index 00000000..8815171b --- /dev/null +++ b/actions/devel/upload/openserverless/config.py @@ -0,0 +1,262 @@ +# 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. +# +import flatdict, json, os +import logging + +_config = {} + +# Prefix of the kube node labels carrying configuration. Kept as a +# constant so the slice below tracks its length automatically. +LABEL_PREFIX = "openserverless.io/" + +# define a configuration +# the configuration is a map, followed by a list of labels +# the map can be a serialized json and will be flattened to a map of values. +# you can have only a configuration active at a time +# if you want to set a new configuration you have to clean it +def configure(spec: dict): + global _config + _config = dict(flatdict.FlatDict(spec, delimiter=".")) + + #forces autodetect of kube if not provided + if not exists('openserverless.kube'): + put('openserverless.kube','auto') + + return True + +def clean(): + global _config + _config = {} + +def exists(key): + return key in _config + +def get(key, envvar=None, defval=None): + val = _config.get(key) + + if envvar and envvar in os.environ: + val = os.environ[envvar] + + if val: + return val + + return defval + +def put(key, value): + _config[key] = value + return True + +def delete(key): + if key in _config: + del _config[key] + return True + +def getall(prefix=""): + res = {} + for key in _config.keys(): + if key.startswith(prefix): + res[key] = _config[key] + return res + +def keys(prefix=""): + res = [] + if _config: + for key in _config.keys(): + if key.startswith(prefix): + res.append(key) + return res + +def detect_labels(labels=None): + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") + return {} + + # read labels if not available + if not labels: + import openserverless.kube as kube + labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') + + res = {} + kube = None + for i in labels: + for j in list(i.keys()): + if j.startswith(LABEL_PREFIX): + key = f"openserverless.{j[len(LABEL_PREFIX):]}" + res[key] = i[j] + _config[key] = i[j] + + for i in labels: + for j in list(i.keys()): + # detect the kube type + if j.find("eksctl.io") >= 0: + kube ="eks" + break + if j.find("k8s.io/cloud-provider-aws") >= 0: + kube ="eks" + break + elif j.find("microk8s.io") >= 0: + kube = "microk8s" + break + elif j.find("lke.linode.com") >=0: + kube = "lks" + break + elif j.find("node.openshift.io") >=0: + kube = "openshift" + break + elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": + kube = "k3s" + break + elif j.find("cloud.google.com/gke") >=0: + kube = "gke" + break + elif j.find("kubernetes.azure.com") >=0: + kube = "aks" + break + # assign all the 'openserverless.io' labels + + if kube: + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube + return res + + # defaults to generic if it is not yet detected + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" + + return res + +def detect_storage(storages=None): + res = {} + if not storages: + import openserverless.util as util + + try: + detect_storageclass = True + detect_provisioner = True + + # skips autodetection if already provided + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") + detect_storageclass = False + + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") + detect_provisioner = False + + if not detect_storageclass and not detect_provisioner: + return res + + if detect_storageclass: + storage_class = util.get_default_storage_class() + if storage_class: + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class + + if detect_provisioner: + provisioner = util.get_default_storage_provisioner() + if(provisioner): + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner + except: + pass + return res + +def detect_object_storage(object_storages=None): + """ + Detect the basic Object Store setup if enabled + """ + res = {} + if not object_storages: + import openserverless.util as util + + try: + detect_object_store = True + detect_object_store_rgw_srv_name = True + detect_object_store_rgw_srv_port = True + + # skips autodetection if cephobjectstore is not active + if not exists('components.cosi') or not get('components.cosi'): + logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") + return res + + # skips autodetection if already provided + if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': + logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") + detect_object_store = False + + if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") + detect_object_store_rgw_srv_name = False + + if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") + detect_object_store_rgw_srv_port = False + + if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: + return res + + if detect_object_store: + storage_class = util.get_object_storage_class() + if storage_class: + res['cosi.bucket_storageclass'] = storage_class + _config['cosi.bucket_storageclass'] = storage_class + + if detect_object_store_rgw_srv_name: + rgwsrv = util.get_object_storage_rgw_srv_name() + if(rgwsrv): + res['cosi.rgwservice_name'] = rgwsrv + _config['cosi.rgwservice_name'] = rgwsrv + + if detect_object_store_rgw_srv_port: + rgwport = util.get_object_storage_rgw_srv_http_port() + if(rgwport): + res['cosi.rgwservice_port'] = rgwport + _config['cosi.rgwservice_port'] = rgwport + except: + pass + return res + +def detect_env(): + _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") + _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") + + # skip autodetection of controller.image if already configure into whisk.yaml + if not exists('controller.image'): + _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") + _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") + else: + logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") + + if not exists('invoker.image'): + _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") + _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") + else: + logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") + +def detect(): + detect_storage() + detect_labels() + detect_env() + detect_object_storage() + +def dump_config(): + import openserverless.config as cfg + for k in cfg.getall(): + logging.debug(f"{k} = {cfg.get(k)}") diff --git a/actions/devel/upload/openserverless/couchdb_util.py b/actions/devel/upload/openserverless/couchdb_util.py new file mode 100644 index 00000000..49cc0ac7 --- /dev/null +++ b/actions/devel/upload/openserverless/couchdb_util.py @@ -0,0 +1,170 @@ +# 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. +# +import os, json, time, sys, logging +import requests as req +import openserverless.config as cfg + +class CouchDB: + def __init__(self): + self.db_protocol = "http" + self.db_prefix = "openserverless_" + self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") + self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") + self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") + self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") + self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) + self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" + self.db_base = f"{self.db_url}/{self.db_prefix}" + self.db_session = req.Session() + self.db_session.auth = self.db_auth + + def wait_db_ready(self, max_seconds): + logging.info("entering CouchDB.wait_db_ready()") + start = time.time() + delta = 0 + session = req.Session() + while delta < max_seconds: + try: + r = session.get(f"{self.db_url}/_utils/", timeout=5) + logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") + if r.status_code == 200: + return True + except Exception as e: + logging.info(f"waiting since: {delta} seconds") + delta = int(time.time() - start) + time.sleep(1) + return False + + # check if database exists, return boolean + def check_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.head(url) + return r.status_code == 200 + + # delete database, return true if ok + def delete_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.delete(url) + return r.status_code == 200 + + # create db, return true if ok + def create_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.put(url) + return r.status_code == 201 + + # database="subjects" + def recreate_db(self, database, recreate=False): + msg = "recreate_db:" + exists = self.check_db(database) + if recreate and exists: + msg += " deleted" + self.delete_db(database) + if recreate or not exists: + msg += " created" + self.create_db(database) + return msg + + def get_doc(self, database, id, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/{id}" + session = req.Session() + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + session.auth = db_auth + r = session.get(url) + if r.status_code == 200: + return json.loads(r.text) + return None + + def update_doc(self, database, doc): + if '_id' in doc: + url = f"{self.db_base}{database}/{doc['_id']}" + cur = self.get_doc(database, doc['_id']) + if cur and '_rev' in cur: + doc['_rev'] = cur['_rev'] + r = self.db_session.put(url, json=doc) + else: + r = self.db_session.put(url, json=doc) + return r.status_code in [200,201] + return False + + def delete_doc(self, database, id): + cur = self.get_doc(database, id) + if cur and '_rev' in cur: + url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" + r = self.db_session.delete(url) + return r.status_code == 200 + return False + + def configure_single_node(self): + url = f"{self.db_url}/_cluster_setup" + data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} + r = self.db_session.post(url, json=data) + return r.status_code == 201 + + def configure_no_reduce_limit(self): + url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" + data=b'"false"' + r = self.db_session.put(url, data=data) + return r.status_code == 200 + + def enable_db_compaction(self,db_name): + url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" + data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' + r = self.db_session.put(url, json=data) + return r.status_code == 200 + + def add_user(self, username: str, password: str): + userpass = {"name": username, "password": password, "roles": [], "type": "user"} + url = f"{self.db_url}/_users/org.couchdb.user:{username}" + res = self.db_session.put(url, json=userpass) + return res.status_code in [200, 201, 421] + + #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): + def add_role(self, database: str, members = [], admins =[]): + roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } + url = f"{self.db_base}{database}/_security" + res = self.db_session.put(url, json=roles) + return res.status_code in [200, 201, 421] + +# +# Submit a POST request to the _find endpoint using the specified selector +# + def find_doc(self, database, selector, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/_find" + headers = {'Content-Type': 'application/json'} + session = req.Session() + + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + + session.auth=db_auth + r = session.post(url, headers=headers, data=selector) + if r.status_code == 200: + return json.loads(r.text) + + logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") + return None \ No newline at end of file diff --git a/actions/github/callback/__main__.py b/actions/github/callback/__main__.py index 91ac2199..e5789f10 100644 --- a/actions/github/callback/__main__.py +++ b/actions/github/callback/__main__.py @@ -50,7 +50,7 @@ def main(args): """ Action implementing the callback activated when a user subscribe to the nuv-github-app. This implementation will use the code parameter to retrieve access_token and refresh_token representing the user - and will create a nuvolaris user having an openwhisk namespace and minio bucket with 100m quota. + and will create a openserverless user having an openwhisk namespace and minio bucket with 100m quota. """ print(args) @@ -70,15 +70,15 @@ def main(args): user_data = github_client.github_user_detail(token_data['access_token']) if not 'login' in user_data: - return build_error(html.generate_html_error(args['apihost'],"Nuvolaris it is not able to validate your GITHUB account. Account creation stopped.")) + return build_error(html.generate_html_error(args['apihost'],"OpenServerless it is not able to validate your GITHUB account. Account creation stopped.")) username = user_data['login'] - #check that the provided github login it is compliant to nuvolaris standard + #check that the provided github login it is compliant to openserverless standard if len(username) < 5: - return build_error(html.generate_html_error(args['apihost'],f"Your GITHUB account {username} does not match Nuvolaris account criteria. It should be at least 5 characters.")) + return build_error(html.generate_html_error(args['apihost'],f"Your GITHUB account {username} does not match OpenServerless account criteria. It should be at least 5 characters.")) if not _is_valid_username(username): - return build_error(html.generate_html_error(args['apihost'],f"Your GITHUB account {username} does not match Nuvolaris account criteria. User name must consist of only lower case characters (max 61 chars)")) + return build_error(html.generate_html_error(args['apihost'],f"Your GITHUB account {username} does not match OpenServerless account criteria. User name must consist of only lower case characters (max 61 chars)")) #check that there is no wsk user already existing with the same login exiting_whisk_user = kube_client.get_whisk_user(user_data['login']) @@ -91,7 +91,7 @@ def main(args): return build_response(html.generate_html_response(args['apihost'],whisk_user,user_data)) else: - return build_error(html.generate_html_error(args['apihost'],"Nuvolaris it is not able to validate your GITHUB account. GITHUB code token is not valid anymore, please try to activate the nuvolaris GITHUB app again.")) + return build_error(html.generate_html_error(args['apihost'],"OpenServerless it is not able to validate your GITHUB account. GITHUB code token is not valid anymore, please try to activate the openserverless GITHUB app again.")) except Exception as ex: print(ex) diff --git a/actions/github/common/github_client.py b/actions/github/common/github_client.py index 247abea8..e11efbb6 100644 --- a/actions/github/common/github_client.py +++ b/actions/github/common/github_client.py @@ -47,7 +47,7 @@ def _parse_code_exchange_response(self, query): def github_code_exchange(self, client_id,client_secret,code): """ - Exchange the code received from Github when the user activated the nuvolaris github app to + Exchange the code received from Github when the user activated the openserverless github app to retrieve user access tokens. return: access_token=...&expires_in=...&refresh_token=...&refresh_token_expires_in=...&scope=&token_type=bearer """ @@ -71,7 +71,7 @@ def github_code_exchange(self, client_id,client_secret,code): def github_user_detail(self,access_token): """ - Exchange the code received from Github when the user activated the nuvolaris github app to + Exchange the code received from Github when the user activated the openserverless github app to retrieve user access tokens. """ url = f"{self._github_api_url}/user" diff --git a/actions/github/common/html_response_generator.py b/actions/github/common/html_response_generator.py index 5e8f2ca7..df949764 100644 --- a/actions/github/common/html_response_generator.py +++ b/actions/github/common/html_response_generator.py @@ -24,12 +24,12 @@ def generate_html_response(apihost,whisk_user,github_user):
-

Congratulations, you have successfully configured a free nuvolaris account on domain {apihost}

+

Congratulations, you have successfully configured a free openserverless account on domain {apihost}

Please take note of your account details as you won't be able to access this page again!

    @@ -58,12 +58,12 @@ def generate_html_error(apihost,message):
    -

    Oops, something went wront setting a nuvolaris account on domain {apihost}

    +

    Oops, something went wront setting a openserverless account on domain {apihost}

    Please take a look at the provided error description

    diff --git a/actions/github/common/kube_api_client.py b/actions/github/common/kube_api_client.py index 0a2a69f1..d49e44e4 100644 --- a/actions/github/common/kube_api_client.py +++ b/actions/github/common/kube_api_client.py @@ -67,14 +67,14 @@ def _load_config(self,kube_host, kube_port,base64_accesstoken, base64_crt): with open(SERVICE_CERT_FILENAME, "w") as crt: crt.write(self.crt) - def create_whisk_user(self, whisk_user_dict, namespace="nuvolaris"): + def create_whisk_user(self, whisk_user_dict, namespace="openserverless"): """" Creates a whisk user using a POST operation param: whisk_user_dict a dictionary representing the whisksusers resource to create - param: namespace default to nuvolaris + param: namespace default to openserverless return: True if the operation is successfully, False otherwise """ - url = f"{self.host}/apis/nuvolaris.org/v1/namespaces/{namespace}/whisksusers" + url = f"{self.host}/apis/openserverless.org/v1/namespaces/{namespace}/whisksusers" headers = {'Authorization': self.token} try: @@ -92,14 +92,14 @@ def create_whisk_user(self, whisk_user_dict, namespace="nuvolaris"): print(ex) return False - def delete_whisk_user(self, username, namespace="nuvolaris"): + def delete_whisk_user(self, username, namespace="openserverless"): """" Delete a whisk user using a DELETE operation param: username of the whisksusers resource to delete - param: namespace default to nuvolaris + param: namespace default to openserverless return: True if the operation is successfully, False otherwise """ - url = f"{self.host}/apis/nuvolaris.org/v1/namespaces/{namespace}/whisksusers/{username}" + url = f"{self.host}/apis/openserverless.org/v1/namespaces/{namespace}/whisksusers/{username}" headers = {'Authorization': self.token} try: @@ -117,14 +117,14 @@ def delete_whisk_user(self, username, namespace="nuvolaris"): print(ex) return False - def get_whisk_user(self, username, namespace="nuvolaris"): + def get_whisk_user(self, username, namespace="openserverless"): """" Get a whisk user using a GET operation param: username of the whisksusers resource to delete - param: namespace default to nuvolaris + param: namespace default to openserverless return: a dictionary representing the existing user, None otherwise """ - url = f"{self.host}/apis/nuvolaris.org/v1/namespaces/{namespace}/whisksusers/{username}" + url = f"{self.host}/apis/openserverless.org/v1/namespaces/{namespace}/whisksusers/{username}" headers = {'Authorization': self.token} try: diff --git a/actions/github/common/whisk_user_generator.py b/actions/github/common/whisk_user_generator.py index dbdf3a2c..8bf28de1 100644 --- a/actions/github/common/whisk_user_generator.py +++ b/actions/github/common/whisk_user_generator.py @@ -44,11 +44,11 @@ def generate_whisk_user_yaml(username,email): auth = auth_generator() return { - "apiVersion":"nuvolaris.org/v1", + "apiVersion":"openserverless.org/v1", "kind":"WhiskUser", "metadata":{ "name": username, - "namespace": "nuvolaris" + "namespace": "openserverless" }, "spec":{ "email": email, diff --git a/actions/github/webhook/__main__.py b/actions/github/webhook/__main__.py index 5eeb8105..2dfa1a5a 100644 --- a/actions/github/webhook/__main__.py +++ b/actions/github/webhook/__main__.py @@ -97,7 +97,7 @@ def main(args): print("Installation deleted webhook event received") kube_client = KubeApiClient(args['kube_host'],args['kube_port'],args['sa_token'],args['sa_crt']) _delete_whisk_user(github_data['installation'], kube_client) - return build_response("Nuvolaris githup application removal handled") + return build_response("OpenServerless githup application removal handled") #2nd scenario. Handle a push on an authorized repository if github_webhook_event_type in ['push'] and github_data['ref']: diff --git a/actions/login/__main__.py b/actions/login/__main__.py index fbaaa16a..2babae76 100644 --- a/actions/login/__main__.py +++ b/actions/login/__main__.py @@ -19,9 +19,9 @@ import json import logging -import nuvolaris.bcrypt_util as bu -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.bcrypt_util as bu +import openserverless.config as cfg +import openserverless.couchdb_util as cu USER_META_DBN = "users_metadata" @@ -36,10 +36,10 @@ def fetch_user_data(db, login: str): if(len(docs) > 0): return docs[0] - logging.warn(f"Nuvolaris metadata for user {login} not found!") + logging.warn(f"OpenServerless metadata for user {login} not found!") return None except Exception as e: - logging.error(f"failed to query Nuvolaris metadata for user {login}. Reason: {e}") + logging.error(f"failed to query OpenServerless metadata for user {login}. Reason: {e}") return None def build_error(message: str): @@ -74,7 +74,7 @@ def build_response(user_data): def map_data(user_data): """ - Map the internal nuvolaris user_data records to the auth response + Map the internal openserverless user_data records to the auth response """ resp = {} resp['login'] = user_data['login'] diff --git a/actions/secrets/__main__.py b/actions/secrets/__main__.py index 859db9a0..bce5f40c 100644 --- a/actions/secrets/__main__.py +++ b/actions/secrets/__main__.py @@ -19,8 +19,8 @@ import json import logging -import nuvolaris.config as cfg -import nuvolaris.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util as cu USER_META_DBN = "users_metadata" @@ -36,10 +36,10 @@ def fetch_user_data(db, login: str): if len(docs) > 0: return docs[0] - logging.warning(f"Nuvolaris metadata for user {login} not found!") + logging.warning(f"OpenServerless metadata for user {login} not found!") return None except Exception as e: - logging.error(f"failed to query Nuvolaris metadata for user {login}. Reason: {e}") + logging.error(f"failed to query OpenServerless metadata for user {login}. Reason: {e}") return None @@ -85,7 +85,7 @@ def handle_additional_env(user_data, env) -> [dict, list, list, list]: def map_data(user_data): """ - Map the internal nuvolaris user_data records to the auth response + Map the internal openserverless user_data records to the auth response """ resp = {} resp['login'] = user_data['login'] diff --git a/actions/secrets/user_metadata.py b/actions/secrets/user_metadata.py index 225f22da..55fd3042 100644 --- a/actions/secrets/user_metadata.py +++ b/actions/secrets/user_metadata.py @@ -19,8 +19,8 @@ import logging from datetime import datetime -import nuvolaris.bcrypt_util as bu -from nuvolaris.user_config import UserConfig +import openserverless.bcrypt_util as bu +from openserverless.user_config import UserConfig class UserMetadata: diff --git a/actions/system.yml b/actions/system.yml index 2971df60..4da7a250 100644 --- a/actions/system.yml +++ b/actions/system.yml @@ -24,8 +24,8 @@ tasks: login:prepare: - |- - mkdir -p login/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py login/nuvolaris + mkdir -p login/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py login/openserverless - |- cd login rm -f ../{{.DEPLOY}}/login.zip @@ -42,8 +42,8 @@ tasks: redis:prepare: - |- - mkdir -p devel/redis/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/redis/nuvolaris + mkdir -p devel/redis/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/redis/openserverless - |- mkdir -p devel/redis/common cp ./common/authorize.py ./common/command_data.py ./common/util.py devel/redis/common @@ -54,8 +54,8 @@ tasks: psql:prepare: - |- - mkdir -p devel/psql/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/psql/nuvolaris + mkdir -p devel/psql/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/psql/openserverless - |- mkdir -p devel/psql/common cp ./common/authorize.py ./common/command_data.py ./common/util.py devel/psql/common @@ -66,8 +66,8 @@ tasks: minio:prepare: - |- - mkdir -p devel/minio/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/minio/nuvolaris + mkdir -p devel/minio/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/minio/openserverless - |- mkdir -p devel/minio/common cp ./common/*.py devel/minio/common @@ -78,8 +78,8 @@ tasks: devel_upload:prepare: - |- - mkdir -p devel/upload/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/upload/nuvolaris + mkdir -p devel/upload/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/upload/openserverless - |- mkdir -p devel/upload/common cp ./common/*.py devel/upload/common @@ -90,8 +90,8 @@ tasks: devel_download:prepare: - |- - mkdir -p devel/download/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/download/nuvolaris + mkdir -p devel/download/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/download/openserverless - |- mkdir -p devel/download/common cp ./common/*.py devel/download/common @@ -103,8 +103,8 @@ tasks: ferretdb:prepare: - |- - mkdir -p devel/ferretdb/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py devel/ferretdb/nuvolaris + mkdir -p devel/ferretdb/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py devel/ferretdb/openserverless - |- mkdir -p devel/ferretdb/common cp ./common/*.py devel/ferretdb/common @@ -115,8 +115,8 @@ tasks: secrets:prepare: - |- - rm -rf secrets/nuvolaris && mkdir -p secrets/nuvolaris - cp ../nuvolaris/config.py ../nuvolaris/couchdb_util.py ../nuvolaris/user_config.py secrets/nuvolaris + rm -rf secrets/openserverless && mkdir -p secrets/openserverless + cp ../openserverless/config.py ../openserverless/couchdb_util.py ../openserverless/user_config.py secrets/openserverless - |- cd secrets rm -f ../{{.DEPLOY}}/secrets.zip diff --git a/clusters/aks.yml b/clusters/aks.yml index 06cf6b17..4ddc3d9d 100644 --- a/clusters/aks.yml +++ b/clusters/aks.yml @@ -26,7 +26,7 @@ tasks: list: az aks list config: - - az aks get-credentials --resource-group nuvolaris --name nuvolaris --file aks.kubeconfig + - az aks get-credentials --resource-group openserverless --name openserverless --file aks.kubeconfig - cp aks.kubeconfig ~/.kube/config \ No newline at end of file diff --git a/clusters/eks-cluster.yml b/clusters/eks-cluster.yml index d490373d..28314dcf 100644 --- a/clusters/eks-cluster.yml +++ b/clusters/eks-cluster.yml @@ -19,7 +19,7 @@ apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: - name: nuvolaris-eks + name: openserverless-eks region: us-east-1 iam: diff --git a/clusters/eks.yml b/clusters/eks.yml index 71c396e9..cc2dde4b 100644 --- a/clusters/eks.yml +++ b/clusters/eks.yml @@ -25,18 +25,18 @@ tasks: destroy: - eksctl delete cluster -f eks-cluster.yml --disable-nodegroup-eviction - #--name nuvolaris-cluster --region=us-east-1 + #--name openserverless-cluster --region=us-east-1 list: eksctl get cluster --region=us-east-1 config: |- - aws eks update-kubeconfig --kubeconfig eks.kubeconfig --name=nuvolaris-eks --region=us-east-1 + aws eks update-kubeconfig --kubeconfig eks.kubeconfig --name=openserverless-eks --region=us-east-1 cp eks.kubeconfig ~/.kube/config kubectl get nodes - avail-addons: eksctl utils describe-addon-versions --cluster=nuvolaris-eks --region=us-east-1 + avail-addons: eksctl utils describe-addon-versions --cluster=openserverless-eks --region=us-east-1 - list-addon: eksctl get addons --cluster=nuvolaris-eks --region=us-east-1 + list-addon: eksctl get addons --cluster=openserverless-eks --region=us-east-1 reset: - kubectl delete -f ../deploy/cert-manager/cert-manager.yaml diff --git a/clusters/kind.yml b/clusters/kind.yml index bf08d68b..6305a572 100644 --- a/clusters/kind.yml +++ b/clusters/kind.yml @@ -26,7 +26,7 @@ tasks: list: kind get clusters - get-config: kind get kubeconfig --name=nuvolaris >kind.kubeconfig + get-config: kind get kubeconfig --name=openserverless >kind.kubeconfig config: - task: get-config diff --git a/clusters/lks.yml b/clusters/lks.yml index d4099ac6..4234f1e2 100644 --- a/clusters/lks.yml +++ b/clusters/lks.yml @@ -23,7 +23,7 @@ tasks: create: > linode-cli lke cluster-create \ - --label=nuvolaris-cluster --region=eu-west \ + --label=openserverless-cluster --region=eu-west \ --k8s_version=1.25 --node_pools.type=g6-standard-4 --node_pools.count=3 destroy: | diff --git a/clusters/microk8s.yml b/clusters/microk8s.yml index bbc5b6f0..0c39da38 100644 --- a/clusters/microk8s.yml +++ b/clusters/microk8s.yml @@ -31,7 +31,7 @@ vars: then awk -F= '/GITHUB_USER=/{print $2}' ../.env else echo unknown fi - STACK: "{{.GITHUB_USER}}-nuvolaris-dev" + STACK: "{{.GITHUB_USER}}-openserverless-dev" KUBECONFIG: "microk8s-{{.GITHUB_USER}}.kubeconfig" tasks: diff --git a/clusters/openshift-aggregate.yaml b/clusters/openshift-aggregate.yaml index 5fe5e021..04a0a589 100644 --- a/clusters/openshift-aggregate.yaml +++ b/clusters/openshift-aggregate.yaml @@ -19,23 +19,23 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole items: - metadata: - name: nuvolaris-whisk-edit + name: openserverless-whisk-edit labels: rbac.authorization.k8s.io/aggregate-to-admin: "true" rbac.authorization.k8s.io/aggregate-to-edit: "true" rules: - - apiGroups: ["nuvolaris.org"] + - apiGroups: ["openserverless.org"] resources: ["whisks","whiskusers","workflows"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete", "deletecollection"] - metadata: - name: nuvolaris-whisk-view + name: openserverless-whisk-view labels: # Add these permissions to the "view" default role. rbac.authorization.k8s.io/aggregate-to-view: "true" rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true" rules: - - apiGroups: ["nuvolaris.org"] + - apiGroups: ["openserverless.org"] resources: ["whisks","whiskusers","workflows"] verbs: ["get", "list", "watch"] \ No newline at end of file diff --git a/clusters/openshift-user.yaml b/clusters/openshift-user.yaml index bcd6d9ba..31bc0cf7 100644 --- a/clusters/openshift-user.yaml +++ b/clusters/openshift-user.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Secret metadata: - name: nuvolaris-htpass-secret + name: openserverless-htpass-secret namespace: openshift-config type: Opaque data: @@ -32,9 +32,9 @@ metadata: name: cluster spec: identityProviders: - - name: nuvolaris_htpass + - name: openserverless_htpass mappingMethod: claim type: HTPasswd htpasswd: fileData: - name: nuvolaris-htpass-secret + name: openserverless-htpass-secret diff --git a/clusters/openshift.yml b/clusters/openshift.yml index c0f54b2b..60550a15 100644 --- a/clusters/openshift.yml +++ b/clusters/openshift.yml @@ -41,13 +41,13 @@ tasks: user: - oc apply -f openshift-user.yaml - - oc adm policy add-role-to-user admin nuvolaris - - oc apply -f ../deploy/nuvolaris-permissions/whisk-crd.yaml + - oc adm policy add-role-to-user admin openserverless + - oc apply -f ../deploy/openserverless-permissions/whisk-crd.yaml - oc apply -f openshift-aggregate.yaml project: - - oc new-project nuvolaris --description="Nuvolaris" --display-name="Nuvolaris" - - oc project nuvolaris + - oc new-project openserverless --description="OpenServerless" --display-name="OpenServerless" + - oc project openserverless config: - oc login "$OPENSHIFT_API" --username="$OPENSHIFT_USER" --password="$OPENSHIFT_PASSWORD" diff --git a/demos/devel/mdb_insert.json b/demos/devel/mdb_insert.json index 159587c4..447c3aba 100644 --- a/demos/devel/mdb_insert.json +++ b/demos/devel/mdb_insert.json @@ -1,12 +1,12 @@ { - "insert":"nuvolaris", + "insert":"openserverless", "documents":[ { "Name":"Affare", "Surname":"fatto" }, { - "Name":"Nuvolaris", + "Name":"OpenServerless", "Surname":"rocks" }, { diff --git a/demos/devel/minio_cp.json b/demos/devel/minio_cp.json index 839970a7..a394bd6c 100644 --- a/demos/devel/minio_cp.json +++ b/demos/devel/minio_cp.json @@ -1,9 +1,9 @@ { "command":"cp", "args":[ - "nuvolaris-web", + "openserverless-web", "index.html", - "nuvolaris-web", + "openserverless-web", "tidy/content2.html" ] } \ No newline at end of file diff --git a/demos/devel/minio_ls.json b/demos/devel/minio_ls.json index a531c358..93c016e7 100644 --- a/demos/devel/minio_ls.json +++ b/demos/devel/minio_ls.json @@ -1,6 +1,6 @@ { "command":"ls", "args":[ - "nuvolaris-web" + "openserverless-web" ] } \ No newline at end of file diff --git a/demos/devel/minio_mv.json b/demos/devel/minio_mv.json index 8c7a20e3..061d80c0 100644 --- a/demos/devel/minio_mv.json +++ b/demos/devel/minio_mv.json @@ -1,9 +1,9 @@ { "command":"mv", "args":[ - "nuvolaris-web", + "openserverless-web", "content.html", - "nuvolaris-web", + "openserverless-web", "tidy/content.html" ] } \ No newline at end of file diff --git a/demos/devel/minio_rm.json b/demos/devel/minio_rm.json index 3f5fb5cf..80eab9cb 100644 --- a/demos/devel/minio_rm.json +++ b/demos/devel/minio_rm.json @@ -1,7 +1,7 @@ { "command":"rm", "args":[ - "nuvolaris-web", + "openserverless-web", "tidy/content.html" ] } \ No newline at end of file diff --git a/demos/devel/psql_create2.json b/demos/devel/psql_create2.json index 75979e2f..0dfbc32f 100644 --- a/demos/devel/psql_create2.json +++ b/demos/devel/psql_create2.json @@ -1,3 +1,3 @@ { - "command":"CREATE TABLE IF NOT EXISTS nuvolaris_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(),message varchar(100))" + "command":"CREATE TABLE IF NOT EXISTS openserverless_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(),message varchar(100))" } \ No newline at end of file diff --git a/demos/devel/psql_create3.json b/demos/devel/psql_create3.json index 29d6da29..424cb648 100644 --- a/demos/devel/psql_create3.json +++ b/demos/devel/psql_create3.json @@ -1,3 +1,3 @@ { - "command":"INSERT INTO nuvolaris_table(message) VALUES ('Hello, World!');" + "command":"INSERT INTO openserverless_table(message) VALUES ('Hello, World!');" } \ No newline at end of file diff --git a/demos/devel/psql_desc.json b/demos/devel/psql_desc.json index 22782db4..45faff7a 100644 --- a/demos/devel/psql_desc.json +++ b/demos/devel/psql_desc.json @@ -1,3 +1,3 @@ { - "command":"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'nuvolaris_table'" + "command":"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'openserverless_table'" } \ No newline at end of file diff --git a/demos/devel/psql_select.json b/demos/devel/psql_select.json index 5e897771..945f8365 100644 --- a/demos/devel/psql_select.json +++ b/demos/devel/psql_select.json @@ -1,3 +1,3 @@ { - "command":"select message from nuvolaris_table" + "command":"select message from openserverless_table" } \ No newline at end of file diff --git a/demos/devel/redis_get.json b/demos/devel/redis_get.json index 90c9646b..f6b8bf1b 100644 --- a/demos/devel/redis_get.json +++ b/demos/devel/redis_get.json @@ -1,3 +1,3 @@ { - "command":"GET nuvolaris:key1" + "command":"GET openserverless:key1" } \ No newline at end of file diff --git a/demos/devel/redis_set.json b/demos/devel/redis_set.json index b1eecb97..9b000eac 100644 --- a/demos/devel/redis_set.json +++ b/demos/devel/redis_set.json @@ -1,3 +1,3 @@ { - "command":"SET nuvolaris:key1 giggino" + "command":"SET openserverless:key1 giggino" } \ No newline at end of file diff --git a/demos/milvus/milvus_admin_test.py b/demos/milvus/milvus_admin_test.py index f9a455ed..598d53fc 100644 --- a/demos/milvus/milvus_admin_test.py +++ b/demos/milvus/milvus_admin_test.py @@ -18,7 +18,7 @@ # import os -from nuvolaris.milvus_simple_client import MilvusSimpleClient as MilvusClient +from openserverless.milvus_simple_client import MilvusSimpleClient as MilvusClient # for this test minioClient should see this env variable os.environ['MILVUS_ROOT_USER']='root' @@ -30,7 +30,7 @@ #client.setup_user("userA","Afrodite1972#123") #client.setup_user("userB","Afrodite1972#123") -client3 = MilvusClient(uri="http://localhost:19530",token="nuvolaris:Nuv0therPa55",db_name="nuvolaris") +client3 = MilvusClient(uri="http://localhost:19530",token="openserverless:Nuv0therPa55",db_name="openserverless") print(client3.create_collection(collection_name="userA_collection", dimension=100)) print(client3.list_collections()) diff --git a/deploy/Taskfile.yml b/deploy/Taskfile.yml index 25bb091b..ea38e1dd 100644 --- a/deploy/Taskfile.yml +++ b/deploy/Taskfile.yml @@ -49,13 +49,13 @@ tasks: echo "*** saved in extract/{{.YAML}}" fi - deploy: kubectl -n nuvolaris apply -f deploy/nuvolaris-operator/whisk.yaml + deploy: kubectl -n openserverless apply -f deploy/openserverless-operator/whisk.yaml undeploy-del: > - kubectl -n nuvolaris delete wsk/standalone + kubectl -n openserverless delete wsk/standalone undeploy-patch: > - kubectl -n nuvolaris patch wsk/standalone --type=merge --patch '{"metadata": {"finalizers":[] } }' + kubectl -n openserverless patch wsk/standalone --type=merge --patch '{"metadata": {"finalizers":[] } }' undeploy: deps: diff --git a/deploy/alert-manager/alertmanager-02-cm.yaml b/deploy/alert-manager/alertmanager-02-cm.yaml index 208b9f0d..3b52b255 100644 --- a/deploy/alert-manager/alertmanager-02-cm.yaml +++ b/deploy/alert-manager/alertmanager-02-cm.yaml @@ -19,13 +19,13 @@ apiVersion: v1 kind: ConfigMap metadata: annotations: - meta.helm.sh/release-name: nuvolaris-prometheus - meta.helm.sh/release-namespace: nuvolaris + meta.helm.sh/release-name: openserverless-prometheus + meta.helm.sh/release-namespace: openserverless labels: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager - name: nuvolaris-prometheus-alertmanager - namespace: nuvolaris + name: openserverless-prometheus-alertmanager + namespace: openserverless data: alertmanager.yml: | {} diff --git a/deploy/alert-manager/alertmanager-03-dep.yaml b/deploy/alert-manager/alertmanager-03-dep.yaml index e882c968..94c65329 100644 --- a/deploy/alert-manager/alertmanager-03-dep.yaml +++ b/deploy/alert-manager/alertmanager-03-dep.yaml @@ -18,18 +18,18 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-prometheus-alertmanager - namespace: nuvolaris + name: openserverless-prometheus-alertmanager + namespace: openserverless labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager strategy: type: Recreate @@ -37,14 +37,14 @@ spec: metadata: labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager name: alertmanager annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: - serviceAccount: nuvolaris-prometheus-alertmanager - serviceAccountName: nuvolaris-prometheus-alertmanager + serviceAccount: openserverless-prometheus-alertmanager + serviceAccountName: openserverless-prometheus-alertmanager terminationGracePeriodSeconds: 300 automountServiceAccountToken: true containers: @@ -93,8 +93,8 @@ spec: volumes: - configMap: defaultMode: 420 - name: nuvolaris-prometheus-alertmanager + name: openserverless-prometheus-alertmanager name: config - name: storage-volume persistentVolumeClaim: - claimName: storage-nuvolaris-prometheus-alertmanager \ No newline at end of file + claimName: storage-openserverless-prometheus-alertmanager \ No newline at end of file diff --git a/deploy/alert-manager/alertmanager-04-svc.yaml b/deploy/alert-manager/alertmanager-04-svc.yaml index b270645f..2164b488 100644 --- a/deploy/alert-manager/alertmanager-04-svc.yaml +++ b/deploy/alert-manager/alertmanager-04-svc.yaml @@ -18,10 +18,10 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-prometheus-alertmanager - namespace: nuvolaris + name: openserverless-prometheus-alertmanager + namespace: openserverless labels: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager spec: sessionAffinity: None @@ -33,5 +33,5 @@ spec: protocol: TCP targetPort: http selector: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager diff --git a/deploy/apisix/apisix-cm.yaml b/deploy/apisix/apisix-cm.yaml index 7c5ff873..1c7d474f 100644 --- a/deploy/apisix/apisix-cm.yaml +++ b/deploy/apisix/apisix-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: apisix - namespace: nuvolaris + namespace: openserverless data: config.yaml: |- # @@ -243,6 +243,6 @@ data: etcd: host: # it's possible to define multiple etcd hosts addresses of the same etcd cluster. - - "http://apisix-etcd.nuvolaris.svc.cluster.local:2379" + - "http://apisix-etcd.openserverless.svc.cluster.local:2379" prefix: "/apisix" # configuration prefix in etcd timeout: 30 # 30 seconds diff --git a/deploy/apisix/apisix-dep.yaml b/deploy/apisix/apisix-dep.yaml index b757cac0..f6934451 100644 --- a/deploy/apisix/apisix-dep.yaml +++ b/deploy/apisix/apisix-dep.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: apisix - namespace: nuvolaris + namespace: openserverless labels: app.kubernetes.io/name: apisix app.kubernetes.io/instance: apisix @@ -76,7 +76,7 @@ spec: initContainers: - name: wait-etcd image: busybox:1.28 - command: ['sh', '-c', "until nc -z apisix-etcd.nuvolaris.svc.cluster.local 2379; do echo waiting for etcd `date`; sleep 2; done;"] + command: ['sh', '-c', "until nc -z apisix-etcd.openserverless.svc.cluster.local 2379; do echo waiting for etcd `date`; sleep 2; done;"] volumes: - configMap: name: apisix diff --git a/deploy/apisix/apisix-svc.yaml b/deploy/apisix/apisix-svc.yaml index 30d8b6b9..8b1f457a 100644 --- a/deploy/apisix/apisix-svc.yaml +++ b/deploy/apisix/apisix-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: apisix-admin - namespace: nuvolaris + namespace: openserverless annotations: labels: app.kubernetes.io/name: apisix @@ -41,7 +41,7 @@ apiVersion: v1 kind: Service metadata: name: apisix-gateway - namespace: nuvolaris + namespace: openserverless annotations: labels: app.kubernetes.io/name: apisix diff --git a/deploy/couchdb/couchdb-svc.yaml b/deploy/couchdb/couchdb-svc.yaml index 8bb2a0ff..cf8561e4 100644 --- a/deploy/couchdb/couchdb-svc.yaml +++ b/deploy/couchdb/couchdb-svc.yaml @@ -20,11 +20,11 @@ apiVersion: v1 kind: Service metadata: name: couchdb-np - namespace: nuvolaris + namespace: openserverless spec: type: NodePort selector: - app: nuvolaris-couchdb + app: openserverless-couchdb replicationRole: primary ports: - port: 5984 @@ -35,10 +35,10 @@ apiVersion: v1 kind: Service metadata: name: couchdb - namespace: nuvolaris + namespace: openserverless spec: selector: - app: nuvolaris-couchdb + app: openserverless-couchdb replicationRole: primary ports: - port: 5984 diff --git a/deploy/cuda/cuda.yaml b/deploy/cuda/cuda.yaml index fd6c836a..6f1856e8 100644 --- a/deploy/cuda/cuda.yaml +++ b/deploy/cuda/cuda.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: ops-cuda-runtime - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: @@ -48,7 +48,7 @@ apiVersion: v1 kind: Service metadata: name: ops-cuda-service - namespace: nuvolaris + namespace: openserverless labels: name: ops-cuda-service app: ops-cuda-service diff --git a/deploy/demos/devel/mdb_insert.json b/deploy/demos/devel/mdb_insert.json index 159587c4..447c3aba 100644 --- a/deploy/demos/devel/mdb_insert.json +++ b/deploy/demos/devel/mdb_insert.json @@ -1,12 +1,12 @@ { - "insert":"nuvolaris", + "insert":"openserverless", "documents":[ { "Name":"Affare", "Surname":"fatto" }, { - "Name":"Nuvolaris", + "Name":"OpenServerless", "Surname":"rocks" }, { diff --git a/deploy/demos/devel/minio_cp.json b/deploy/demos/devel/minio_cp.json index 839970a7..a394bd6c 100644 --- a/deploy/demos/devel/minio_cp.json +++ b/deploy/demos/devel/minio_cp.json @@ -1,9 +1,9 @@ { "command":"cp", "args":[ - "nuvolaris-web", + "openserverless-web", "index.html", - "nuvolaris-web", + "openserverless-web", "tidy/content2.html" ] } \ No newline at end of file diff --git a/deploy/demos/devel/minio_ls.json b/deploy/demos/devel/minio_ls.json index a531c358..93c016e7 100644 --- a/deploy/demos/devel/minio_ls.json +++ b/deploy/demos/devel/minio_ls.json @@ -1,6 +1,6 @@ { "command":"ls", "args":[ - "nuvolaris-web" + "openserverless-web" ] } \ No newline at end of file diff --git a/deploy/demos/devel/minio_mv.json b/deploy/demos/devel/minio_mv.json index 8c7a20e3..061d80c0 100644 --- a/deploy/demos/devel/minio_mv.json +++ b/deploy/demos/devel/minio_mv.json @@ -1,9 +1,9 @@ { "command":"mv", "args":[ - "nuvolaris-web", + "openserverless-web", "content.html", - "nuvolaris-web", + "openserverless-web", "tidy/content.html" ] } \ No newline at end of file diff --git a/deploy/demos/devel/minio_rm.json b/deploy/demos/devel/minio_rm.json index 3f5fb5cf..80eab9cb 100644 --- a/deploy/demos/devel/minio_rm.json +++ b/deploy/demos/devel/minio_rm.json @@ -1,7 +1,7 @@ { "command":"rm", "args":[ - "nuvolaris-web", + "openserverless-web", "tidy/content.html" ] } \ No newline at end of file diff --git a/deploy/demos/devel/psql_create2.json b/deploy/demos/devel/psql_create2.json index 75979e2f..0dfbc32f 100644 --- a/deploy/demos/devel/psql_create2.json +++ b/deploy/demos/devel/psql_create2.json @@ -1,3 +1,3 @@ { - "command":"CREATE TABLE IF NOT EXISTS nuvolaris_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(),message varchar(100))" + "command":"CREATE TABLE IF NOT EXISTS openserverless_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(),message varchar(100))" } \ No newline at end of file diff --git a/deploy/demos/devel/psql_create3.json b/deploy/demos/devel/psql_create3.json index 29d6da29..424cb648 100644 --- a/deploy/demos/devel/psql_create3.json +++ b/deploy/demos/devel/psql_create3.json @@ -1,3 +1,3 @@ { - "command":"INSERT INTO nuvolaris_table(message) VALUES ('Hello, World!');" + "command":"INSERT INTO openserverless_table(message) VALUES ('Hello, World!');" } \ No newline at end of file diff --git a/deploy/demos/devel/psql_desc.json b/deploy/demos/devel/psql_desc.json index 22782db4..45faff7a 100644 --- a/deploy/demos/devel/psql_desc.json +++ b/deploy/demos/devel/psql_desc.json @@ -1,3 +1,3 @@ { - "command":"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'nuvolaris_table'" + "command":"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'openserverless_table'" } \ No newline at end of file diff --git a/deploy/demos/devel/psql_select.json b/deploy/demos/devel/psql_select.json index 5e897771..945f8365 100644 --- a/deploy/demos/devel/psql_select.json +++ b/deploy/demos/devel/psql_select.json @@ -1,3 +1,3 @@ { - "command":"select message from nuvolaris_table" + "command":"select message from openserverless_table" } \ No newline at end of file diff --git a/deploy/demos/devel/redis_get.json b/deploy/demos/devel/redis_get.json index 90c9646b..f6b8bf1b 100644 --- a/deploy/demos/devel/redis_get.json +++ b/deploy/demos/devel/redis_get.json @@ -1,3 +1,3 @@ { - "command":"GET nuvolaris:key1" + "command":"GET openserverless:key1" } \ No newline at end of file diff --git a/deploy/demos/devel/redis_set.json b/deploy/demos/devel/redis_set.json index b1eecb97..9b000eac 100644 --- a/deploy/demos/devel/redis_set.json +++ b/deploy/demos/devel/redis_set.json @@ -1,3 +1,3 @@ { - "command":"SET nuvolaris:key1 giggino" + "command":"SET openserverless:key1 giggino" } \ No newline at end of file diff --git a/deploy/demos/reference/milvus_manifest.yaml b/deploy/demos/reference/milvus_manifest.yaml index 70ee3fcd..9f4b8f10 100644 --- a/deploy/demos/reference/milvus_manifest.yaml +++ b/deploy/demos/reference/milvus_manifest.yaml @@ -22,24 +22,24 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-minio" - namespace: "nuvolaris" + name: "openserverless-milvus-minio" + namespace: "openserverless" labels: app: minio chart: minio-8.0.17 - release: "nuvolaris-milvus" + release: "openserverless-milvus" --- apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery annotations: --- @@ -65,14 +65,14 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: bookie annotations: --- @@ -98,14 +98,14 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-pulsarv3-broker-acct" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker-acct" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: broker annotations: --- @@ -131,14 +131,14 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: proxy annotations: --- @@ -164,14 +164,14 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: zookeeper annotations: --- @@ -179,11 +179,11 @@ metadata: apiVersion: v1 kind: Secret metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio labels: app: minio chart: minio-8.0.17 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm type: Opaque data: @@ -194,11 +194,11 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio labels: app: minio chart: minio-8.0.17 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm data: initialize: |- @@ -334,18 +334,18 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery data: # common config - zkServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zkServers: "openserverless-milvus-pulsarv3-zookeeper:2181" zkLedgersRootPath: "/ledgers" # enable bookkeeper http server httpServerEnabled: "true" @@ -380,18 +380,18 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: bookie data: # common config - zkServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zkServers: "openserverless-milvus-pulsarv3-zookeeper:2181" zkLedgersRootPath: "/ledgers" # enable bookkeeper http server httpServerEnabled: "true" @@ -447,22 +447,22 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: broker data: # Metadata settings - zookeeperServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" - configurationStoreServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zookeeperServers: "openserverless-milvus-pulsarv3-zookeeper:2181" + configurationStoreServers: "openserverless-milvus-pulsarv3-zookeeper:2181" # Broker settings - clusterName: nuvolaris-milvus-pulsarv3 + clusterName: openserverless-milvus-pulsarv3 exposeTopicLevelMetricsInPrometheus: "true" numHttpServerThreads: "8" zooKeeperSessionTimeoutMillis: "30000" @@ -516,23 +516,23 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: proxy data: - clusterName: nuvolaris-milvus-pulsarv3 + clusterName: openserverless-milvus-pulsarv3 statusFilePath: "/pulsar/status" # prometheus needs to access /metrics endpoint webServicePort: "8080" servicePort: "6650" - brokerServiceURL: pulsar://nuvolaris-milvus-pulsarv3-broker:6650 - brokerWebServiceURL: http://nuvolaris-milvus-pulsarv3-broker:8080 + brokerServiceURL: pulsar://openserverless-milvus-pulsarv3-broker:6650 + brokerWebServiceURL: http://openserverless-milvus-pulsarv3-broker:8080 # Authentication Settings PULSAR_GC: | @@ -565,14 +565,14 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: zookeeper data: dataDir: /pulsar/data/zookeeper @@ -588,8 +588,8 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless data: default.yaml: |+ # Copyright (C) 2019-2021 Zilliz. All rights reserved. @@ -605,13 +605,13 @@ data: etcd: endpoints: - - nuvolaris-milvus-etcd-0.nuvolaris-milvus-etcd-headless.nuvolaris.svc.cluster.local:2379 + - openserverless-milvus-etcd-0.openserverless-milvus-etcd-headless.openserverless.svc.cluster.local:2379 metastore: type: etcd minio: - address: nuvolaris-milvus-minio + address: openserverless-milvus-minio port: 9000 accessKeyID: minioadmin secretAccessKey: minioadmin @@ -627,7 +627,7 @@ data: messageQueue: pulsar pulsar: - address: nuvolaris-milvus-pulsarv3-proxy + address: openserverless-milvus-pulsarv3-proxy port: 6650 maxMessageSize: 104857600 @@ -699,13 +699,13 @@ data: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio annotations: helm.sh/resource-policy: keep labels: app: minio chart: minio-8.0.17 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm spec: accessModes: @@ -718,14 +718,14 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless annotations: helm.sh/resource-policy: keep labels: helm.sh/chart: milvus-4.2.32 app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/version: "2.5.0-beta" app.kubernetes.io/managed-by: Helm spec: @@ -739,13 +739,13 @@ spec: apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: "nuvolaris-milvus-pulsarv3-broker-role" + name: "openserverless-milvus-pulsarv3-broker-role" labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 rules: - apiGroups: [""] resources: @@ -790,32 +790,32 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: "nuvolaris-milvus-pulsarv3-broker-rolebinding" + name: "openserverless-milvus-pulsarv3-broker-rolebinding" labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: "nuvolaris-milvus-pulsarv3-broker-role" + name: "openserverless-milvus-pulsarv3-broker-role" subjects: - kind: ServiceAccount - name: "nuvolaris-milvus-pulsarv3-broker-acct" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker-acct" + namespace: openserverless --- # Source: milvus/charts/etcd/templates/svc-headless.yaml apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus-etcd-headless - namespace: nuvolaris + name: openserverless-milvus-etcd-headless + namespace: openserverless labels: app.kubernetes.io/name: etcd helm.sh/chart: etcd-6.3.3 - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/managed-by: Helm annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" @@ -832,18 +832,18 @@ spec: targetPort: peer selector: app.kubernetes.io/name: etcd - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus --- # Source: milvus/charts/etcd/templates/svc.yaml apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus-etcd - namespace: nuvolaris + name: openserverless-milvus-etcd + namespace: openserverless labels: app.kubernetes.io/name: etcd helm.sh/chart: etcd-6.3.3 - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/managed-by: Helm annotations: spec: @@ -859,17 +859,17 @@ spec: nodePort: null selector: app.kubernetes.io/name: etcd - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus --- # Source: milvus/charts/minio/templates/service.yaml apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio labels: app: minio chart: minio-8.0.17 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm spec: type: ClusterIP @@ -880,7 +880,7 @@ spec: targetPort: 9000 selector: app: minio - release: nuvolaris-milvus + release: openserverless-milvus --- # Source: milvus/charts/pulsarv3/templates/autorecovery-service.yaml # @@ -904,14 +904,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery spec: ports: @@ -920,7 +920,7 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: recovery --- # Source: milvus/charts/pulsarv3/templates/bookkeeper-service.yaml @@ -945,14 +945,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: bookie spec: ports: @@ -963,7 +963,7 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: bookie publishNotReadyAddresses: true --- @@ -989,14 +989,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: broker annotations: {} @@ -1010,7 +1010,7 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: broker --- # Source: milvus/charts/pulsarv3/templates/proxy-service.yaml @@ -1035,14 +1035,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: proxy annotations: spec: @@ -1058,7 +1058,7 @@ spec: targetPort: "sts-pulsar" selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: proxy --- # Source: milvus/charts/pulsarv3/templates/zookeeper-service.yaml @@ -1085,14 +1085,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: zookeeper annotations: {} @@ -1111,19 +1111,19 @@ spec: publishNotReadyAddresses: true selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: zookeeper --- # Source: milvus/templates/service.yaml apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless labels: helm.sh/chart: milvus-4.2.32 app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/version: "2.5.0-beta" app.kubernetes.io/managed-by: Helm component: "standalone" @@ -1140,18 +1140,18 @@ spec: targetPort: metrics selector: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" --- # Source: milvus/charts/minio/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio labels: app: minio chart: minio-8.0.17 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm spec: strategy: @@ -1162,18 +1162,18 @@ spec: selector: matchLabels: app: minio - release: nuvolaris-milvus + release: openserverless-milvus template: metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio labels: app: minio - release: nuvolaris-milvus + release: openserverless-milvus annotations: checksum/secrets: ff1e94b7d737d105c2dc9d21647326f2431dcb35e2592f6d63feaddb4f2bea82 checksum/config: dcce09c6c2c8f2bccb379c721fa4dad7b9d4cae29d4977bbc6caadd1d1cefcf2 spec: - serviceAccountName: "nuvolaris-milvus-minio" + serviceAccountName: "openserverless-milvus-minio" securityContext: runAsUser: 1000 runAsGroup: 1000 @@ -1222,12 +1222,12 @@ spec: - name: MINIO_ACCESS_KEY valueFrom: secretKeyRef: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio key: accesskey - name: MINIO_SECRET_KEY valueFrom: secretKeyRef: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio key: secretkey resources: requests: @@ -1235,21 +1235,21 @@ spec: volumes: - name: export persistentVolumeClaim: - claimName: nuvolaris-milvus-minio + claimName: openserverless-milvus-minio - name: minio-user secret: - secretName: nuvolaris-milvus-minio + secretName: openserverless-milvus-minio --- # Source: milvus/templates/standalone-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-milvus-standalone - namespace: nuvolaris + name: openserverless-milvus-standalone + namespace: openserverless labels: helm.sh/chart: milvus-4.2.32 app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/version: "2.5.0-beta" app.kubernetes.io/managed-by: Helm component: "standalone" @@ -1264,13 +1264,13 @@ spec: selector: matchLabels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" template: metadata: labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" annotations: @@ -1334,10 +1334,10 @@ spec: name: tools - name: milvus-config configMap: - name: nuvolaris-milvus + name: openserverless-milvus - name: milvus-data-disk persistentVolumeClaim: - claimName: nuvolaris-milvus + claimName: openserverless-milvus - name: disk emptyDir: {} --- @@ -1345,20 +1345,20 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-milvus-etcd - namespace: nuvolaris + name: openserverless-milvus-etcd + namespace: openserverless labels: app.kubernetes.io/name: etcd helm.sh/chart: etcd-6.3.3 - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/managed-by: Helm spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: etcd - app.kubernetes.io/instance: nuvolaris-milvus - serviceName: nuvolaris-milvus-etcd-headless + app.kubernetes.io/instance: openserverless-milvus + serviceName: openserverless-milvus-etcd-headless podManagementPolicy: Parallel updateStrategy: type: RollingUpdate @@ -1367,7 +1367,7 @@ spec: labels: app.kubernetes.io/name: etcd helm.sh/chart: etcd-6.3.3 - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus app.kubernetes.io/managed-by: Helm annotations: spec: @@ -1381,9 +1381,9 @@ spec: labelSelector: matchLabels: app.kubernetes.io/name: etcd - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus namespaces: - - "nuvolaris" + - "openserverless" topologyKey: kubernetes.io/hostname weight: 1 nodeAffinity: @@ -1426,11 +1426,11 @@ spec: - name: ALLOW_NONE_AUTHENTICATION value: "yes" - name: ETCD_ADVERTISE_CLIENT_URLS - value: "http://$(MY_POD_NAME).nuvolaris-milvus-etcd-headless.nuvolaris.svc.cluster.local:2379" + value: "http://$(MY_POD_NAME).openserverless-milvus-etcd-headless.openserverless.svc.cluster.local:2379" - name: ETCD_LISTEN_CLIENT_URLS value: "http://0.0.0.0:2379" - name: ETCD_INITIAL_ADVERTISE_PEER_URLS - value: "http://$(MY_POD_NAME).nuvolaris-milvus-etcd-headless.nuvolaris.svc.cluster.local:2380" + value: "http://$(MY_POD_NAME).openserverless-milvus-etcd-headless.openserverless.svc.cluster.local:2380" - name: ETCD_LISTEN_PEER_URLS value: "http://0.0.0.0:2380" - name: ETCD_AUTO_COMPACTION_MODE @@ -1508,17 +1508,17 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery spec: - serviceName: "nuvolaris-milvus-pulsarv3-recovery" + serviceName: "openserverless-milvus-pulsarv3-recovery" replicas: 1 updateStrategy: type: RollingUpdate @@ -1527,14 +1527,14 @@ spec: selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: recovery template: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: recovery annotations: prometheus.io/scrape: "true" @@ -1542,7 +1542,7 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: "nuvolaris-milvus-pulsarv3-recovery" + serviceAccountName: "openserverless-milvus-pulsarv3-recovery" initContainers: # This initContainer will wait for bookkeeper initnewcluster to complete # before deploying the bookies @@ -1561,11 +1561,11 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-recovery" + name: "openserverless-milvus-pulsarv3-recovery" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-recovery" + - name: "openserverless-milvus-pulsarv3-recovery" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent resources: @@ -1583,7 +1583,7 @@ spec: containerPort: 8000 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-recovery" + name: "openserverless-milvus-pulsarv3-recovery" volumeMounts: volumes: @@ -1610,22 +1610,22 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: bookie spec: - serviceName: "nuvolaris-milvus-pulsarv3-bookie" + serviceName: "openserverless-milvus-pulsarv3-bookie" replicas: 3 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: bookie updateStrategy: type: RollingUpdate @@ -1634,8 +1634,8 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: bookie annotations: prometheus.io/scrape: "true" @@ -1643,7 +1643,7 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: "nuvolaris-milvus-pulsarv3-bookie" + serviceAccountName: "openserverless-milvus-pulsarv3-bookie" securityContext: fsGroup: 0 fsGroupChangePolicy: OnRootMismatch @@ -1668,11 +1668,11 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-bookie" + - name: "openserverless-milvus-pulsarv3-bookie" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -1708,11 +1708,11 @@ spec: containerPort: 8000 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: - - name: "nuvolaris-milvus-pulsarv3-bookie-journal" + - name: "openserverless-milvus-pulsarv3-bookie-journal" mountPath: /pulsar/data/bookkeeper/journal - - name: "nuvolaris-milvus-pulsarv3-bookie-ledgers" + - name: "openserverless-milvus-pulsarv3-bookie-ledgers" mountPath: /pulsar/data/bookkeeper/ledgers volumes: @@ -1720,14 +1720,14 @@ spec: volumeClaimTemplates: - metadata: - name: "nuvolaris-milvus-pulsarv3-bookie-journal" + name: "openserverless-milvus-pulsarv3-bookie-journal" spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 100Gi - metadata: - name: "nuvolaris-milvus-pulsarv3-bookie-ledgers" + name: "openserverless-milvus-pulsarv3-bookie-ledgers" spec: accessModes: [ "ReadWriteOnce" ] resources: @@ -1756,22 +1756,22 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: broker spec: - serviceName: "nuvolaris-milvus-pulsarv3-broker" + serviceName: "openserverless-milvus-pulsarv3-broker" replicas: 2 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: broker updateStrategy: type: RollingUpdate @@ -1780,14 +1780,14 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: broker annotations: prometheus.io/scrape: "true" prometheus.io/port: "8080" spec: - serviceAccountName: "nuvolaris-milvus-pulsarv3-broker-acct" + serviceAccountName: "openserverless-milvus-pulsarv3-broker-acct" affinity: terminationGracePeriodSeconds: 30 initContainers: @@ -1805,8 +1805,8 @@ spec: - >- export BOOKIE_MEM="-Xmx128M"; - until bin/bookkeeper org.apache.zookeeper.ZooKeeperMain -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /admin/clusters/nuvolaris-milvus-pulsarv3; do - echo "pulsar cluster nuvolaris-milvus-pulsarv3 isn't initialized yet ... check in 3 seconds ..." && sleep 3; + until bin/bookkeeper org.apache.zookeeper.ZooKeeperMain -server openserverless-milvus-pulsarv3-zookeeper:2181 get /admin/clusters/openserverless-milvus-pulsarv3; do + echo "pulsar cluster openserverless-milvus-pulsarv3 isn't initialized yet ... check in 3 seconds ..." && sleep 3; done; volumeMounts: @@ -1830,20 +1830,20 @@ spec: sleep 3; done; echo "bookkeeper cluster is already initialized"; - bookieServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-bookie | grep Name | wc -l)"; + bookieServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-bookie | grep Name | wc -l)"; until [ ${bookieServiceNumber} -ge 3 ]; do - echo "bookkeeper cluster nuvolaris-milvus-pulsarv3 isn't ready yet ... check in 10 seconds ..."; + echo "bookkeeper cluster openserverless-milvus-pulsarv3 isn't ready yet ... check in 10 seconds ..."; sleep 10; - bookieServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-bookie | grep Name | wc -l)"; + bookieServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-bookie | grep Name | wc -l)"; done; echo "bookkeeper cluster is ready"; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-broker" + - name: "openserverless-milvus-pulsarv3-broker" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -1873,11 +1873,11 @@ spec: bin/gen-yml-from-env.py conf/functions_worker.yml; echo "OK" > status; - bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080; + bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080; while [ $? -eq 0 ]; do - echo "broker ${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local znode still exists ... check in 10 seconds ..."; + echo "broker ${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local znode still exists ... check in 10 seconds ..."; sleep 10; - bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080; + bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080; done; cat conf/pulsar_env.sh; OPTS="${OPTS} -Dlog4j2.formatMsgNoLookups=true" exec bin/pulsar broker; @@ -1889,7 +1889,7 @@ spec: containerPort: 6650 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-broker" + name: "openserverless-milvus-pulsarv3-broker" volumeMounts: env: @@ -1917,22 +1917,22 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: proxy spec: - serviceName: "nuvolaris-milvus-pulsarv3-proxy" + serviceName: "openserverless-milvus-pulsarv3-proxy" replicas: 2 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: proxy updateStrategy: type: RollingUpdate @@ -1941,8 +1941,8 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: proxy annotations: prometheus.io/scrape: "true" @@ -1950,7 +1950,7 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: "nuvolaris-milvus-pulsarv3-proxy" + serviceAccountName: "openserverless-milvus-pulsarv3-proxy" initContainers: # This init container will wait for zookeeper to be ready before # deploying the bookies @@ -1965,7 +1965,7 @@ spec: args: - >- export PULSAR_MEM="-Xmx128M"; - until bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper get /admin/clusters/nuvolaris-milvus-pulsarv3; do + until bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper get /admin/clusters/openserverless-milvus-pulsarv3; do sleep 3; done; # This init container will wait for at least one broker to be ready before @@ -1981,14 +1981,14 @@ spec: args: - >- set -e; - brokerServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-broker | grep Name | wc -l)"; + brokerServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-broker | grep Name | wc -l)"; until [ ${brokerServiceNumber} -ge 1 ]; do - echo "pulsar cluster nuvolaris-milvus-pulsarv3 isn't initialized yet ... check in 10 seconds ..."; + echo "pulsar cluster openserverless-milvus-pulsarv3 isn't initialized yet ... check in 10 seconds ..."; sleep 10; - brokerServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-broker | grep Name | wc -l)"; + brokerServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-broker | grep Name | wc -l)"; done; containers: - - name: "nuvolaris-milvus-pulsarv3-proxy" + - name: "openserverless-milvus-pulsarv3-proxy" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -2025,7 +2025,7 @@ spec: containerPort: 6650 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-proxy" + name: "openserverless-milvus-pulsarv3-proxy" --- # Source: milvus/charts/pulsarv3/templates/zookeeper-statefulset.yaml # @@ -2051,22 +2051,22 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: zookeeper spec: - serviceName: "nuvolaris-milvus-pulsarv3-zookeeper" + serviceName: "openserverless-milvus-pulsarv3-zookeeper" replicas: 3 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: zookeeper updateStrategy: type: RollingUpdate @@ -2075,19 +2075,19 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: zookeeper annotations: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: "nuvolaris-milvus-pulsarv3-zookeeper" + serviceAccountName: "openserverless-milvus-pulsarv3-zookeeper" securityContext: fsGroup: 0 fsGroupChangePolicy: OnRootMismatch containers: - - name: "nuvolaris-milvus-pulsarv3-zookeeper" + - name: "openserverless-milvus-pulsarv3-zookeeper" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent resources: @@ -2113,12 +2113,12 @@ spec: containerPort: 3888 env: - name: ZOOKEEPER_SERVERS - value: nuvolaris-milvus-pulsarv3-zookeeper-0,nuvolaris-milvus-pulsarv3-zookeeper-1,nuvolaris-milvus-pulsarv3-zookeeper-2 + value: openserverless-milvus-pulsarv3-zookeeper-0,openserverless-milvus-pulsarv3-zookeeper-1,openserverless-milvus-pulsarv3-zookeeper-2 - name: EXTERNAL_PROVIDED_SERVERS value: "false" envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-zookeeper" + name: "openserverless-milvus-pulsarv3-zookeeper" readinessProbe: exec: command: @@ -2144,13 +2144,13 @@ spec: timeoutSeconds: 30 failureThreshold: 10 volumeMounts: - - name: "nuvolaris-milvus-pulsarv3-zookeeper-data" + - name: "openserverless-milvus-pulsarv3-zookeeper-data" mountPath: /pulsar/data volumes: volumeClaimTemplates: - metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper-data" + name: "openserverless-milvus-pulsarv3-zookeeper-data" spec: accessModes: [ "ReadWriteOnce" ] resources: @@ -2179,14 +2179,14 @@ spec: apiVersion: batch/v1 kind: Job metadata: - name: "nuvolaris-milvus-pulsarv3-bookie-init" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie-init" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: "bookie-init" spec: # This feature was previously behind a feature gate for several Kubernetes versions and will default to true in 1.23 and beyond @@ -2194,7 +2194,7 @@ spec: template: spec: - serviceAccountName: "nuvolaris-milvus-pulsarv3-bookie" + serviceAccountName: "openserverless-milvus-pulsarv3-bookie" nodeSelector: tolerations: initContainers: @@ -2208,11 +2208,11 @@ spec: command: ["sh", "-c"] args: - >- - until nslookup nuvolaris-milvus-pulsarv3-zookeeper-2.nuvolaris-milvus-pulsarv3-zookeeper.nuvolaris; do + until nslookup openserverless-milvus-pulsarv3-zookeeper-2.openserverless-milvus-pulsarv3-zookeeper.openserverless; do sleep 3; done; containers: - - name: "nuvolaris-milvus-pulsarv3-bookie-init" + - name: "openserverless-milvus-pulsarv3-bookie-init" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent command: ["sh", "-c"] @@ -2228,7 +2228,7 @@ spec: fi envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: volumes: @@ -2257,14 +2257,14 @@ spec: apiVersion: batch/v1 kind: Job metadata: - name: "nuvolaris-milvus-pulsarv3-pulsar-init" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-pulsar-init" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: pulsar-init spec: # This feature was previously behind a feature gate for several Kubernetes versions and will default to true in 1.23 and beyond @@ -2283,7 +2283,7 @@ spec: command: ["sh", "-c"] args: - >- - until nslookup nuvolaris-milvus-pulsarv3-zookeeper-2.nuvolaris-milvus-pulsarv3-zookeeper.nuvolaris; do + until nslookup openserverless-milvus-pulsarv3-zookeeper-2.openserverless-milvus-pulsarv3-zookeeper.openserverless; do sleep 3; done; # This initContainer will wait for bookkeeper initnewcluster to complete @@ -2308,11 +2308,11 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-pulsar-init" + - name: "openserverless-milvus-pulsarv3-pulsar-init" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent command: ["sh", "-c"] @@ -2321,13 +2321,13 @@ spec: export PULSAR_MEM="-Xmx128M"; bin/pulsar initialize-cluster-metadata \ - --cluster nuvolaris-milvus-pulsarv3 \ - --zookeeper nuvolaris-milvus-pulsarv3-zookeeper:2181 \ - --configuration-store nuvolaris-milvus-pulsarv3-zookeeper:2181 \ - --web-service-url http://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080/ \ - --web-service-url-tls https://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8443/ \ - --broker-service-url pulsar://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:6650/ \ - --broker-service-url-tls pulsar+ssl://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:6651/ ; + --cluster openserverless-milvus-pulsarv3 \ + --zookeeper openserverless-milvus-pulsarv3-zookeeper:2181 \ + --configuration-store openserverless-milvus-pulsarv3-zookeeper:2181 \ + --web-service-url http://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080/ \ + --web-service-url-tls https://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8443/ \ + --broker-service-url pulsar://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:6650/ \ + --broker-service-url-tls pulsar+ssl://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:6651/ ; volumeMounts: volumes: diff --git a/deploy/etcd/etcd-jwt-secret.yaml b/deploy/etcd/etcd-jwt-secret.yaml index 5c467057..0841f86e 100644 --- a/deploy/etcd/etcd-jwt-secret.yaml +++ b/deploy/etcd/etcd-jwt-secret.yaml @@ -18,10 +18,10 @@ apiVersion: v1 kind: Secret metadata: - name: nuvolaris-etcd-jwt-token - namespace: nuvolaris + name: openserverless-etcd-jwt-token + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd type: Opaque data: jwt-token.pem: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdXlNcjdmOUJWajJ2RjhNUC8zNStrcnA0MlF0Nk5YMmEvS3IyY24xNjBSajBuZ0lvCk1qL1RmdXVnMmJnaHlEdnhDdytKZU1QUUNYMXRGZENzM2RHZ0xmSFppM0MyR21VV250VG1WQTRCSENZdmc4RisKRnBYQURjdE5EKzRWc1F4OUVsN1pKR0lxWFkySThFM3JPWkd4SnhxQmR1bDIwVy9xczNSNFFRMlFsbzU0dzNhagpmVWZCQ3FoeTdveXJWclN5NFgwN0JYL09CYkRCU2NBNUJlTG9ZOFdTNWwvYWFvZnRiVlpqYmxHYkE5S0tvclFNCmN6QjNxenBzQXZyUjZkWVBES1dFMVpGQ1huWjBBdjBsQlZMckk4S1ZkREFaWHBRelFEUDl5dytCMWpaelhiaG0KRGg5UmN6YUt3dXJ5UTA4d0JVanpUU09ydkdaY254aEJQUjZ5dTUwUzYranJEZGU0b2J0anpYTHZGQkFmdXNLSQpLczZtRG1sYUpKVGVybUlQNnFZOHZKRUx6eTNYYk40R2tyNk5NMjZFdkxnTnRXYmhtSVBzRysyRVBTelErV3JaCmFsTFNVcFRSU0kzRjl5THFrN21ybE9ZZUxxTjRoYU1rem4ySFc2RXhZL25kSjJJMXBVUWZIQ3d5Y0MxMDNhSDUKN29HZ01DTGpWdnBENjFMZ3hXa3U3dnRGcjI0L1lpS3B1SGc5V21UQlNKY05CcVJ4b3l5UFlRRWJsNjBFLy80UgpLc01XenJLdm9qeFlXQ1ZsLzV1ZElnUGoraDM1VkZ6L3VxOExvLy83QkZ6WWRqRWhLZXc0cHBPc2xIMXlkY3FsCmNPRHNQQUg4L1UxbFZpUzFaY0FRV3V6QWo2b3ppRWlrd3F1RnFYMHdOQnNURkt2YWxiNmYvUFBHc2FVQ0F3RUEKQVFLQ0FnQktVWmFCcHl5Z2ZsREtCQXFYY2ZuOGRaZkd3cnNmQVNvTERDNWhtNW1wN3RvKzRpWnFobFNOQkREVwpKajBzVXpuUUpiUjN4SFFiUUxlUXdWWFZwZ21TRllsS3lsRlh2Q3UybW1CNm96RW5wN2FaQWIvOFlpNXFqQUduCndPcldiRnBEY0cyVitISlF3d1BPUTNPV1lsalRhY0JlcENzdTA5Nkd0RXVKc2tSb3RsNFpha1ZWWEtpNmZkbGYKQ1hpR0w2OFd3L0FycCt6Kzc0cGpxclk2c3ptTlhncVArU001eVkrdUsyL0RnUjhwN25SbVYxRFdjam9rUTBoZwpDcEpRNWxVRnRicENRclR6NU9EL3l0N245VjB5ejNVaE5uVHN6YmhvMS8wRHByM3VmNk5qWmZjSnhzQkhIRE1SClk5TWdqaE5KRmdhaDdQZW9FNUxYRC8vZ3NROVRxZHZmOGpsT2d1OWFzWGF6eGtiNGw4NTc2czVTNkJtbUN5QlIKTG1USGVTSGpvLzBVQ0psU0pWUTZsdDZNZ2FZRHVBMXNZZjhDdkdtT0doRjQzM1pyUWtqTkdSYnZPTVg2R3luegp1aDlvVWhndDFuaFVNSE5iaEZvNjZRbW1tNERmMVJudnpFbTVJVmk1MXY0dnE1eWI5OUFSd0dBQmg1S3V5d292Cm9QaU9OZndwRlF3WGRzWlo2cllDcFJjMUpVbHE0Q25CcnkxbTQ4eDRNNURmakxjaDVmelNLakg1UFd5ZnE2SkIKditPUzRSalZtMlljRThzQk5iVXcyYUF2TW5OQzNLWE5RbFhuV1IzVGg2T05veXhqc3lwN3ErTHNSdTd3RkZlWgoyUTFya21IQ3kyWlFsOFRSeUhObzZ1UXc1aTJ2SGZEWE5abm8vcmZwNTZuUEoxQk5vUUtDQVFFQTlzM0tMSVJlCjJpN0VoekZiRSsvRHNMRnJjeXhlWlJ5V2x4dXR1Q3BCZk1ET0tPTDhtYjhsT1MxcnRzTDZSSit0a0ZhYmFYeXkKTXJoM3dxaW5zazBBRVM5QlMyeU1YaU5PT3RSbjljZkRHMVpPcU1vOXYwVFJXRUZtUlFTQ0x1QThPeXlKZmZKcAorV2psTDNPZU5RTzB4Sk9pNVFxbzVEdDVwSnhvZEl0NXVlOHR1ZUVjaWt6Wm80aUF0Q3oweUovYWVpR3VyOWgwCkZyZlFHL1BGeGtWeVdia210U2lwM3NRbE03d29RZ3Y2ay9rV3NIQ1hZNjI0YzN4cytieThrczRLYzVlSGZxeXAKQUxNZ0NnNXFuVjBFbHdEWThCd1l1NlFETHZsdlF1cVNqNlB4NFRjY2I2NWFJUy9QUm5GOEtQbWZlV3kxaWs5Zgp2SmxSaWNQaWtWMS95UUtDQVFFQXdodzhZV3FLdG90R050UkdieVArVXRTT252OXhIR05rUjRzN0ZRYVltNGF0ClB4SjZlbkJGd3F5VkV6b1VuNkk1cGdhQnRHNzBDdHRQanR2R0lzVkZ2S3BGMGdRZSsrdkQwNHl6RW4rUHFBSWUKUkVCd0NmSWFKWTVWMFJwUHZRdnlrNDFDWG5rTlRsZXc0eEVtV1Zlc1l0U1Fwb3pwMllJeWlYcjhuWjY0a1hsKwp1cDBWdUc2VENPTllhbnhQUTFEbFViOCtzZlBtaCtqSC84U1o5d3ppK0pBQUlIT2VaVktWSFFGcEJPWDB1dU1BCngwR0VVbXN2QlJVeXRBM0RJenEraXRGMFdUeWRQNlR5UU1HaTJVamYrcHNObVhJODgxOVluSHlRaGVOeEZ4aVUKK2dpNDVXQ1JEbFEzWmIrdmZzRWo5S3o5QUl4N1lObmljNFI4Znlnby9RS0NBUUE1Q2JKUnUzM1lXcnFjcS9GcQptQnpYdHdrb0l2YmwwMGVTUUpsVFdLQ3QzamxIQmI1dklkZk9jUXJWd0JYcXlpUm9tVHR0azUzelR1S09vRCt4ClcwNUtxbXNpclVGN2VCbGFTMENEY3RsS2RoWFR1SG13dkl6TklzQXA3ekxPOW8rMDlVUUpVWDdnWHplb1VjWWMKWm5EZWhXZytHc3FSaEpWR1Q4ZHNOOWUzK3VqTWJwUVQrbExLRW4vOEkrK21kaHNkNHE3bWdOWERjbE9zUWhoUgpERGV6T0xFVGFRUnBNVmVQcjBwMmlTSXVGSUVENGVGNjdla1U5NHFQNU9pSDNRcFpVSW5GNHMxa0ZnR3ZrVWxlCmVPTFlxeDkzem1hQTV4UzlSSFJNT0w0S2FFODhSMnBRL1RCalB4TmVLbGdSZUM4ODlyeTE3RVlwNWgwTUE3TlcKK1E3UkFvSUJBUUNqa0pkd253NXo4N2dleTVEdVppNFFMZnhnRG0rSnRGYnowbWJldU1ndmhiVEd5Uk5ieU85LwpzMTJLN2c0aTFkZ3VCcDJWSlVtUFBHNDF1d3Vpa1FqS2lkQjd2KzA3NnRjQWxEYnhCM3hOM2pzUzJCbVF4K2t3CmJGZno4Mi90cFB1clNnVDdCcFlueGN6UUNjdCt6Vm45alpDMlIxZG1hVWVjZ1g0TWM0cWpTdlYyMnBkSzZpSU0KQTBhbHRFbzJOeHlGWGRtK3FmOC8xdTl3bm9IK28yVStmbGtjLzFBaG9RejFmQks2aGV0Szc2M2dPVnorOWtLUQp6ZVFEeFBVQjRxWmM0MUpmUDZ4aHpPUTFuUFZVa3d2cGFHNTFOc1lWYmVxRk1wRzF3SW16Skl1a2hXVUlJKzhYClcrK3lWV3ZVSzN2WTJVdjRBbWlVbkFVdHdoNEdLQmtoQW9JQkFRQ2gzeHk3Uk50QjUzREVUYndJbUtlUUxscGgKTXQzNWZLdWdwRTFDb1Y5WTNVZEpaczdlQ1YyN2pzcEFHZ3VxKytzODg1MEw4L3RuVGd5SHZWbVBlSzZGdW5GTgpEak9uNUNHOHByYVNmTVAvNTZjN282R29aRk1NUUtoZDBzOFczODN0Q2Jobk9YQng1S1FOa2hMNWQ2TlZrQzB2Cnd2WGpMUmdud2IxNlJnaGhESUQwVFhYNHc1UXlMVGVkTEYwZnc5Z0ZPeHY4VFhteWVzOGNVdzh5a3RnUEhMYTAKM1dFbzR1U1N4eE9zQTB4QzZ2dTZZM3VybWtVWTluYWpGUDcwaUtMT1dBWkozVkFQeTUxS2kzU2xNRHBRRmpCTgpmcXg2aXFvUGU2L0ZKc29xcHVoN29UNXEyRzhkMWdWa3h1ak1MQXZ5Z2pHQ2JtczVVV3ZFNS9TQ2hvMU0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" \ No newline at end of file diff --git a/deploy/etcd/etcd-secret.yaml b/deploy/etcd/etcd-secret.yaml index df86607a..40fbd405 100644 --- a/deploy/etcd/etcd-secret.yaml +++ b/deploy/etcd/etcd-secret.yaml @@ -18,10 +18,10 @@ apiVersion: v1 kind: Secret metadata: - name: nuvolaris-etcd-secret - namespace: nuvolaris + name: openserverless-etcd-secret + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd type: Opaque data: rootPassword: YXNqaGRnc2ZnMjEzMTI= \ No newline at end of file diff --git a/deploy/etcd/etcd-sts.yaml b/deploy/etcd/etcd-sts.yaml index 65aa7cc1..f3d915f8 100644 --- a/deploy/etcd/etcd-sts.yaml +++ b/deploy/etcd/etcd-sts.yaml @@ -18,27 +18,27 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-etcd - namespace: nuvolaris + name: openserverless-etcd + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd spec: replicas: 3 - serviceName: nuvolaris-etcd-headless + serviceName: openserverless-etcd-headless podManagementPolicy: Parallel updateStrategy: type: RollingUpdate selector: matchLabels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd template: metadata: labels: - name: nuvolaris-etcd - app.kubernetes.io/name: nuvolaris-etcd + name: openserverless-etcd + app.kubernetes.io/name: openserverless-etcd annotations: - serviceName: nuvolaris-etcd - whisks.nuvolaris.org/annotate-version: "true" + serviceName: openserverless-etcd + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always securityContext: @@ -46,7 +46,7 @@ spec: fsGroupChangePolicy: Always terminationGracePeriodSeconds: 30 containers: - - name: nuvolaris-etcd + - name: openserverless-etcd env: - name: BITNAMI_DEBUG value: "false" @@ -61,7 +61,7 @@ spec: apiVersion: v1 fieldPath: metadata.name - name: MY_STS_NAME - value: nuvolaris-etcd + value: openserverless-etcd - name: ETCDCTL_API value: "3" - name: ETCD_ON_K8S @@ -81,16 +81,16 @@ spec: - name: ETCD_ROOT_PASSWORD valueFrom: secretKeyRef: - name: nuvolaris-etcd-secret + name: openserverless-etcd-secret key: rootPassword - name: ETCD_AUTH_TOKEN value: jwt,priv-key=/opt/bitnami/etcd/certs/token/jwt-token.pem,sign-method=RS256,ttl=10m - name: ETCD_ADVERTISE_CLIENT_URLS - value: http://$(MY_POD_NAME).nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2379,http://nuvolaris-etcd.nuvolaris.svc.cluster.local:2379 + value: http://$(MY_POD_NAME).openserverless-etcd-headless.openserverless.svc.cluster.local:2379,http://openserverless-etcd.openserverless.svc.cluster.local:2379 - name: ETCD_LISTEN_CLIENT_URLS value: http://0.0.0.0:2379 - name: ETCD_INITIAL_ADVERTISE_PEER_URLS - value: http://$(MY_POD_NAME).nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380 + value: http://$(MY_POD_NAME).openserverless-etcd-headless.openserverless.svc.cluster.local:2380 - name: ETCD_LISTEN_PEER_URLS value: http://0.0.0.0:2380 - name: ETCD_INITIAL_CLUSTER_TOKEN @@ -98,9 +98,9 @@ spec: - name: ETCD_INITIAL_CLUSTER_STATE value: new - name: ETCD_INITIAL_CLUSTER - value: nuvolaris-etcd-0=http://nuvolaris-etcd-0.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380,nuvolaris-etcd-1=http://nuvolaris-etcd-1.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380,nuvolaris-etcd-2=http://nuvolaris-etcd-2.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380 + value: openserverless-etcd-0=http://openserverless-etcd-0.openserverless-etcd-headless.openserverless.svc.cluster.local:2380,openserverless-etcd-1=http://openserverless-etcd-1.openserverless-etcd-headless.openserverless.svc.cluster.local:2380,openserverless-etcd-2=http://openserverless-etcd-2.openserverless-etcd-headless.openserverless.svc.cluster.local:2380 - name: ETCD_CLUSTER_DOMAIN - value: nuvolaris-etcd-headless.nuvolaris.svc.cluster.local + value: openserverless-etcd-headless.openserverless.svc.cluster.local image: docker.io/bitnami/etcd:3.5.17-debian-12-r0 imagePullPolicy: IfNotPresent lifecycle: @@ -142,7 +142,7 @@ spec: name: empty-dir subPath: tmp-dir - mountPath: /bitnami/etcd - name: nuvolaris-etc-data + name: openserverless-etc-data - mountPath: /opt/bitnami/etcd/certs/token/ name: etcd-jwt-token readOnly: true @@ -152,10 +152,10 @@ spec: - name: etcd-jwt-token secret: defaultMode: 256 - secretName: nuvolaris-etcd-jwt-token + secretName: openserverless-etcd-jwt-token volumeClaimTemplates: - metadata: - name: nuvolaris-etc-data + name: openserverless-etc-data spec: accessModes: - "ReadWriteOnce" diff --git a/deploy/etcd/etcd-svc.yaml b/deploy/etcd/etcd-svc.yaml index 641a3aed..8abcad80 100644 --- a/deploy/etcd/etcd-svc.yaml +++ b/deploy/etcd/etcd-svc.yaml @@ -18,10 +18,10 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-etcd - namespace: nuvolaris + name: openserverless-etcd + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd spec: type: ClusterIP sessionAffinity: None @@ -33,15 +33,15 @@ spec: port: 2380 targetPort: peer selector: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd --- apiVersion: v1 kind: Service metadata: - name: nuvolaris-etcd-headless - namespace: nuvolaris + name: openserverless-etcd-headless + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec: @@ -56,4 +56,4 @@ spec: port: 2380 targetPort: peer selector: - app.kubernetes.io/name: nuvolaris-etcd \ No newline at end of file + app.kubernetes.io/name: openserverless-etcd \ No newline at end of file diff --git a/deploy/ferretdb/ferretdb-sts.yaml b/deploy/ferretdb/ferretdb-sts.yaml index 6ef2dc69..a92b1abb 100644 --- a/deploy/ferretdb/ferretdb-sts.yaml +++ b/deploy/ferretdb/ferretdb-sts.yaml @@ -18,23 +18,23 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-mongodb + name: openserverless-mongodb labels: app: mongodb - namespace: nuvolaris + namespace: openserverless spec: - serviceName: nuvolaris-mongodb-svc + serviceName: openserverless-mongodb-svc replicas: 1 selector: matchLabels: - app: nuvolaris-mongodb + app: openserverless-mongodb template: metadata: annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" labels: - app: nuvolaris-mongodb - name: nuvolaris-mongodb + app: openserverless-mongodb + name: openserverless-mongodb spec: securityContext: fsGroup: 1001 @@ -44,4 +44,4 @@ spec: name: ferretdb env: - name: FERRETDB_POSTGRESQL_URL - value: postgresql://nuvolaris:s0meP%40ass3@nuvolaris-postgres.nuvolaris.svc.cluster.local:5432/nuvolaris + value: postgresql://openserverless:s0meP%40ass3@openserverless-postgres.openserverless.svc.cluster.local:5432/openserverless diff --git a/deploy/ferretdb/ferretdb-svc.yaml b/deploy/ferretdb/ferretdb-svc.yaml index be49680c..01c207b5 100644 --- a/deploy/ferretdb/ferretdb-svc.yaml +++ b/deploy/ferretdb/ferretdb-svc.yaml @@ -19,13 +19,13 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-mongodb-svc - namespace: nuvolaris + name: openserverless-mongodb-svc + namespace: openserverless spec: clusterIP: None ports: - port: 27017 targetPort: 27017 selector: - app: nuvolaris-mongodb - statefulset.kubernetes.io/pod-name: nuvolaris-mongodb-0 \ No newline at end of file + app: openserverless-mongodb + statefulset.kubernetes.io/pod-name: openserverless-mongodb-0 \ No newline at end of file diff --git a/deploy/issuer/cluster-issuer.yaml b/deploy/issuer/cluster-issuer.yaml index 7f0689e6..719b755e 100644 --- a/deploy/issuer/cluster-issuer.yaml +++ b/deploy/issuer/cluster-issuer.yaml @@ -28,7 +28,7 @@ spec: email: nuvolaris@nuvolaris.io # Name of a secret used to store the ACME account private key privateKeySecretRef: - name: nuvolaris-letsencrypt-secret + name: openserverless-letsencrypt-secret # Enable the HTTP-01 challenge provider solvers: - http01: diff --git a/deploy/kafka/kafka-000-pvc.yaml b/deploy/kafka/kafka-000-pvc.yaml index fcb73c02..619781bd 100644 --- a/deploy/kafka/kafka-000-pvc.yaml +++ b/deploy/kafka/kafka-000-pvc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: kafka-pvc-data - namespace: nuvolaris + namespace: openserverless labels: app: kafka spec: diff --git a/deploy/kafka/kafka-001-sts.yaml b/deploy/kafka/kafka-001-sts.yaml index 820b56af..0c0f8594 100644 --- a/deploy/kafka/kafka-001-sts.yaml +++ b/deploy/kafka/kafka-001-sts.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: kafka - namespace: nuvolaris + namespace: openserverless labels: name: kafka app: kafka diff --git a/deploy/kvrocks/kvrocks-pvc.yaml b/deploy/kvrocks/kvrocks-pvc.yaml index da066220..9a7f889d 100644 --- a/deploy/kvrocks/kvrocks-pvc.yaml +++ b/deploy/kvrocks/kvrocks-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: kvrocks-pvc - namespace: nuvolaris + namespace: openserverless spec: accessModes: - ReadWriteOnce diff --git a/deploy/kvrocks/kvrocks-sts.yaml b/deploy/kvrocks/kvrocks-sts.yaml index ff470ae3..87d6c131 100644 --- a/deploy/kvrocks/kvrocks-sts.yaml +++ b/deploy/kvrocks/kvrocks-sts.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: kvrocks - namespace: nuvolaris + namespace: openserverless spec: serviceName: redis replicas: 1 @@ -33,7 +33,7 @@ spec: name: redis app: redis annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always containers: diff --git a/deploy/kvrocks/kvrocks-svc.yaml b/deploy/kvrocks/kvrocks-svc.yaml index 79d28f9d..faa567f9 100644 --- a/deploy/kvrocks/kvrocks-svc.yaml +++ b/deploy/kvrocks/kvrocks-svc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: Service metadata: name: redis - namespace: nuvolaris + namespace: openserverless spec: type: NodePort selector: diff --git a/deploy/milvus-operator/milvus-operator-dep.yaml b/deploy/milvus-operator/milvus-operator-dep.yaml index a65701db..c0f493d6 100644 --- a/deploy/milvus-operator/milvus-operator-dep.yaml +++ b/deploy/milvus-operator/milvus-operator-dep.yaml @@ -24,7 +24,7 @@ metadata: app.kubernetes.io/name: milvus-operator app.kubernetes.io/instance: milvus-operator name: milvus-operator - namespace: nuvolaris + namespace: openserverless spec: selector: matchLabels: @@ -33,7 +33,7 @@ spec: template: metadata: annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" labels: name: milvus-operator app.kubernetes.io/name: milvus-operator @@ -42,7 +42,7 @@ spec: securityContext: runAsNonRoot: true runAsUser: 65532 - serviceAccountName: nuvolaris-milvus-operator + serviceAccountName: openserverless-milvus-operator terminationGracePeriodSeconds: 10 containers: - name: manager @@ -52,7 +52,7 @@ spec: - /manager args: - -namespace - - "nuvolaris" + - "openserverless" - -name - "milvus-operator" - --health-probe-bind-address=:8081 diff --git a/deploy/milvus-operator/milvus-operator-svc.yaml b/deploy/milvus-operator/milvus-operator-svc.yaml index 313b407e..3491b654 100644 --- a/deploy/milvus-operator/milvus-operator-svc.yaml +++ b/deploy/milvus-operator/milvus-operator-svc.yaml @@ -27,7 +27,7 @@ metadata: app.kubernetes.io/version: "1.1.3" app.kubernetes.io/managed-by: Helm name: 'milvus-operator-metrics-service' - namespace: "nuvolaris" + namespace: "openserverless" spec: ports: - name: metrics @@ -47,7 +47,7 @@ metadata: app.kubernetes.io/version: "1.1.3" app.kubernetes.io/managed-by: Helm name: 'milvus-operator-webhook-service' - namespace: "nuvolaris" + namespace: "openserverless" spec: ports: - port: 443 diff --git a/deploy/milvus-slim/milvus-cfg-deps.yaml b/deploy/milvus-slim/milvus-cfg-deps.yaml index 2d7f6fbe..af56c35d 100644 --- a/deploy/milvus-slim/milvus-cfg-deps.yaml +++ b/deploy/milvus-slim/milvus-cfg-deps.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio data: initialize: |- #!/bin/sh diff --git a/deploy/milvus-slim/milvus-cfg-slim-base.yaml b/deploy/milvus-slim/milvus-cfg-slim-base.yaml index 0d83b766..1efe0e51 100644 --- a/deploy/milvus-slim/milvus-cfg-slim-base.yaml +++ b/deploy/milvus-slim/milvus-cfg-slim-base.yaml @@ -19,8 +19,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless data: default.yaml: |+ # Copyright (C) 2019-2021 Zilliz. All rights reserved. @@ -41,13 +41,13 @@ data: userName: root password: 0therPa55 endpoints: - - nuvolaris-etcd-0.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2379 + - openserverless-etcd-0.openserverless-etcd-headless.openserverless.svc.cluster.local:2379 metastore: type: etcd minio: - address: nuvolaris-minio + address: openserverless-minio port: 9000 accessKeyID: {{milvus_s3_username}} secretAccessKey: {{milvus_s3_password}} diff --git a/deploy/milvus-slim/milvus-etcd-secret.yaml b/deploy/milvus-slim/milvus-etcd-secret.yaml index 5e3fd0bc..ef5d73f3 100644 --- a/deploy/milvus-slim/milvus-etcd-secret.yaml +++ b/deploy/milvus-slim/milvus-etcd-secret.yaml @@ -20,8 +20,8 @@ apiVersion: v1 kind: Secret type: Opaque metadata: - name: nuvolaris-milvus-etcd-secret - namespace: nuvolaris + name: openserverless-milvus-etcd-secret + namespace: openserverless data: username: ZXRjZG1pbHZ1cw== password: MHRoZXJQYTU1 diff --git a/deploy/milvus-slim/milvus-pvc.yaml b/deploy/milvus-slim/milvus-pvc.yaml index 8dd15340..465614a8 100644 --- a/deploy/milvus-slim/milvus-pvc.yaml +++ b/deploy/milvus-slim/milvus-pvc.yaml @@ -19,11 +19,11 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus spec: storageClassName: standard accessModes: diff --git a/deploy/milvus-slim/milvus-s3-secret.yaml b/deploy/milvus-slim/milvus-s3-secret.yaml index 69c740dd..b1f61d93 100644 --- a/deploy/milvus-slim/milvus-s3-secret.yaml +++ b/deploy/milvus-slim/milvus-s3-secret.yaml @@ -20,8 +20,8 @@ apiVersion: v1 kind: Secret type: Opaque metadata: - name: nuvolaris-milvus-s3-secret - namespace: nuvolaris + name: openserverless-milvus-s3-secret + namespace: openserverless stringData: accesskey: miniomilvus secretkey: miniomilvuspwd diff --git a/deploy/milvus-slim/milvus-svc.yaml b/deploy/milvus-slim/milvus-svc.yaml index 87da95a5..30e687ae 100644 --- a/deploy/milvus-slim/milvus-svc.yaml +++ b/deploy/milvus-slim/milvus-svc.yaml @@ -19,11 +19,11 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" spec: type: NodePort @@ -40,6 +40,6 @@ spec: targetPort: metrics selector: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" \ No newline at end of file diff --git a/deploy/milvus-slim/milvus.yaml b/deploy/milvus-slim/milvus.yaml index ad40d46c..fe68a8eb 100644 --- a/deploy/milvus-slim/milvus.yaml +++ b/deploy/milvus-slim/milvus.yaml @@ -20,11 +20,11 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-milvus-standalone - namespace: nuvolaris + name: openserverless-milvus-standalone + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" annotations: spec: @@ -34,17 +34,17 @@ spec: selector: matchLabels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" template: metadata: labels: - name: nuvolaris-milvus + name: openserverless-milvus app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: serviceAccountName: default initContainers: @@ -102,9 +102,9 @@ spec: name: tools - name: milvus-config configMap: - name: nuvolaris-milvus + name: openserverless-milvus - name: milvus-data-disk persistentVolumeClaim: - claimName: nuvolaris-milvus + claimName: openserverless-milvus - name: disk emptyDir: {} \ No newline at end of file diff --git a/deploy/milvus/milvus-cfg-base.yaml b/deploy/milvus/milvus-cfg-base.yaml index e711991b..9041ef35 100644 --- a/deploy/milvus/milvus-cfg-base.yaml +++ b/deploy/milvus/milvus-cfg-base.yaml @@ -19,8 +19,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless data: default.yaml: |+ # Copyright (C) 2019-2021 Zilliz. All rights reserved. @@ -41,13 +41,13 @@ data: userName: root password: 0therPa55 endpoints: - - nuvolaris-etcd-0.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2379 + - openserverless-etcd-0.openserverless-etcd-headless.openserverless.svc.cluster.local:2379 metastore: type: etcd minio: - address: nuvolaris-minio + address: openserverless-minio port: 9000 accessKeyID: miniomilvus secretAccessKey: s0meP@ass3 @@ -63,7 +63,7 @@ data: messageQueue: pulsar pulsar: - address: nuvolaris-milvus-pulsarv3-proxy + address: openserverless-milvus-pulsarv3-proxy port: 6650 maxMessageSize: 104857600 diff --git a/deploy/milvus/milvus-cfg-deps.yaml b/deploy/milvus/milvus-cfg-deps.yaml index b5a93b26..c17fe732 100644 --- a/deploy/milvus/milvus-cfg-deps.yaml +++ b/deploy/milvus/milvus-cfg-deps.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus-minio + name: openserverless-milvus-minio data: initialize: |- #!/bin/sh @@ -118,16 +118,16 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: bookie data: # common config - zkServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zkServers: "openserverless-milvus-pulsarv3-zookeeper:2181" zkLedgersRootPath: "/ledgers" # enable bookkeeper http server httpServerEnabled: "true" @@ -164,22 +164,22 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: broker data: # Metadata settings - zookeeperServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" - configurationStoreServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zookeeperServers: "openserverless-milvus-pulsarv3-zookeeper:2181" + configurationStoreServers: "openserverless-milvus-pulsarv3-zookeeper:2181" # Broker settings - clusterName: nuvolaris-milvus-pulsarv3 + clusterName: openserverless-milvus-pulsarv3 exposeTopicLevelMetricsInPrometheus: "true" numHttpServerThreads: "8" zooKeeperSessionTimeoutMillis: "30000" @@ -214,23 +214,23 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: proxy data: - clusterName: nuvolaris-milvus-pulsarv3 + clusterName: openserverless-milvus-pulsarv3 statusFilePath: "/pulsar/status" # prometheus needs to access /metrics endpoint webServicePort: "8080" servicePort: "6650" - brokerServiceURL: pulsar://nuvolaris-milvus-pulsarv3-broker:6650 - brokerWebServiceURL: http://nuvolaris-milvus-pulsarv3-broker:8080 + brokerServiceURL: pulsar://openserverless-milvus-pulsarv3-broker:6650 + brokerWebServiceURL: http://openserverless-milvus-pulsarv3-broker:8080 # Authentication Settings PULSAR_GC: | @@ -242,12 +242,12 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: zookeeper data: dataDir: /pulsar/data/zookeeper @@ -261,18 +261,18 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery data: # common config - zkServers: "nuvolaris-milvus-pulsarv3-zookeeper:2181" + zkServers: "openserverless-milvus-pulsarv3-zookeeper:2181" zkLedgersRootPath: "/ledgers" # enable bookkeeper http server httpServerEnabled: "true" diff --git a/deploy/milvus/milvus-etcd-secret.yaml b/deploy/milvus/milvus-etcd-secret.yaml index 5e3fd0bc..ef5d73f3 100644 --- a/deploy/milvus/milvus-etcd-secret.yaml +++ b/deploy/milvus/milvus-etcd-secret.yaml @@ -20,8 +20,8 @@ apiVersion: v1 kind: Secret type: Opaque metadata: - name: nuvolaris-milvus-etcd-secret - namespace: nuvolaris + name: openserverless-milvus-etcd-secret + namespace: openserverless data: username: ZXRjZG1pbHZ1cw== password: MHRoZXJQYTU1 diff --git a/deploy/milvus/milvus-init-jobs.yaml b/deploy/milvus/milvus-init-jobs.yaml index 3fdbdbeb..1f1a70e9 100644 --- a/deploy/milvus/milvus-init-jobs.yaml +++ b/deploy/milvus/milvus-init-jobs.yaml @@ -19,17 +19,17 @@ apiVersion: batch/v1 kind: Job metadata: - name: "nuvolaris-milvus-pulsarv3-bookie-init" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie-init" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: "bookie-init" spec: template: spec: - serviceAccountName: "nuvolaris-operator" + serviceAccountName: "openserverless-operator" nodeSelector: tolerations: initContainers: @@ -43,11 +43,11 @@ spec: command: ["sh", "-c"] args: - >- - until nslookup nuvolaris-milvus-pulsarv3-zookeeper-0.nuvolaris-milvus-pulsarv3-zookeeper.nuvolaris; do + until nslookup openserverless-milvus-pulsarv3-zookeeper-0.openserverless-milvus-pulsarv3-zookeeper.openserverless; do sleep 3; done; containers: - - name: "nuvolaris-milvus-pulsarv3-bookie-init" + - name: "openserverless-milvus-pulsarv3-bookie-init" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent command: ["sh", "-c"] @@ -62,7 +62,7 @@ spec: fi envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: volumes: restartPolicy: OnFailure @@ -70,12 +70,12 @@ spec: apiVersion: batch/v1 kind: Job metadata: - name: "nuvolaris-milvus-pulsarv3-pulsar-init" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-pulsar-init" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: pulsar-init spec: # This feature was previously behind a feature gate for several Kubernetes versions and will default to true in 1.23 and beyond @@ -93,7 +93,7 @@ spec: command: ["sh", "-c"] args: - >- - until nslookup nuvolaris-milvus-pulsarv3-zookeeper-0.nuvolaris-milvus-pulsarv3-zookeeper.nuvolaris; do + until nslookup openserverless-milvus-pulsarv3-zookeeper-0.openserverless-milvus-pulsarv3-zookeeper.openserverless; do sleep 3; done; # This initContainer will wait for bookkeeper initnewcluster to complete @@ -118,10 +118,10 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-pulsar-init" + - name: "openserverless-milvus-pulsarv3-pulsar-init" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent command: ["sh", "-c"] @@ -129,13 +129,13 @@ spec: - | export PULSAR_MEM="-Xmx128M"; bin/pulsar initialize-cluster-metadata \ - --cluster nuvolaris-milvus-pulsarv3 \ - --zookeeper nuvolaris-milvus-pulsarv3-zookeeper:2181 \ - --configuration-store nuvolaris-milvus-pulsarv3-zookeeper:2181 \ - --web-service-url http://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080/ \ - --web-service-url-tls https://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8443/ \ - --broker-service-url pulsar://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:6650/ \ - --broker-service-url-tls pulsar+ssl://nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:6651/ ; + --cluster openserverless-milvus-pulsarv3 \ + --zookeeper openserverless-milvus-pulsarv3-zookeeper:2181 \ + --configuration-store openserverless-milvus-pulsarv3-zookeeper:2181 \ + --web-service-url http://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080/ \ + --web-service-url-tls https://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8443/ \ + --broker-service-url pulsar://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:6650/ \ + --broker-service-url-tls pulsar+ssl://openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:6651/ ; volumeMounts: volumes: restartPolicy: OnFailure \ No newline at end of file diff --git a/deploy/milvus/milvus-pulsar.yaml b/deploy/milvus/milvus-pulsar.yaml index 6a2bf443..3185eda6 100644 --- a/deploy/milvus/milvus-pulsar.yaml +++ b/deploy/milvus/milvus-pulsar.yaml @@ -19,17 +19,17 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 chart: pulsarv3-3.3.0 - release: nuvolaris-milvus + release: openserverless-milvus heritage: Helm - cluster: nuvolaris-milvus-pulsarv3 + cluster: openserverless-milvus-pulsarv3 component: recovery spec: - serviceName: "nuvolaris-milvus-pulsarv3-recovery" + serviceName: "openserverless-milvus-pulsarv3-recovery" replicas: 1 updateStrategy: type: RollingUpdate @@ -38,14 +38,14 @@ spec: selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: recovery template: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: recovery annotations: prometheus.io/scrape: "true" @@ -53,7 +53,7 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: nuvolaris-operator + serviceAccountName: openserverless-operator initContainers: # This initContainer will wait for bookkeeper initnewcluster to complete # before deploying the bookies @@ -72,11 +72,11 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-recovery" + name: "openserverless-milvus-pulsarv3-recovery" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-recovery" + - name: "openserverless-milvus-pulsarv3-recovery" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent resources: @@ -93,27 +93,27 @@ spec: containerPort: 8000 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-recovery" + name: "openserverless-milvus-pulsarv3-recovery" volumeMounts: volumes: --- apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: bookie spec: - serviceName: "nuvolaris-milvus-pulsarv3-bookie" + serviceName: "openserverless-milvus-pulsarv3-bookie" replicas: 1 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: bookie updateStrategy: type: RollingUpdate @@ -122,8 +122,8 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: bookie annotations: prometheus.io/scrape: "true" @@ -131,17 +131,17 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: nuvolaris-operator + serviceAccountName: openserverless-operator securityContext: fsGroup: 0 fsGroupChangePolicy: OnRootMismatch volumes: - - name: "nuvolaris-milvus-pulsarv3-bookie-journal" + - name: "openserverless-milvus-pulsarv3-bookie-journal" persistentVolumeClaim: - claimName: "nuvolaris-milvus-bookie-journal" - - name: "nuvolaris-milvus-pulsarv3-bookie-ledgers" + claimName: "openserverless-milvus-bookie-journal" + - name: "openserverless-milvus-pulsarv3-bookie-ledgers" persistentVolumeClaim: - claimName: "nuvolaris-milvus-bookie-ledgers" + claimName: "openserverless-milvus-bookie-ledgers" initContainers: # This initContainer will wait for bookkeeper initnewcluster to complete # before deploying the bookies @@ -162,9 +162,9 @@ spec: done; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" containers: - - name: "nuvolaris-milvus-pulsarv3-bookie" + - name: "openserverless-milvus-pulsarv3-bookie" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -199,30 +199,30 @@ spec: containerPort: 8000 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: - - name: "nuvolaris-milvus-pulsarv3-bookie-journal" + - name: "openserverless-milvus-pulsarv3-bookie-journal" mountPath: /pulsar/data/bookkeeper/journal - - name: "nuvolaris-milvus-pulsarv3-bookie-ledgers" + - name: "openserverless-milvus-pulsarv3-bookie-ledgers" mountPath: /pulsar/data/bookkeeper/ledgers --- apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: broker spec: - serviceName: "nuvolaris-milvus-pulsarv3-broker" + serviceName: "openserverless-milvus-pulsarv3-broker" replicas: 1 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: broker updateStrategy: type: RollingUpdate @@ -231,14 +231,14 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: broker annotations: prometheus.io/scrape: "true" prometheus.io/port: "8080" spec: - serviceAccountName: nuvolaris-operator + serviceAccountName: openserverless-operator affinity: terminationGracePeriodSeconds: 30 initContainers: @@ -256,8 +256,8 @@ spec: - >- export BOOKIE_MEM="-Xmx128M"; - until bin/bookkeeper org.apache.zookeeper.ZooKeeperMain -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /admin/clusters/nuvolaris-milvus-pulsarv3; do - echo "pulsar cluster nuvolaris-milvus-pulsarv3 isn't initialized yet ... check in 3 seconds ..." && sleep 3; + until bin/bookkeeper org.apache.zookeeper.ZooKeeperMain -server openserverless-milvus-pulsarv3-zookeeper:2181 get /admin/clusters/openserverless-milvus-pulsarv3; do + echo "pulsar cluster openserverless-milvus-pulsarv3 isn't initialized yet ... check in 3 seconds ..." && sleep 3; done; volumeMounts: @@ -284,20 +284,20 @@ spec: sleep 3; done; echo "bookkeeper cluster is already initialized"; - bookieServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-bookie | grep Name | wc -l)"; + bookieServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-bookie | grep Name | wc -l)"; until [ ${bookieServiceNumber} -ge $BOOK_KEEPER_REPLICAS ]; do - echo "bookkeeper cluster nuvolaris-milvus-pulsarv3 isn't ready yet ... check in 10 seconds ..."; + echo "bookkeeper cluster openserverless-milvus-pulsarv3 isn't ready yet ... check in 10 seconds ..."; sleep 10; - bookieServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-bookie | grep Name | wc -l)"; + bookieServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-bookie | grep Name | wc -l)"; done; echo "bookkeeper cluster is ready"; envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-bookie" + name: "openserverless-milvus-pulsarv3-bookie" volumeMounts: containers: - - name: "nuvolaris-milvus-pulsarv3-broker" + - name: "openserverless-milvus-pulsarv3-broker" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -327,11 +327,11 @@ spec: bin/gen-yml-from-env.py conf/functions_worker.yml; echo "OK" > status; - bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080; + bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080; while [ $? -eq 0 ]; do - echo "broker ${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local znode still exists ... check in 10 seconds ..."; + echo "broker ${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local znode still exists ... check in 10 seconds ..."; sleep 10; - bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.nuvolaris-milvus-pulsarv3-broker.nuvolaris.svc.cluster.local:8080; + bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper:2181 get /loadbalance/brokers/${HOSTNAME}.openserverless-milvus-pulsarv3-broker.openserverless.svc.cluster.local:8080; done; cat conf/pulsar_env.sh; OPTS="${OPTS} -Dlog4j2.formatMsgNoLookups=true" exec bin/pulsar broker; @@ -343,7 +343,7 @@ spec: containerPort: 6650 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-broker" + name: "openserverless-milvus-pulsarv3-broker" volumeMounts: env: volumes: @@ -351,20 +351,20 @@ spec: apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-proxy" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-proxy" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: proxy spec: - serviceName: "nuvolaris-milvus-pulsarv3-proxy" + serviceName: "openserverless-milvus-pulsarv3-proxy" replicas: 1 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: proxy updateStrategy: type: RollingUpdate @@ -373,8 +373,8 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: proxy annotations: prometheus.io/scrape: "true" @@ -382,7 +382,7 @@ spec: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: nuvolaris-operator + serviceAccountName: openserverless-operator initContainers: # This init container will wait for zookeeper to be ready before # deploying the bookies @@ -397,7 +397,7 @@ spec: args: - >- export PULSAR_MEM="-Xmx128M"; - until bin/pulsar zookeeper-shell -server nuvolaris-milvus-pulsarv3-zookeeper get /admin/clusters/nuvolaris-milvus-pulsarv3; do + until bin/pulsar zookeeper-shell -server openserverless-milvus-pulsarv3-zookeeper get /admin/clusters/openserverless-milvus-pulsarv3; do sleep 3; done; # This init container will wait for at least one broker to be ready before @@ -416,14 +416,14 @@ spec: args: - >- set -e; - brokerServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-broker | grep Name | wc -l)"; + brokerServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-broker | grep Name | wc -l)"; until [ ${brokerServiceNumber} -ge $BROKER_REPLICAS ]; do - echo "pulsar cluster nuvolaris-milvus-pulsarv3 isn't initialized yet ... check in 10 seconds ..."; + echo "pulsar cluster openserverless-milvus-pulsarv3 isn't initialized yet ... check in 10 seconds ..."; sleep 10; - brokerServiceNumber="$(nslookup -timeout=10 nuvolaris-milvus-pulsarv3-broker | grep Name | wc -l)"; + brokerServiceNumber="$(nslookup -timeout=10 openserverless-milvus-pulsarv3-broker | grep Name | wc -l)"; done; containers: - - name: "nuvolaris-milvus-pulsarv3-proxy" + - name: "openserverless-milvus-pulsarv3-proxy" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent livenessProbe: @@ -460,4 +460,4 @@ spec: containerPort: 6650 envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-proxy" \ No newline at end of file + name: "openserverless-milvus-pulsarv3-proxy" \ No newline at end of file diff --git a/deploy/milvus/milvus-pvc.yaml b/deploy/milvus/milvus-pvc.yaml index f64d5637..1d4026b4 100644 --- a/deploy/milvus/milvus-pvc.yaml +++ b/deploy/milvus/milvus-pvc.yaml @@ -19,11 +19,11 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus spec: storageClassName: standard accessModes: @@ -35,11 +35,11 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus-zookeeper - namespace: nuvolaris + name: openserverless-milvus-zookeeper + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus spec: storageClassName: standard accessModes: @@ -51,11 +51,11 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus-bookie-journal - namespace: nuvolaris + name: openserverless-milvus-bookie-journal + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus spec: storageClassName: standard accessModes: @@ -67,11 +67,11 @@ spec: apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nuvolaris-milvus-bookie-ledgers - namespace: nuvolaris + name: openserverless-milvus-bookie-ledgers + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus spec: storageClassName: standard accessModes: diff --git a/deploy/milvus/milvus-s3-secret.yaml b/deploy/milvus/milvus-s3-secret.yaml index 69c740dd..b1f61d93 100644 --- a/deploy/milvus/milvus-s3-secret.yaml +++ b/deploy/milvus/milvus-s3-secret.yaml @@ -20,8 +20,8 @@ apiVersion: v1 kind: Secret type: Opaque metadata: - name: nuvolaris-milvus-s3-secret - namespace: nuvolaris + name: openserverless-milvus-s3-secret + namespace: openserverless stringData: accesskey: miniomilvus secretkey: miniomilvuspwd diff --git a/deploy/milvus/milvus-svc.yaml b/deploy/milvus/milvus-svc.yaml index c261b011..65143f6b 100644 --- a/deploy/milvus/milvus-svc.yaml +++ b/deploy/milvus/milvus-svc.yaml @@ -19,12 +19,12 @@ apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-recovery" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-recovery" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: recovery spec: ports: @@ -33,18 +33,18 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: recovery --- apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-bookie" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-bookie" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: bookie spec: ports: @@ -55,18 +55,18 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: bookie publishNotReadyAddresses: true --- apiVersion: v1 kind: Service metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" spec: type: NodePort @@ -83,18 +83,18 @@ spec: targetPort: metrics selector: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" --- apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: zookeeper annotations: {} @@ -113,18 +113,18 @@ spec: publishNotReadyAddresses: true selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: zookeeper --- apiVersion: v1 kind: Service metadata: - name: "nuvolaris-milvus-pulsarv3-broker" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-broker" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: broker spec: ports: @@ -136,5 +136,5 @@ spec: clusterIP: None selector: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: broker \ No newline at end of file diff --git a/deploy/milvus/milvus-zookeeper.yaml b/deploy/milvus/milvus-zookeeper.yaml index a1d4316a..6a8f12d5 100644 --- a/deploy/milvus/milvus-zookeeper.yaml +++ b/deploy/milvus/milvus-zookeeper.yaml @@ -19,20 +19,20 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: "nuvolaris-milvus-pulsarv3-zookeeper" - namespace: nuvolaris + name: "openserverless-milvus-pulsarv3-zookeeper" + namespace: openserverless labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: zookeeper spec: - serviceName: "nuvolaris-milvus-pulsarv3-zookeeper" + serviceName: "openserverless-milvus-pulsarv3-zookeeper" replicas: 1 selector: matchLabels: app: pulsarv3 - release: nuvolaris-milvus + release: openserverless-milvus component: zookeeper updateStrategy: type: RollingUpdate @@ -41,23 +41,23 @@ spec: metadata: labels: app: pulsarv3 - release: nuvolaris-milvus - cluster: nuvolaris-milvus-pulsarv3 + release: openserverless-milvus + cluster: openserverless-milvus-pulsarv3 component: zookeeper annotations: spec: affinity: terminationGracePeriodSeconds: 30 - serviceAccountName: "nuvolaris-operator" + serviceAccountName: "openserverless-operator" securityContext: fsGroup: 0 fsGroupChangePolicy: OnRootMismatch volumes: - - name: "nuvolaris-milvus-pulsarv3-zookeeper-data" + - name: "openserverless-milvus-pulsarv3-zookeeper-data" persistentVolumeClaim: - claimName: "nuvolaris-milvus-zookeeper" + claimName: "openserverless-milvus-zookeeper" containers: - - name: "nuvolaris-milvus-pulsarv3-zookeeper" + - name: "openserverless-milvus-pulsarv3-zookeeper" image: "apachepulsar/pulsar:3.0.7" imagePullPolicy: IfNotPresent resources: @@ -82,12 +82,12 @@ spec: containerPort: 3888 env: - name: ZOOKEEPER_SERVERS - value: nuvolaris-milvus-pulsarv3-zookeeper-0 + value: openserverless-milvus-pulsarv3-zookeeper-0 - name: EXTERNAL_PROVIDED_SERVERS value: "false" envFrom: - configMapRef: - name: "nuvolaris-milvus-pulsarv3-zookeeper" + name: "openserverless-milvus-pulsarv3-zookeeper" readinessProbe: exec: command: @@ -113,5 +113,5 @@ spec: timeoutSeconds: 30 failureThreshold: 10 volumeMounts: - - name: "nuvolaris-milvus-pulsarv3-zookeeper-data" + - name: "openserverless-milvus-pulsarv3-zookeeper-data" mountPath: /pulsar/data \ No newline at end of file diff --git a/deploy/milvus/milvus.yaml b/deploy/milvus/milvus.yaml index ad40d46c..fe68a8eb 100644 --- a/deploy/milvus/milvus.yaml +++ b/deploy/milvus/milvus.yaml @@ -20,11 +20,11 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-milvus-standalone - namespace: nuvolaris + name: openserverless-milvus-standalone + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" annotations: spec: @@ -34,17 +34,17 @@ spec: selector: matchLabels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" template: metadata: labels: - name: nuvolaris-milvus + name: openserverless-milvus app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: serviceAccountName: default initContainers: @@ -102,9 +102,9 @@ spec: name: tools - name: milvus-config configMap: - name: nuvolaris-milvus + name: openserverless-milvus - name: milvus-data-disk persistentVolumeClaim: - claimName: nuvolaris-milvus + claimName: openserverless-milvus - name: disk emptyDir: {} \ No newline at end of file diff --git a/deploy/minio/00-minio-pvc.yaml b/deploy/minio/00-minio-pvc.yaml index 95e4831c..1a69bfd5 100644 --- a/deploy/minio/00-minio-pvc.yaml +++ b/deploy/minio/00-minio-pvc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: minio-pv-claim - namespace: nuvolaris + namespace: openserverless labels: app: minio-storage-claim spec: diff --git a/deploy/minio/01-minio-dep.yaml b/deploy/minio/01-minio-dep.yaml index 693cddcf..6afe15f4 100644 --- a/deploy/minio/01-minio-dep.yaml +++ b/deploy/minio/01-minio-dep.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and befor kind: Deployment metadata: name: minio-deployment - namespace: nuvolaris + namespace: openserverless spec: selector: matchLabels: @@ -33,7 +33,7 @@ spec: app: minio name: minio annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: volumes: - name: data diff --git a/deploy/minio/02-minio-svc.yaml b/deploy/minio/02-minio-svc.yaml index 6e1139bb..133aad4c 100644 --- a/deploy/minio/02-minio-svc.yaml +++ b/deploy/minio/02-minio-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-minio + name: openserverless-minio spec: type: NodePort ports: diff --git a/deploy/mongodb-operator-deploy/mongodb-auth-nuvolaris.yaml b/deploy/mongodb-operator-deploy/mongodb-auth-openserverless.yaml similarity index 89% rename from deploy/mongodb-operator-deploy/mongodb-auth-nuvolaris.yaml rename to deploy/mongodb-operator-deploy/mongodb-auth-openserverless.yaml index cbfb5c7e..7e354224 100644 --- a/deploy/mongodb-operator-deploy/mongodb-auth-nuvolaris.yaml +++ b/deploy/mongodb-operator-deploy/mongodb-auth-openserverless.yaml @@ -18,8 +18,8 @@ apiVersion: v1 kind: Secret metadata: - name: mongodb-nuvolaris-auth - namespace: nuvolaris + name: mongodb-openserverless-auth + namespace: openserverless type: Opaque stringData: - mongodb_nuvolaris_psw: s3cr3t \ No newline at end of file + mongodb_openserverless_psw: s3cr3t \ No newline at end of file diff --git a/deploy/mongodb-operator-deploy/mongodb-auth.yaml b/deploy/mongodb-operator-deploy/mongodb-auth.yaml index c07e400c..712a9d4f 100644 --- a/deploy/mongodb-operator-deploy/mongodb-auth.yaml +++ b/deploy/mongodb-operator-deploy/mongodb-auth.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Secret metadata: name: mongodb-admin-auth - namespace: nuvolaris + namespace: openserverless type: Opaque stringData: mongodb_admin_psw: sUpErs3cr3t \ No newline at end of file diff --git a/deploy/mongodb-operator-deploy/mongodb-svc.yaml b/deploy/mongodb-operator-deploy/mongodb-svc.yaml index 1683fc3d..73219bc2 100644 --- a/deploy/mongodb-operator-deploy/mongodb-svc.yaml +++ b/deploy/mongodb-operator-deploy/mongodb-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: mongodb - namespace: nuvolaris + namespace: openserverless spec: type: NodePort publishNotReadyAddresses: true @@ -30,5 +30,5 @@ spec: targetPort: 27017 nodePort: 32717 selector: - app: nuvolaris-mongodb-svc - statefulset.kubernetes.io/pod-name: nuvolaris-mongodb-0 \ No newline at end of file + app: openserverless-mongodb-svc + statefulset.kubernetes.io/pod-name: openserverless-mongodb-0 \ No newline at end of file diff --git a/deploy/mongodb-operator-deploy/mongodb.yaml b/deploy/mongodb-operator-deploy/mongodb.yaml index fa5b15c2..3b2a8102 100644 --- a/deploy/mongodb-operator-deploy/mongodb.yaml +++ b/deploy/mongodb-operator-deploy/mongodb.yaml @@ -18,8 +18,8 @@ apiVersion: mongodbcommunity.mongodb.com/v1 kind: MongoDBCommunity metadata: - name: nuvolaris-mongodb - namespace: nuvolaris + name: openserverless-mongodb + namespace: openserverless spec: members: 1 type: ReplicaSet @@ -39,14 +39,14 @@ spec: - name: userAdminAnyDatabase db: admin scramCredentialsSecretName: mongodb-admin-scram - - name: nuvolaris - db: nuvolaris + - name: openserverless + db: openserverless passwordSecretRef: # a reference to the secret that will be used to generate the user's password - name: mongodb-nuvolaris-auth - key: mongodb_nuvolaris_psw + name: mongodb-openserverless-auth + key: mongodb_openserverless_psw roles: - name: readWrite - db: nuvolaris - scramCredentialsSecretName: mongodb-nuvolaris-scram + db: openserverless + scramCredentialsSecretName: mongodb-openserverless-scram additionalMongodConfig: storage.wiredTiger.engineConfig.journalCompressor: zlib \ No newline at end of file diff --git a/deploy/mongodb-operator/mongodb-operator.yaml b/deploy/mongodb-operator/mongodb-operator.yaml index 11812100..0e932ecc 100644 --- a/deploy/mongodb-operator/mongodb-operator.yaml +++ b/deploy/mongodb-operator/mongodb-operator.yaml @@ -23,7 +23,7 @@ metadata: labels: owner: mongodb name: mongodb-kubernetes-operator - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: diff --git a/deploy/mongodb-operator/mongodb-rbac.yaml b/deploy/mongodb-operator/mongodb-rbac.yaml index 563b6373..bbf758ce 100644 --- a/deploy/mongodb-operator/mongodb-rbac.yaml +++ b/deploy/mongodb-operator/mongodb-rbac.yaml @@ -20,20 +20,20 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator - namespace: nuvolaris + namespace: openserverless --- apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-database - namespace: nuvolaris + namespace: openserverless --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: mongodb-kubernetes-operator - namespace: nuvolaris + namespace: openserverless rules: - apiGroups: - "" @@ -100,7 +100,7 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator - namespace: nuvolaris + namespace: openserverless subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator @@ -113,7 +113,7 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-database - namespace: nuvolaris + namespace: openserverless subjects: - kind: ServiceAccount name: mongodb-database diff --git a/deploy/mongodb-standalone/mongodb-auth.yaml b/deploy/mongodb-standalone/mongodb-auth.yaml index c07e400c..712a9d4f 100644 --- a/deploy/mongodb-standalone/mongodb-auth.yaml +++ b/deploy/mongodb-standalone/mongodb-auth.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Secret metadata: name: mongodb-admin-auth - namespace: nuvolaris + namespace: openserverless type: Opaque stringData: mongodb_admin_psw: sUpErs3cr3t \ No newline at end of file diff --git a/deploy/mongodb-standalone/mongodb-cm.yaml b/deploy/mongodb-standalone/mongodb-cm.yaml index 6746a177..be0f7c68 100644 --- a/deploy/mongodb-standalone/mongodb-cm.yaml +++ b/deploy/mongodb-standalone/mongodb-cm.yaml @@ -18,17 +18,17 @@ apiVersion: v1 kind: ConfigMap metadata: name: mongodb-cm - namespace: nuvolaris + namespace: openserverless data: mongodb-js: |- - db = db.getSiblingDB('nuvolaris'); + db = db.getSiblingDB('openserverless'); db.createUser({ - user: "nuvolaris", + user: "openserverless", pwd: "testpwd", roles: [ - {role: "readWrite", db: "nuvolaris"} + {role: "readWrite", db: "openserverless"} ] }); - db.nuv_test_collection.insertOne({"message":"Welcome to nuvolaris!"}) \ No newline at end of file + db.nuv_test_collection.insertOne({"message":"Welcome to openserverless!"}) \ No newline at end of file diff --git a/deploy/mongodb-standalone/mongodb-pvc.yaml b/deploy/mongodb-standalone/mongodb-pvc.yaml index 88981fde..378feb87 100644 --- a/deploy/mongodb-standalone/mongodb-pvc.yaml +++ b/deploy/mongodb-standalone/mongodb-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodb-data - namespace: nuvolaris + namespace: openserverless spec: accessModes: - ReadWriteOnce diff --git a/deploy/mongodb-standalone/mongodb-sts.yaml b/deploy/mongodb-standalone/mongodb-sts.yaml index 09cfbc81..6b4a3a5a 100644 --- a/deploy/mongodb-standalone/mongodb-sts.yaml +++ b/deploy/mongodb-standalone/mongodb-sts.yaml @@ -18,21 +18,21 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-mongodb + name: openserverless-mongodb labels: app: mongodb - namespace: nuvolaris + namespace: openserverless spec: - serviceName: nuvolaris-mongodb-svc + serviceName: openserverless-mongodb-svc replicas: 1 selector: matchLabels: - app: nuvolaris-mongodb + app: openserverless-mongodb template: metadata: labels: - app: nuvolaris-mongodb - name: nuvolaris-mongodb + app: openserverless-mongodb + name: openserverless-mongodb spec: containers: - image: mongo:5.0.11 diff --git a/deploy/mongodb-standalone/mongodb-svc.yaml b/deploy/mongodb-standalone/mongodb-svc.yaml index be49680c..01c207b5 100644 --- a/deploy/mongodb-standalone/mongodb-svc.yaml +++ b/deploy/mongodb-standalone/mongodb-svc.yaml @@ -19,13 +19,13 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-mongodb-svc - namespace: nuvolaris + name: openserverless-mongodb-svc + namespace: openserverless spec: clusterIP: None ports: - port: 27017 targetPort: 27017 selector: - app: nuvolaris-mongodb - statefulset.kubernetes.io/pod-name: nuvolaris-mongodb-0 \ No newline at end of file + app: openserverless-mongodb + statefulset.kubernetes.io/pod-name: openserverless-mongodb-0 \ No newline at end of file diff --git a/deploy/monitoring/kubestate-03-dep.yaml b/deploy/monitoring/kubestate-03-dep.yaml index ec437496..10f97297 100644 --- a/deploy/monitoring/kubestate-03-dep.yaml +++ b/deploy/monitoring/kubestate-03-dep.yaml @@ -20,15 +20,15 @@ kind: Deployment metadata: labels: app.kubernetes.io/component: metrics - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics - name: nuvolaris-prometheus-kube-state-metrics - namespace: nuvolaris + name: openserverless-prometheus-kube-state-metrics + namespace: openserverless spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics strategy: rollingUpdate: @@ -39,11 +39,11 @@ spec: metadata: labels: app.kubernetes.io/component: metrics - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics spec: - serviceAccount: nuvolaris-prometheus-kube-state-metrics - serviceAccountName: nuvolaris-prometheus-kube-state-metrics + serviceAccount: openserverless-prometheus-kube-state-metrics + serviceAccountName: openserverless-prometheus-kube-state-metrics affinity: # prefer to not run on an invoker node (only prefer because of single node clusters) nodeAffinity: @@ -51,18 +51,18 @@ spec: - weight: 100 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: NotIn values: - invoker - weight: 80 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: In values: - core - # Fault tolerance: prevent multiple instances of nuvolaris-couchdb from running on the same node + # Fault tolerance: prevent multiple instances of openserverless-couchdb from running on the same node podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: @@ -70,10 +70,10 @@ spec: - key: name operator: In values: - - nuvolaris-prometheus-kube-state-metrics + - openserverless-prometheus-kube-state-metrics topologyKey: "kubernetes.io/hostname" tolerations: - - key: "nuvolaris-role" + - key: "openserverless-role" operator: "Equal" value: core effect: "NoSchedule" diff --git a/deploy/monitoring/kubestate-04-svc.yaml b/deploy/monitoring/kubestate-04-svc.yaml index ca35a0fa..709db2b7 100644 --- a/deploy/monitoring/kubestate-04-svc.yaml +++ b/deploy/monitoring/kubestate-04-svc.yaml @@ -20,10 +20,10 @@ kind: Service metadata: labels: app.kubernetes.io/component: metrics - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics - name: nuvolaris-prometheus-kube-state-metrics - namespace: nuvolaris + name: openserverless-prometheus-kube-state-metrics + namespace: openserverless spec: type: ClusterIP sessionAffinity: None @@ -34,5 +34,5 @@ spec: protocol: TCP targetPort: 8080 selector: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics \ No newline at end of file diff --git a/deploy/monitoring/prometheus-02-cm.yaml b/deploy/monitoring/prometheus-02-cm.yaml index ba2becb9..d6bbb869 100644 --- a/deploy/monitoring/prometheus-02-cm.yaml +++ b/deploy/monitoring/prometheus-02-cm.yaml @@ -19,14 +19,14 @@ apiVersion: v1 kind: ConfigMap metadata: annotations: - meta.helm.sh/release-name: nuvolaris-prometheus - meta.helm.sh/release-namespace: nuvolaris + meta.helm.sh/release-name: openserverless-prometheus + meta.helm.sh/release-namespace: openserverless labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus - name: nuvolaris-prometheus-server - namespace: nuvolaris + name: openserverless-prometheus-server + namespace: openserverless data: alerting_rules.yml: | # Alerting rules @@ -732,7 +732,7 @@ data: labels: team: dev severity: critical - service: nuvolaris + service: openserverless scope: infrastructure - alert: High Memory Usage of Container @@ -745,7 +745,7 @@ data: labels: team: dev severity: critical - service: nuvolaris + service: openserverless scope: infrastructure - alert: High CPU Usage of Container @@ -758,7 +758,7 @@ data: labels: team: dev severity: critical - service: nuvolaris + service: openserverless scope: infrastructure - alert: High Persistent Volume Usage @@ -771,7 +771,7 @@ data: labels: team: devops severity: critical - service: nuvolaris + service: openserverless scope: infrastructure - name: OpenWhisk @@ -866,7 +866,7 @@ data: - kafka:9888 - job_name: 'kube-state-metrics' static_configs: - - targets: ['nuvolaris-prometheus-kube-state-metrics.nuvolaris.svc.cluster.local:8080'] + - targets: ['openserverless-prometheus-kube-state-metrics.openserverless.svc.cluster.local:8080'] - job_name: 'kubelet' kubernetes_sd_configs: - role: node @@ -891,7 +891,7 @@ data: - scheme: http static_configs: - targets: - - "nuvolaris-prometheus-alertmanager:9093" + - "openserverless-prometheus-alertmanager:9093" recording_rules.yml: | groups: - name: aggregate_container_resources diff --git a/deploy/monitoring/prometheus-03-dep.yaml b/deploy/monitoring/prometheus-03-dep.yaml index 704e95cb..1fdd917b 100644 --- a/deploy/monitoring/prometheus-03-dep.yaml +++ b/deploy/monitoring/prometheus-03-dep.yaml @@ -18,18 +18,18 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-prometheus-server - namespace: nuvolaris + name: openserverless-prometheus-server + namespace: openserverless labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus strategy: type: Recreate @@ -37,14 +37,14 @@ spec: metadata: labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus name: prometheus annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: - serviceAccount: nuvolaris-prometheus-server - serviceAccountName: nuvolaris-prometheus-server + serviceAccount: openserverless-prometheus-server + serviceAccountName: openserverless-prometheus-server terminationGracePeriodSeconds: 300 containers: - name: prometheus-server @@ -94,8 +94,8 @@ spec: volumes: - configMap: defaultMode: 420 - name: nuvolaris-prometheus-server + name: openserverless-prometheus-server name: config-volume - name: storage-volume persistentVolumeClaim: - claimName: nuvolaris-prometheus-server-pvc + claimName: openserverless-prometheus-server-pvc diff --git a/deploy/monitoring/prometheus-04-svc.yaml b/deploy/monitoring/prometheus-04-svc.yaml index ad1dece4..136c6897 100644 --- a/deploy/monitoring/prometheus-04-svc.yaml +++ b/deploy/monitoring/prometheus-04-svc.yaml @@ -18,11 +18,11 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-prometheus-server - namespace: nuvolaris + name: openserverless-prometheus-server + namespace: openserverless labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus spec: type: NodePort ports: @@ -33,6 +33,6 @@ spec: nodePort: 30299 selector: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus sessionAffinity: None diff --git a/deploy/nginx-static/nginx-static-cm.yaml b/deploy/nginx-static/nginx-static-cm.yaml index dafce22b..1edb12c0 100644 --- a/deploy/nginx-static/nginx-static-cm.yaml +++ b/deploy/nginx-static/nginx-static-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: nginx-static-conf-cm - namespace: nuvolaris + namespace: openserverless data: default.conf: | server { @@ -46,14 +46,14 @@ data: #proxy_hide_header x-amz-server-side-encryption; #proxy_set_header Host $http_host; - proxy_pass http://minio.nuvolaris.svc.cluster.local:9000/; + proxy_pass http://minio.openserverless.svc.cluster.local:9000/; error_page 301 404 = @spa; proxy_intercept_errors on; } location @spa { rewrite /(.*?)/ /$1/index.html; - proxy_pass http://minio.nuvolaris.svc.cluster.local:9000; + proxy_pass http://minio.openserverless.svc.cluster.local:9000; error_page 404 = /404.html; proxy_intercept_errors on; } diff --git a/deploy/nginx-static/nginx-static-service.yaml b/deploy/nginx-static/nginx-static-service.yaml index ff5be6cc..e528f516 100644 --- a/deploy/nginx-static/nginx-static-service.yaml +++ b/deploy/nginx-static/nginx-static-service.yaml @@ -18,9 +18,9 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-static-svc + name: openserverless-static-svc labels: - app: nuvolaris-static + app: openserverless-static spec: type: ClusterIP ports: @@ -29,5 +29,5 @@ spec: protocol: TCP targetPort: 8080 selector: - app: nuvolaris-static + app: openserverless-static sessionAffinity: None \ No newline at end of file diff --git a/deploy/nginx-static/nginx-static-sts.yaml b/deploy/nginx-static/nginx-static-sts.yaml index aab0f214..4fc2df7d 100644 --- a/deploy/nginx-static/nginx-static-sts.yaml +++ b/deploy/nginx-static/nginx-static-sts.yaml @@ -18,27 +18,27 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-static - namespace: nuvolaris + name: openserverless-static + namespace: openserverless labels: - app: nuvolaris-static + app: openserverless-static spec: - serviceName: nuvolaris-static-svc + serviceName: openserverless-static-svc replicas: 1 selector: matchLabels: - app: nuvolaris-static + app: openserverless-static template: metadata: labels: - app: nuvolaris-static + app: openserverless-static spec: initContainers: - name: check-minio image: busybox:1.36.0 - command: ['sh', '-c', "until nslookup nuvolaris-minio.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for minio; sleep 2; done"] + command: ['sh', '-c', "until nslookup openserverless-minio.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for minio; sleep 2; done"] containers: - - name: nuvolaris-static + - name: openserverless-static image: nginxinc/nginx-unprivileged:1.24 ports: - containerPort: 8080 diff --git a/deploy/nuvolaris-operator/operator-pod.yaml b/deploy/openserverless-operator/operator-pod.yaml similarity index 82% rename from deploy/nuvolaris-operator/operator-pod.yaml rename to deploy/openserverless-operator/operator-pod.yaml index f66f9cd0..8624fed8 100644 --- a/deploy/nuvolaris-operator/operator-pod.yaml +++ b/deploy/openserverless-operator/operator-pod.yaml @@ -18,16 +18,16 @@ apiVersion: v1 kind: Pod metadata: - name: nuvolaris-operator - namespace: nuvolaris + name: openserverless-operator + namespace: openserverless annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" labels: - name: nuvolaris-operator + name: openserverless-operator spec: - serviceAccount: nuvolaris-operator + serviceAccount: openserverless-operator containers: - - name: nuvolaris-operator + - name: openserverless-operator image: ghcr.io/nuvolaris/nuvolaris-operator:latest imagePullPolicy: IfNotPresent command: ["./run.sh"] diff --git a/deploy/nuvolaris-operator/whisk.yaml b/deploy/openserverless-operator/whisk.yaml similarity index 89% rename from deploy/nuvolaris-operator/whisk.yaml rename to deploy/openserverless-operator/whisk.yaml index 2e3e7324..906e176c 100644 --- a/deploy/nuvolaris-operator/whisk.yaml +++ b/deploy/openserverless-operator/whisk.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -42,7 +42,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -63,8 +63,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 # not yet implemented kafka: diff --git a/deploy/nuvolaris-permissions/kubegres-crd.yaml b/deploy/openserverless-permissions/kubegres-crd.yaml similarity index 100% rename from deploy/nuvolaris-permissions/kubegres-crd.yaml rename to deploy/openserverless-permissions/kubegres-crd.yaml diff --git a/deploy/nuvolaris-permissions/nuvolaris-common.yaml b/deploy/openserverless-permissions/openserverless-common.yaml similarity index 86% rename from deploy/nuvolaris-permissions/nuvolaris-common.yaml rename to deploy/openserverless-permissions/openserverless-common.yaml index b44f4807..d8b9c3af 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-common.yaml +++ b/deploy/openserverless-permissions/openserverless-common.yaml @@ -19,18 +19,18 @@ apiVersion: v1 kind: Namespace metadata: - name: nuvolaris + name: openserverless --- apiVersion: v1 kind: ConfigMap metadata: name: config - namespace: nuvolaris + namespace: openserverless --- apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-operator - namespace: nuvolaris + name: openserverless-operator + namespace: openserverless labels: - app: nuvolaris-operator + app: openserverless-operator diff --git a/deploy/nuvolaris-permissions/nuvolaris-kubegres-common.yaml b/deploy/openserverless-permissions/openserverless-kubegres-common.yaml similarity index 97% rename from deploy/nuvolaris-permissions/nuvolaris-kubegres-common.yaml rename to deploy/openserverless-permissions/openserverless-kubegres-common.yaml index 7766570a..f3556c74 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-kubegres-common.yaml +++ b/deploy/openserverless-permissions/openserverless-kubegres-common.yaml @@ -20,4 +20,4 @@ apiVersion: v1 kind: ServiceAccount metadata: name: kubegres-controller-manager - namespace: nuvolaris \ No newline at end of file + namespace: openserverless \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-kubegres-roles.yaml b/deploy/openserverless-permissions/openserverless-kubegres-roles.yaml similarity index 97% rename from deploy/nuvolaris-permissions/nuvolaris-kubegres-roles.yaml rename to deploy/openserverless-permissions/openserverless-kubegres-roles.yaml index 34765bdc..dfcda256 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-kubegres-roles.yaml +++ b/deploy/openserverless-permissions/openserverless-kubegres-roles.yaml @@ -20,7 +20,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: kubegres-leader-election-role - namespace: nuvolaris + namespace: openserverless rules: - apiGroups: - "" @@ -215,7 +215,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: kubegres-leader-election-rolebinding - namespace: nuvolaris + namespace: openserverless roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -236,7 +236,7 @@ roleRef: subjects: - kind: ServiceAccount name: kubegres-controller-manager - namespace: nuvolaris + namespace: openserverless --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -249,4 +249,4 @@ roleRef: subjects: - kind: ServiceAccount name: kubegres-controller-manager - namespace: nuvolaris \ No newline at end of file + namespace: openserverless \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-milvus-operator-common.yaml b/deploy/openserverless-permissions/openserverless-milvus-operator-common.yaml similarity index 92% rename from deploy/nuvolaris-permissions/nuvolaris-milvus-operator-common.yaml rename to deploy/openserverless-permissions/openserverless-milvus-operator-common.yaml index 49b4b24e..25970400 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-milvus-operator-common.yaml +++ b/deploy/openserverless-permissions/openserverless-milvus-operator-common.yaml @@ -19,5 +19,5 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-milvus-operator - namespace: nuvolaris \ No newline at end of file + name: openserverless-milvus-operator + namespace: openserverless \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-milvus-operator-crd.yaml b/deploy/openserverless-permissions/openserverless-milvus-operator-crd.yaml similarity index 100% rename from deploy/nuvolaris-permissions/nuvolaris-milvus-operator-crd.yaml rename to deploy/openserverless-permissions/openserverless-milvus-operator-crd.yaml diff --git a/deploy/nuvolaris-permissions/nuvolaris-milvus-operator-roles.yaml b/deploy/openserverless-permissions/openserverless-milvus-operator-roles.yaml similarity index 96% rename from deploy/nuvolaris-permissions/nuvolaris-milvus-operator-roles.yaml rename to deploy/openserverless-permissions/openserverless-milvus-operator-roles.yaml index cdf8b35f..026e4853 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-milvus-operator-roles.yaml +++ b/deploy/openserverless-permissions/openserverless-milvus-operator-roles.yaml @@ -280,15 +280,15 @@ roleRef: name: 'milvus-operator-manager-role' subjects: - kind: ServiceAccount - name: "nuvolaris-milvus-operator" - namespace: "nuvolaris" + name: "openserverless-milvus-operator" + namespace: "openserverless" --- # Source: milvus-operator/templates/role.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: 'milvus-operator-leader-election-role' - namespace: "nuvolaris" + namespace: "openserverless" rules: - apiGroups: - "" @@ -327,12 +327,12 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: 'milvus-operator-leader-election-rolebinding' - namespace: "nuvolaris" + namespace: "openserverless" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: 'milvus-operator-leader-election-role' subjects: - kind: ServiceAccount - name: "nuvolaris-milvus-operator" - namespace: "nuvolaris" \ No newline at end of file + name: "openserverless-milvus-operator" + namespace: "openserverless" \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-monitoring-00-sa.yaml b/deploy/openserverless-permissions/openserverless-monitoring-00-sa.yaml similarity index 74% rename from deploy/nuvolaris-permissions/nuvolaris-monitoring-00-sa.yaml rename to deploy/openserverless-permissions/openserverless-monitoring-00-sa.yaml index 1d4ad7af..d4636054 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-monitoring-00-sa.yaml +++ b/deploy/openserverless-permissions/openserverless-monitoring-00-sa.yaml @@ -18,11 +18,11 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-prometheus-server - namespace: nuvolaris + name: openserverless-prometheus-server + namespace: openserverless labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus --- apiVersion: v1 @@ -30,17 +30,17 @@ automountServiceAccountToken: true kind: ServiceAccount metadata: labels: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager - name: nuvolaris-prometheus-alertmanager - namespace: nuvolaris + name: openserverless-prometheus-alertmanager + namespace: openserverless --- apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-prometheus-kube-state-metrics - namespace: nuvolaris + name: openserverless-prometheus-kube-state-metrics + namespace: openserverless labels: app.kubernetes.io/component: metrics - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-monitoring-01-roles.yaml b/deploy/openserverless-permissions/openserverless-monitoring-01-roles.yaml similarity index 89% rename from deploy/nuvolaris-permissions/nuvolaris-monitoring-01-roles.yaml rename to deploy/openserverless-permissions/openserverless-monitoring-01-roles.yaml index 28fd07f6..68936174 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-monitoring-01-roles.yaml +++ b/deploy/openserverless-permissions/openserverless-monitoring-01-roles.yaml @@ -18,10 +18,10 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: nuvolaris-prometheus-server-cr + name: openserverless-prometheus-server-cr labels: app.kubernetes.io/component: server - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: prometheus rules: - apiGroups: @@ -61,9 +61,9 @@ kind: ClusterRole metadata: labels: app.kubernetes.io/component: metrics - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: kube-state-metrics - name: nuvolaris-prometheus-kube-state-metrics-cr + name: openserverless-prometheus-kube-state-metrics-cr rules: - apiGroups: - certificates.k8s.io @@ -274,22 +274,22 @@ metadata: roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: nuvolaris-prometheus-server-cr + name: openserverless-prometheus-server-cr subjects: - kind: ServiceAccount - name: nuvolaris-prometheus-server - namespace: nuvolaris + name: openserverless-prometheus-server + namespace: openserverless --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: nuvolaris-prometheus-kube-state-metrics-crb + name: openserverless-prometheus-kube-state-metrics-crb roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: nuvolaris-prometheus-kube-state-metrics-cr + name: openserverless-prometheus-kube-state-metrics-cr subjects: - kind: ServiceAccount - name: nuvolaris-prometheus-kube-state-metrics - namespace: nuvolaris \ No newline at end of file + name: openserverless-prometheus-kube-state-metrics + namespace: openserverless \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/nuvolaris-quota-common.yaml b/deploy/openserverless-permissions/openserverless-quota-common.yaml similarity index 90% rename from deploy/nuvolaris-permissions/nuvolaris-quota-common.yaml rename to deploy/openserverless-permissions/openserverless-quota-common.yaml index 147b2598..01e80c78 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-quota-common.yaml +++ b/deploy/openserverless-permissions/openserverless-quota-common.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-quota - namespace: nuvolaris + name: openserverless-quota + namespace: openserverless labels: - app: nuvolaris-quota + app: openserverless-quota diff --git a/deploy/nuvolaris-permissions/nuvolaris-quota-roles.yaml b/deploy/openserverless-permissions/openserverless-quota-roles.yaml similarity index 81% rename from deploy/nuvolaris-permissions/nuvolaris-quota-roles.yaml rename to deploy/openserverless-permissions/openserverless-quota-roles.yaml index 14447165..4c5b65be 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-quota-roles.yaml +++ b/deploy/openserverless-permissions/openserverless-quota-roles.yaml @@ -19,14 +19,14 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - namespace: nuvolaris - name: nuvolaris-quota-role + namespace: openserverless + name: openserverless-quota-role labels: - app: nuvolaris-quota-role + app: openserverless-quota-role rules: # assign the possibility to operate on whisk users -- apiGroups: ["nuvolaris.org"] +- apiGroups: ["openserverless.org"] resources: ["whisksusers","whisksusers/status","*/finalizers"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] @@ -38,15 +38,15 @@ rules: kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-quota-rb - namespace: nuvolaris + name: openserverless-quota-rb + namespace: openserverless labels: - app: nuvolaris-quota-rb + app: openserverless-quota-rb subjects: - kind: ServiceAccount - namespace: nuvolaris - name: nuvolaris-quota + namespace: openserverless + name: openserverless-quota roleRef: kind: Role - name: nuvolaris-quota-role + name: openserverless-quota-role apiGroup: rbac.authorization.k8s.io diff --git a/deploy/nuvolaris-permissions/nuvolaris-wsku-common.yaml b/deploy/openserverless-permissions/openserverless-wsku-common.yaml similarity index 90% rename from deploy/nuvolaris-permissions/nuvolaris-wsku-common.yaml rename to deploy/openserverless-permissions/openserverless-wsku-common.yaml index 25212829..0d92cb50 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-wsku-common.yaml +++ b/deploy/openserverless-permissions/openserverless-wsku-common.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-wsku - namespace: nuvolaris + name: openserverless-wsku + namespace: openserverless labels: - app: nuvolaris-wsku + app: openserverless-wsku diff --git a/deploy/nuvolaris-permissions/nuvolaris-wsku-roles.yaml b/deploy/openserverless-permissions/openserverless-wsku-roles.yaml similarity index 79% rename from deploy/nuvolaris-permissions/nuvolaris-wsku-roles.yaml rename to deploy/openserverless-permissions/openserverless-wsku-roles.yaml index 101cff05..b55acb14 100644 --- a/deploy/nuvolaris-permissions/nuvolaris-wsku-roles.yaml +++ b/deploy/openserverless-permissions/openserverless-wsku-roles.yaml @@ -19,14 +19,14 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - namespace: nuvolaris - name: nuvolaris-wsku-role + namespace: openserverless + name: openserverless-wsku-role labels: - app: nuvolaris-wsku-role + app: openserverless-wsku-role rules: # assign the possibility to operate on whisk users -- apiGroups: ["nuvolaris.org"] +- apiGroups: ["openserverless.org"] resources: ["whisksusers","whisksusers/status","*/finalizers"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] # assign the possibility to operate on configmaps (admin api) @@ -42,24 +42,24 @@ rules: kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-wsku-rb - namespace: nuvolaris + name: openserverless-wsku-rb + namespace: openserverless labels: - app: nuvolaris-wsku-rb + app: openserverless-wsku-rb subjects: - kind: ServiceAccount - namespace: nuvolaris - name: nuvolaris-wsku + namespace: openserverless + name: openserverless-wsku roleRef: kind: Role - name: nuvolaris-wsku-role + name: openserverless-wsku-role apiGroup: rbac.authorization.k8s.io --- kind: Secret apiVersion: v1 type: kubernetes.io/service-account-token metadata: - name: nuvolaris-wsku-secret - namespace: nuvolaris + name: openserverless-wsku-secret + namespace: openserverless annotations: - kubernetes.io/service-account.name: nuvolaris-wsku + kubernetes.io/service-account.name: openserverless-wsku diff --git a/deploy/nuvolaris-permissions/openwhisk-core-roles.yaml b/deploy/openserverless-permissions/openwhisk-core-roles.yaml similarity index 89% rename from deploy/nuvolaris-permissions/openwhisk-core-roles.yaml rename to deploy/openserverless-permissions/openwhisk-core-roles.yaml index 24214326..8a47de70 100644 --- a/deploy/nuvolaris-permissions/openwhisk-core-roles.yaml +++ b/deploy/openserverless-permissions/openwhisk-core-roles.yaml @@ -20,14 +20,14 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: nuvolaris-openwhisk-core - namespace: nuvolaris + name: openserverless-openwhisk-core + namespace: openserverless --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: openwhisk-core-role - namespace: nuvolaris + namespace: openserverless rules: - apiGroups: ["extensions", "apps"] resources: ["deployments"] @@ -46,12 +46,12 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: openwhisk-controller-role-rb - namespace: nuvolaris + namespace: openserverless roleRef: kind: Role name: openwhisk-core-role apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount - name: nuvolaris-openwhisk-core - namespace: nuvolaris + name: openserverless-openwhisk-core + namespace: openserverless diff --git a/deploy/nuvolaris-permissions/openwhisk-core-sa.yaml b/deploy/openserverless-permissions/openwhisk-core-sa.yaml similarity index 93% rename from deploy/nuvolaris-permissions/openwhisk-core-sa.yaml rename to deploy/openserverless-permissions/openwhisk-core-sa.yaml index d7d7499e..3de304dd 100644 --- a/deploy/nuvolaris-permissions/openwhisk-core-sa.yaml +++ b/deploy/openserverless-permissions/openwhisk-core-sa.yaml @@ -20,13 +20,13 @@ apiVersion: v1 kind: ServiceAccount metadata: name: openwhisk-core - namespace: nuvolaris + namespace: openserverless --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: openwhisk-core - namespace: nuvolaris + namespace: openserverless roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -34,4 +34,4 @@ roleRef: subjects: - kind: ServiceAccount name: openwhisk-core - namespace: nuvolaris + namespace: openserverless diff --git a/deploy/nuvolaris-permissions/openwhisk-invoker-sa.yaml b/deploy/openserverless-permissions/openwhisk-invoker-sa.yaml similarity index 94% rename from deploy/nuvolaris-permissions/openwhisk-invoker-sa.yaml rename to deploy/openserverless-permissions/openwhisk-invoker-sa.yaml index 9807a510..2176e7b5 100644 --- a/deploy/nuvolaris-permissions/openwhisk-invoker-sa.yaml +++ b/deploy/openserverless-permissions/openwhisk-invoker-sa.yaml @@ -25,13 +25,13 @@ apiVersion: v1 kind: ServiceAccount metadata: name: openwhisk-invoker - namespace: nuvolaris + namespace: openserverless --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: openwhisk-invoker - namespace: nuvolaris + namespace: openserverless rules: - apiGroups: ["extensions", "apps"] resources: ["deployments"] @@ -50,10 +50,10 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: openwhisk-invoker - namespace: nuvolaris + namespace: openserverless subjects: - kind: ServiceAccount - namespace: "nuvolaris" + namespace: "openserverless" name: openwhisk-invoker roleRef: kind: Role diff --git a/deploy/nuvolaris-permissions/openwhisk-runtimes-cm.yaml b/deploy/openserverless-permissions/openwhisk-runtimes-cm.yaml similarity index 99% rename from deploy/nuvolaris-permissions/openwhisk-runtimes-cm.yaml rename to deploy/openserverless-permissions/openwhisk-runtimes-cm.yaml index 33492079..e477123a 100644 --- a/deploy/nuvolaris-permissions/openwhisk-runtimes-cm.yaml +++ b/deploy/openserverless-permissions/openwhisk-runtimes-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: openwhisk-runtimes - namespace: nuvolaris + namespace: openserverless data: runtimes.json: | { @@ -245,8 +245,8 @@ data: "attachmentType": "text/plain" }, "image": { - "prefix": "ghcr.io/nuvolaris", - "name": "go-nuvolaris-metaflow", + "prefix": "ghcr.io/openserverless", + "name": "go-openserverless-metaflow", "tag": "bc86ab6" } } diff --git a/deploy/nuvolaris-permissions/operator-clusterroles.yaml b/deploy/openserverless-permissions/operator-clusterroles.yaml similarity index 91% rename from deploy/nuvolaris-permissions/operator-clusterroles.yaml rename to deploy/openserverless-permissions/operator-clusterroles.yaml index fbe92413..b99f80be 100644 --- a/deploy/nuvolaris-permissions/operator-clusterroles.yaml +++ b/deploy/openserverless-permissions/operator-clusterroles.yaml @@ -19,9 +19,9 @@ kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-cr + name: openserverless-operator-cr labels: - app: nuvolaris-operator-cr + app: openserverless-operator-cr rules: # read nodes storageclasses ingressclasses @@ -94,15 +94,15 @@ rules: kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-crb - namespace: nuvolaris + name: openserverless-operator-crb + namespace: openserverless labels: - app: nuvolaris-operator-crb + app: openserverless-operator-crb subjects: - kind: ServiceAccount - namespace: nuvolaris - name: nuvolaris-operator + namespace: openserverless + name: openserverless-operator roleRef: kind: ClusterRole - name: nuvolaris-operator-cr + name: openserverless-operator-cr apiGroup: rbac.authorization.k8s.io \ No newline at end of file diff --git a/deploy/nuvolaris-permissions/operator-roles.yaml b/deploy/openserverless-permissions/operator-roles.yaml similarity index 91% rename from deploy/nuvolaris-permissions/operator-roles.yaml rename to deploy/openserverless-permissions/operator-roles.yaml index 36d3872d..770d2244 100644 --- a/deploy/nuvolaris-permissions/operator-roles.yaml +++ b/deploy/openserverless-permissions/operator-roles.yaml @@ -19,10 +19,10 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-role - namespace: nuvolaris + name: openserverless-operator-role + namespace: openserverless labels: - app: nuvolaris-operator-role + app: openserverless-operator-role rules: # edit secrets cm po svc pvc ingresses serviceaccounts events @@ -59,8 +59,8 @@ rules: resources: ["jobs", "cronjobs", "*/finalizers"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] -# edit nuvolaris crds -- apiGroups: ["nuvolaris.org"] +# edit openserverless crds +- apiGroups: ["openserverless.org"] resources: ["whisks","whisks/status","whisksusers","whisksusers/status","workflows","workflows/status","*/finalizers"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] @@ -105,15 +105,15 @@ rules: kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-rb - namespace: nuvolaris + name: openserverless-operator-rb + namespace: openserverless labels: - app: nuvolaris-operator-rb + app: openserverless-operator-rb subjects: - kind: ServiceAccount - namespace: nuvolaris - name: nuvolaris-operator + namespace: openserverless + name: openserverless-operator roleRef: kind: Role - name: nuvolaris-operator-role + name: openserverless-operator-role apiGroup: rbac.authorization.k8s.io diff --git a/deploy/nuvolaris-permissions/whisk-crd.yaml b/deploy/openserverless-permissions/whisk-crd.yaml similarity index 95% rename from deploy/nuvolaris-permissions/whisk-crd.yaml rename to deploy/openserverless-permissions/whisk-crd.yaml index 5cc235d5..6e9b7f0e 100644 --- a/deploy/nuvolaris-permissions/whisk-crd.yaml +++ b/deploy/openserverless-permissions/whisk-crd.yaml @@ -19,11 +19,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: whisks.nuvolaris.org - namespace: nuvolaris + name: whisks.openserverless.org + namespace: openserverless spec: scope: Namespaced - group: nuvolaris.org + group: openserverless.org names: kind: Whisk plural: whisks @@ -43,12 +43,12 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true properties: - nuvolaris: + openserverless: description: Used to specify the openwishk apihost. It can be omitted on kubernetes having ingress attached to external LB (AKS, EKS, LKS etc) type: object properties: password: - description: a password to be used to impersonate the nuvolaris user over some specific whisk_system action as the devel one. + description: a password to be used to impersonate the openserverless user over some specific whisk_system action as the devel one. type: string apihost: description: a valid api hostname or ip address. If set to auto the ip address of the kubernetes cluster will be used to generate a hostname with .nip.io @@ -84,10 +84,10 @@ spec: description: enable/disable openwhisk toleration. This flag can be true only on multinode cluster deployment. Default to false type: boolean slim: - description: boolean flag to enable/disable nuvolaris slim mode. Defaulted to false + description: boolean flag to enable/disable openserverless slim mode. Defaulted to false type: boolean preload: - description: used to preload some default actions in the nuvolaris namespace. Defaulted to false + description: used to preload some default actions in the openserverless namespace. Defaulted to false type: object properties: only-apache: @@ -121,7 +121,7 @@ spec: description: deploys redis type: boolean cron: - description: activate the nuvolaris internal scheduled action executor + description: activate the openserverless internal scheduled action executor type: boolean tls: description: enables TLS support via let's encrypt certificate for the ow apihost @@ -157,7 +157,7 @@ spec: - openwhisk - couchdb openwhisk: - description: Used to setup the default OW namespaces assigned to whisk-system and nuvolaris + description: Used to setup the default OW namespaces assigned to whisk-system and openserverless type: object properties: namespaces: @@ -166,12 +166,12 @@ spec: whisk-system: description: the auth value to be used for the whisk-system user type: string - nuvolaris: - description: the auth value to be used for the nuvolaris user + openserverless: + description: the auth value to be used for the openserverless user type: string required: - whisk-system - - nuvolaris + - openserverless required: - namespaces couchdb: @@ -225,7 +225,7 @@ spec: - admin - controller mongodb: - description: used to configure a nuvolaris shared mongodb instance + description: used to configure a openserverless shared mongodb instance type: object properties: host: @@ -250,8 +250,8 @@ spec: required: - user - password - nuvolaris: - description: mongodb nuvolaris database credentials + openserverless: + description: mongodb openserverless database credentials type: object properties: user: @@ -265,9 +265,9 @@ spec: - host - volume-size - admin - - nuvolaris + - openserverless postgres: - description: used to configure a nuvolaris shared postgres instance + description: used to configure a openserverless shared postgres instance type: object properties: volume-size: @@ -300,8 +300,8 @@ spec: required: - password - replica-password - nuvolaris: - description: postgres nuvolaris database credentials + openserverless: + description: postgres openserverless database credentials type: object properties: password: @@ -311,7 +311,7 @@ spec: required: - volume-size - admin - - nuvolaris + - openserverless kafka: description: setup a kafka instance type: object @@ -390,8 +390,8 @@ spec: required: - user - password - nuvolaris: - description: used to configure the MINIO nuvolaris user used for non administrative purposes + openserverless: + description: used to configure the MINIO openserverless user used for non administrative purposes type: object properties: user: @@ -423,7 +423,7 @@ spec: required: - volume-size - admin - - nuvolaris + - openserverless redis: description: used to configure redis default credentials type: object @@ -445,12 +445,12 @@ spec: type: string required: - password - nuvolaris: - description: used to configure nuvolaris REDIS user + openserverless: + description: used to configure openserverless REDIS user type: object properties: prefix: - description: REDIS nuvolaris key prefix. Defaulted to "nuvolaris:" if missing + description: REDIS openserverless key prefix. Defaulted to "openserverless:" if missing type: string password: type: string @@ -459,7 +459,7 @@ spec: required: - volume-size - default - - nuvolaris + - openserverless configs: description: Configuration parameters to customize OW controller/invoker type: object @@ -655,7 +655,7 @@ spec: description: boolean falg to enable/disable user pod affinity. Default to false type: boolean user_pod_affinity_key: - description: node label to be used for the invoker pod affinity. Defaults to nuvolaris-role + description: node label to be used for the invoker pod affinity. Defaults to openserverless-role type: string user_pod_affinity_value: description: node label value used for the invoker pod affinity. Defaults to invoker @@ -664,7 +664,7 @@ spec: description: boolean falg to enable/disable port forwarding. Default to false type: boolean action_namespace: - description: Action namespace. Default to nuvolaris + description: Action namespace. Default to openserverless type: string javaOpts: description: invoker memory settings defaulted to "-Xmx1024M" @@ -711,7 +711,7 @@ spec: required: - containerPool ectd: - description: used to configure a nuvolaris shared ETCD instance + description: used to configure a openserverless shared ETCD instance type: object properties: volume-size: @@ -736,7 +736,7 @@ spec: required: - password milvus: - description: used to configure a nuvolaris shared MILVUS instance + description: used to configure a openserverless shared MILVUS instance type: object properties: volume-size: @@ -795,15 +795,15 @@ spec: required: - root - s3 - nuvolaris: + openserverless: description: MILVUS default user setup type: object properties: password: - description: nuvolaris MILVUS password + description: openserverless MILVUS password type: string collection: - description: nuvolaris MILVUS collection (default to nuvolaris) + description: openserverless MILVUS collection (default to openserverless) type: string registry: description: used to configure the internal docker compliant registry @@ -853,8 +853,8 @@ spec: default-bucket-quota: description: default bucket quota, default to 1024MB type: integer - nuvolaris: - description: used to configure the MINIO nuvolaris user used for non administrative purposes + openserverless: + description: used to configure the MINIO openserverless user used for non administrative purposes type: object properties: user: @@ -885,7 +885,7 @@ spec: - console-enabled required: - volume-size - - nuvolaris + - openserverless status: x-kubernetes-preserve-unknown-fields: true # type: object diff --git a/deploy/nuvolaris-permissions/whisk-user-crd.yaml b/deploy/openserverless-permissions/whisk-user-crd.yaml similarity index 98% rename from deploy/nuvolaris-permissions/whisk-user-crd.yaml rename to deploy/openserverless-permissions/whisk-user-crd.yaml index 9a70ecad..0190ceb6 100644 --- a/deploy/nuvolaris-permissions/whisk-user-crd.yaml +++ b/deploy/openserverless-permissions/whisk-user-crd.yaml @@ -37,11 +37,11 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: whisksusers.nuvolaris.org - namespace: nuvolaris + name: whisksusers.openserverless.org + namespace: openserverless spec: scope: Namespaced - group: nuvolaris.org + group: openserverless.org names: kind: WhiskUser plural: whisksusers @@ -104,7 +104,7 @@ spec: - prefix - password object-storage: - description: used to setup nuvolaris MINIO instance with custom user resources + description: used to setup openserverless MINIO instance with custom user resources type: object x-kubernetes-preserve-unknown-fields: true properties: diff --git a/deploy/nuvolaris-permissions/workflows-crd.yaml b/deploy/openserverless-permissions/workflows-crd.yaml similarity index 97% rename from deploy/nuvolaris-permissions/workflows-crd.yaml rename to deploy/openserverless-permissions/workflows-crd.yaml index 2f116e76..16ca0de6 100644 --- a/deploy/nuvolaris-permissions/workflows-crd.yaml +++ b/deploy/openserverless-permissions/workflows-crd.yaml @@ -19,9 +19,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: workflows.nuvolaris.org + name: workflows.openserverless.org spec: - group: nuvolaris.org + group: openserverless.org versions: - name: v1 served: true diff --git a/deploy/openwhisk-endpoint/operator-ingress-rbac.yaml b/deploy/openwhisk-endpoint/operator-ingress-rbac.yaml index 7b9bd9dc..d30ade43 100644 --- a/deploy/openwhisk-endpoint/operator-ingress-rbac.yaml +++ b/deploy/openwhisk-endpoint/operator-ingress-rbac.yaml @@ -24,10 +24,10 @@ metadata: kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-ingress-role + name: openserverless-operator-ingress-role namespace: ingress-nginx labels: - app: nuvolaris-operator-ingress-role + app: openserverless-operator-ingress-role rules: - apiGroups: [""] @@ -38,15 +38,15 @@ rules: kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: nuvolaris-operator-ingress-rb + name: openserverless-operator-ingress-rb namespace: ingress-nginx labels: - app: nuvolaris-operator-ingress-rb + app: openserverless-operator-ingress-rb subjects: - kind: ServiceAccount - namespace: nuvolaris - name: nuvolaris-operator + namespace: openserverless + name: openserverless-operator roleRef: kind: Role - name: nuvolaris-operator-ingress-role + name: openserverless-operator-ingress-role apiGroup: rbac.authorization.k8s.io diff --git a/deploy/openwhisk-enterprise/enterprise-np.yaml b/deploy/openwhisk-enterprise/enterprise-np.yaml index 98368884..1f7ee0ae 100644 --- a/deploy/openwhisk-enterprise/enterprise-np.yaml +++ b/deploy/openwhisk-enterprise/enterprise-np.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - namespace: nuvolaris + namespace: openserverless name: controller spec: type: NodePort diff --git a/deploy/openwhisk-enterprise/enterprise-sts.yaml b/deploy/openwhisk-enterprise/enterprise-sts.yaml index 9f37da60..c8f68fa3 100644 --- a/deploy/openwhisk-enterprise/enterprise-sts.yaml +++ b/deploy/openwhisk-enterprise/enterprise-sts.yaml @@ -21,7 +21,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: controller - namespace: nuvolaris + namespace: openserverless labels: name: controller app: controller @@ -192,11 +192,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_controller_username" value: "controller_admin" diff --git a/deploy/openwhisk-invoker/invoker-conf.yaml b/deploy/openwhisk-invoker/invoker-conf.yaml index 6b59561e..e63325ae 100644 --- a/deploy/openwhisk-invoker/invoker-conf.yaml +++ b/deploy/openwhisk-invoker/invoker-conf.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: openwhisk-pod-templates - namespace: nuvolaris + namespace: openserverless data: ow_pod_templates.yaml: | apiVersion: v1 diff --git a/deploy/openwhisk-invoker/invoker-sts.yaml b/deploy/openwhisk-invoker/invoker-sts.yaml index 416838bd..95bdd7ce 100644 --- a/deploy/openwhisk-invoker/invoker-sts.yaml +++ b/deploy/openwhisk-invoker/invoker-sts.yaml @@ -21,7 +21,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: invoker - namespace: nuvolaris + namespace: openserverless labels: name: invoker app: invoker @@ -65,7 +65,7 @@ spec: - name: "WHISK_API_HOST_PORT" value: "3233" - name: "WHISK_API_HOST_NAME" - value: "controller.nuvolaris.svc.cluster.local" + value: "controller.openserverless.svc.cluster.local" # Needed by invoker to configure the container factory & container pool - name: "CONFIG_whisk_docker_containerFactory_useRunc" @@ -175,11 +175,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_invoker_username" @@ -255,7 +255,7 @@ spec: # apparently this is needed for the invoker - name: "CONFIG_whisk_helm_release" - value: "helm_nuvolaris" + value: "helm_openserverless" # kubernetes - name: "CONFIG_whisk_kubernetes_timeouts_run" @@ -271,7 +271,7 @@ spec: value: false - name: "CONFIG_whisk_kubernetes_actionNamespace" - value: "nuvolaris" + value: "openserverless" ports: - name: invoker containerPort: 8080 diff --git a/deploy/openwhisk-standalone/standalone-conf.yaml b/deploy/openwhisk-standalone/standalone-conf.yaml index d8d98c2f..fa105deb 100644 --- a/deploy/openwhisk-standalone/standalone-conf.yaml +++ b/deploy/openwhisk-standalone/standalone-conf.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: openwhisk-pod-templates - namespace: nuvolaris + namespace: openserverless data: ow_pod_templates.yaml: | apiVersion: v1 diff --git a/deploy/openwhisk-standalone/standalone-ip.yaml b/deploy/openwhisk-standalone/standalone-ip.yaml index 12bf6a54..9c65bd74 100644 --- a/deploy/openwhisk-standalone/standalone-ip.yaml +++ b/deploy/openwhisk-standalone/standalone-ip.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - namespace: nuvolaris + namespace: openserverless name: controller-ip spec: type: ClusterIP diff --git a/deploy/openwhisk-standalone/standalone-np.yaml b/deploy/openwhisk-standalone/standalone-np.yaml index c76a4d51..842acccb 100644 --- a/deploy/openwhisk-standalone/standalone-np.yaml +++ b/deploy/openwhisk-standalone/standalone-np.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - namespace: nuvolaris + namespace: openserverless name: controller spec: type: NodePort @@ -32,7 +32,7 @@ spec: apiVersion: v1 kind: Service metadata: - namespace: nuvolaris + namespace: openserverless name: debugger spec: type: NodePort diff --git a/deploy/openwhisk-standalone/standalone-sts.yaml b/deploy/openwhisk-standalone/standalone-sts.yaml index b37ae8e9..1b5db9e1 100644 --- a/deploy/openwhisk-standalone/standalone-sts.yaml +++ b/deploy/openwhisk-standalone/standalone-sts.yaml @@ -18,7 +18,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: controller - namespace: nuvolaris + namespace: openserverless labels: name: controller app: controller @@ -35,7 +35,7 @@ spec: name: controller app: controller spec: - serviceAccountName: nuvolaris-openwhisk-core + serviceAccountName: openserverless-openwhisk-core restartPolicy: Always containers: - name: controller @@ -168,11 +168,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_controller_username" value: "controller_admin" @@ -219,7 +219,7 @@ spec: value: "false" - name: "CONFIG_whisk_kubernetes_actionNamespace" - value: "nuvolaris" + value: "openserverless" - name: "CONFIG_whisk_helm_release" value: "release" @@ -235,6 +235,6 @@ spec: value: "3233" - name: "WHISK_API_HOST_NAME" - value: "controller.nuvolaris.svc.cluster.local" + value: "controller.openserverless.svc.cluster.local" diff --git a/deploy/postgres-backup/postgres-backup-conf.yaml b/deploy/postgres-backup/postgres-backup-conf.yaml index aa6f5b6a..5a56099c 100644 --- a/deploy/postgres-backup/postgres-backup-conf.yaml +++ b/deploy/postgres-backup/postgres-backup-conf.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: base-kubegres-backup-config - namespace: nuvolaris + namespace: openserverless data: backup_database.sh: | #!/bin/bash diff --git a/deploy/postgres-backup/postgres-backup-sts.yaml b/deploy/postgres-backup/postgres-backup-sts.yaml index cf0a357e..7db2aac9 100644 --- a/deploy/postgres-backup/postgres-backup-sts.yaml +++ b/deploy/postgres-backup/postgres-backup-sts.yaml @@ -18,25 +18,25 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-postgres-backup - namespace: nuvolaris + name: openserverless-postgres-backup + namespace: openserverless spec: - serviceName: nuvolaris-postgres-backup + serviceName: openserverless-postgres-backup replicas: 1 selector: matchLabels: - name: nuvolaris-postgres-backup + name: openserverless-postgres-backup template: metadata: labels: - name: nuvolaris-postgres-backup - app: nuvolaris-postgres-backup + name: openserverless-postgres-backup + app: openserverless-postgres-backup annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always containers: - - name: nuvolaris-postgres-backup + - name: openserverless-postgres-backup image: ghcr.io/nuvolaris/pg-dumper:16.3.2405222002 imagePullPolicy: IfNotPresent command: ["/bin/bash","-c","/root/backup_start.sh"] @@ -47,30 +47,30 @@ spec: valueFrom: secretKeyRef: key: superUserPassword - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret - name: KUBEGRES_RESOURCE_NAME - value: nuvolaris-postgres + value: openserverless-postgres - name: BACKUP_DESTINATION_FOLDER value: /var/lib/backup - name: BACKUP_SOURCE_DB_HOST_NAME - value: nuvolaris-postgres-replica + value: openserverless-postgres-replica - name: BACKUP_IMPORT_DB_HOST_NAME - value: nuvolaris-postgres + value: openserverless-postgres - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: key: superUserPassword - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret - name: POSTGRES_REPLICATION_PASSWORD valueFrom: secretKeyRef: key: replicationUserPassword - name: postgres-nuvolaris-secret - - name: POSTGRES_NUVOLARIS_DB_PASSWORD + name: postgres-openserverless-secret + - name: POSTGRES_OPENSERVERLESS_DB_PASSWORD valueFrom: secretKeyRef: - key: nuvolarisUserPassword - name: postgres-nuvolaris-secret + key: openserverlessUserPassword + name: postgres-openserverless-secret volumeMounts: - mountPath: /tmp/backup_database.sh name: config diff --git a/deploy/postgres-operator-deploy/postgres-auth.yaml b/deploy/postgres-operator-deploy/postgres-auth.yaml index 699a899e..46b49cde 100644 --- a/deploy/postgres-operator-deploy/postgres-auth.yaml +++ b/deploy/postgres-operator-deploy/postgres-auth.yaml @@ -18,10 +18,10 @@ apiVersion: v1 kind: Secret metadata: - name: postgres-nuvolaris-secret - namespace: nuvolaris + name: postgres-openserverless-secret + namespace: openserverless type: Opaque stringData: superUserPassword: postgresSuperUserPsw replicationUserPassword: postgresReplicaPsw - nuvolarisUserPassword: gfjsgfksjdsfjasgfjkagfksgjhagjkjkhsj \ No newline at end of file + openserverlessUserPassword: gfjsgfksjdsfjasgfjkagfksgjhagjkjkhsj \ No newline at end of file diff --git a/deploy/postgres-operator-deploy/postgres-conf.yaml b/deploy/postgres-operator-deploy/postgres-conf.yaml index 217ce373..210db386 100644 --- a/deploy/postgres-operator-deploy/postgres-conf.yaml +++ b/deploy/postgres-operator-deploy/postgres-conf.yaml @@ -18,8 +18,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-postgres-conf - namespace: nuvolaris + name: openserverless-postgres-conf + namespace: openserverless data: # This bash script is run once, the 1st time a Primary PostgreSql container is created. It is run in the Primary container only. @@ -40,7 +40,7 @@ data: #!/bin/bash set -e - # This script assumes that the env-var $POSTGRES_NUVOLARIS_DB_PASSWORD contains the password of the custom user to create. + # This script assumes that the env-var $POSTGRES_OPENSERVERLESS_DB_PASSWORD contains the password of the custom user to create. # You can add any env-var in your Kubegres resource config YAML. dt=$(date '+%d/%m/%Y %H:%M:%S'); @@ -48,12 +48,12 @@ data: echo "$dt - Running: psql -v ON_ERROR_STOP=1 --username $POSTGRES_USER --dbname $POSTGRES_DB ..."; psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL - CREATE DATABASE nuvolaris; - CREATE USER nuvolaris WITH PASSWORD '$POSTGRES_NUVOLARIS_DB_PASSWORD'; - GRANT ALL PRIVILEGES ON DATABASE "nuvolaris" to nuvolaris; + CREATE DATABASE openserverless; + CREATE USER openserverless WITH PASSWORD '$POSTGRES_OPENSERVERLESS_DB_PASSWORD'; + GRANT ALL PRIVILEGES ON DATABASE "openserverless" to openserverless; EOSQL - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname nuvolaris <<-EOSQL + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname openserverless <<-EOSQL CREATE EXTENSION IF NOT EXISTS vector; EOSQL diff --git a/deploy/postgres-operator-deploy/postgres.yaml b/deploy/postgres-operator-deploy/postgres.yaml index 67277a88..24d809ef 100644 --- a/deploy/postgres-operator-deploy/postgres.yaml +++ b/deploy/postgres-operator-deploy/postgres.yaml @@ -19,27 +19,27 @@ apiVersion: kubegres.reactive-tech.io/v1 kind: Kubegres metadata: - name: nuvolaris-postgres - namespace: nuvolaris + name: openserverless-postgres + namespace: openserverless spec: replicas: 2 image: pgvector/pgvector:pg16 database: size: 200Mi - customConfig: nuvolaris-postgres-conf + customConfig: openserverless-postgres-conf env: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret key: superUserPassword - name: POSTGRES_REPLICATION_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret key: replicationUserPassword - - name: POSTGRES_NUVOLARIS_DB_PASSWORD + - name: POSTGRES_OPENSERVERLESS_DB_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret - key: nuvolarisUserPassword \ No newline at end of file + name: postgres-openserverless-secret + key: openserverlessUserPassword \ No newline at end of file diff --git a/deploy/postgres-operator/kubegres-operator.yaml b/deploy/postgres-operator/kubegres-operator.yaml index 285a2251..c76276dd 100644 --- a/deploy/postgres-operator/kubegres-operator.yaml +++ b/deploy/postgres-operator/kubegres-operator.yaml @@ -43,7 +43,7 @@ data: kind: ConfigMap metadata: name: kubegres-manager-config - namespace: nuvolaris + namespace: openserverless --- apiVersion: v1 kind: Service @@ -51,7 +51,7 @@ metadata: labels: control-plane: controller-manager name: kubegres-controller-manager-metrics-service - namespace: nuvolaris + namespace: openserverless spec: ports: - name: https @@ -67,7 +67,7 @@ metadata: labels: control-plane: controller-manager name: kubegres-controller-manager - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: @@ -77,7 +77,7 @@ spec: metadata: annotations: kubectl.kubernetes.io/default-container: manager - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" labels: name: kubegres control-plane: controller-manager diff --git a/deploy/qdrant/qdrant-cm.yaml b/deploy/qdrant/qdrant-cm.yaml index dadf0a1b..c1d39e76 100644 --- a/deploy/qdrant/qdrant-cm.yaml +++ b/deploy/qdrant/qdrant-cm.yaml @@ -19,12 +19,12 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-qdrant + name: openserverless-qdrant labels: helm.sh/chart: qdrant-0.9.2 app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant app.kubernetes.io/version: "v1.9.5" app.kubernetes.io/managed-by: Helm data: @@ -33,9 +33,9 @@ data: SET_INDEX=${HOSTNAME##*-} echo "Starting initializing for pod $SET_INDEX" if [ "$SET_INDEX" = "0" ]; then - exec ./entrypoint.sh --uri 'http://nuvolaris-qdrant-0.nuvolaris-qdrant-headless:6335' + exec ./entrypoint.sh --uri 'http://openserverless-qdrant-0.openserverless-qdrant-headless:6335' else - exec ./entrypoint.sh --bootstrap 'http://nuvolaris-qdrant-0.nuvolaris-qdrant-headless:6335' --uri 'http://nuvolaris-qdrant-'"$SET_INDEX"'.nuvolaris-qdrant-headless:6335' + exec ./entrypoint.sh --bootstrap 'http://openserverless-qdrant-0.openserverless-qdrant-headless:6335' --uri 'http://openserverless-qdrant-'"$SET_INDEX"'.openserverless-qdrant-headless:6335' fi production.yaml: | diff --git a/deploy/qdrant/qdrant-sts.yaml b/deploy/qdrant/qdrant-sts.yaml index 6fccc28b..a56f9aee 100644 --- a/deploy/qdrant/qdrant-sts.yaml +++ b/deploy/qdrant/qdrant-sts.yaml @@ -19,12 +19,12 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-qdrant + name: openserverless-qdrant labels: helm.sh/chart: qdrant-0.9.2 app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant app.kubernetes.io/version: "v1.9.5" app.kubernetes.io/managed-by: Helm spec: @@ -33,8 +33,8 @@ spec: matchLabels: app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant - serviceName: nuvolaris-qdrant-headless + app.kubernetes.io/instance: openserverless-qdrant + serviceName: openserverless-qdrant-headless template: metadata: annotations: @@ -42,7 +42,7 @@ spec: labels: app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant spec: initContainers: - name: ensure-dir-ownership @@ -54,7 +54,7 @@ spec: - /qdrant/storage - /qdrant/snapshots volumeMounts: - - name: nuvolaris-qdrant-storage + - name: openserverless-qdrant-storage mountPath: /qdrant/storage - name: qdrant-snapshots mountPath: /qdrant/snapshots @@ -103,7 +103,7 @@ spec: - sleep - "3" volumeMounts: - - name: nuvolaris-qdrant-storage + - name: openserverless-qdrant-storage mountPath: /qdrant/storage - name: qdrant-config mountPath: /qdrant/config/initialize.sh @@ -121,7 +121,7 @@ spec: volumes: - name: qdrant-config configMap: - name: nuvolaris-qdrant + name: openserverless-qdrant defaultMode: 0755 - name: qdrant-snapshots emptyDir: {} @@ -129,7 +129,7 @@ spec: emptyDir: {} volumeClaimTemplates: - metadata: - name: nuvolaris-qdrant-storage + name: openserverless-qdrant-storage labels: app: qdrant spec: diff --git a/deploy/qdrant/qdrant-svc.yaml b/deploy/qdrant/qdrant-svc.yaml index 14efc38f..4eebe02b 100644 --- a/deploy/qdrant/qdrant-svc.yaml +++ b/deploy/qdrant/qdrant-svc.yaml @@ -19,12 +19,12 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-qdrant-headless + name: openserverless-qdrant-headless labels: helm.sh/chart: qdrant-0.9.2 app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant spec: clusterIP: None publishNotReadyAddresses: true @@ -44,17 +44,17 @@ spec: selector: app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant --- apiVersion: v1 kind: Service metadata: - name: nuvolaris-qdrant + name: openserverless-qdrant labels: helm.sh/chart: qdrant-0.9.2 app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant + app.kubernetes.io/instance: openserverless-qdrant app.kubernetes.io/version: "v1.9.5" app.kubernetes.io/managed-by: Helm spec: @@ -75,4 +75,4 @@ spec: selector: app: qdrant app.kubernetes.io/name: qdrant - app.kubernetes.io/instance: nuvolaris-qdrant \ No newline at end of file + app.kubernetes.io/instance: openserverless-qdrant \ No newline at end of file diff --git a/deploy/quota/quota_checker.yaml b/deploy/quota/quota_checker.yaml index fc2582d7..1ba0aa0e 100644 --- a/deploy/quota/quota_checker.yaml +++ b/deploy/quota/quota_checker.yaml @@ -21,14 +21,14 @@ apiVersion: batch/v1 kind: CronJob metadata: name: quota-checker - namespace: nuvolaris + namespace: openserverless spec: schedule: "* * * * *" jobTemplate: spec: template: spec: - serviceAccountName: nuvolaris-quota + serviceAccountName: openserverless-quota containers: - name: quota-checker image: registry.hub.docker.com/nuvolaris/nuvolaris-operator:1.3.0-mastrogpt.2405142002 @@ -44,9 +44,9 @@ spec: valueFrom: secretKeyRef: key: superUserPassword - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret - name: DATABASE_DB_HOST_NAME - value: nuvolaris-postgres + value: openserverless-postgres - name: REDIS_PASSWORD value: RedisS0meP@ass3 restartPolicy: OnFailure diff --git a/deploy/redis/_redis-cm.yaml b/deploy/redis/_redis-cm.yaml index 883796ed..58ede59b 100644 --- a/deploy/redis/_redis-cm.yaml +++ b/deploy/redis/_redis-cm.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: redis-cm - namespace: nuvolaris + namespace: openserverless data: redis-conf: |- #requirepass diff --git a/deploy/redis/redis-set.yaml b/deploy/redis/redis-set.yaml index 6b1575d2..a28d9a36 100644 --- a/deploy/redis/redis-set.yaml +++ b/deploy/redis/redis-set.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: redis - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: @@ -32,7 +32,7 @@ spec: name: redis app: redis annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always containers: diff --git a/deploy/redis/redis-svc.yaml b/deploy/redis/redis-svc.yaml index 79d28f9d..faa567f9 100644 --- a/deploy/redis/redis-svc.yaml +++ b/deploy/redis/redis-svc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: Service metadata: name: redis - namespace: nuvolaris + namespace: openserverless spec: type: NodePort selector: diff --git a/deploy/registry/00-registry-secret-docker.yaml b/deploy/registry/00-registry-secret-docker.yaml index 4a01bcb5..cea533fb 100644 --- a/deploy/registry/00-registry-secret-docker.yaml +++ b/deploy/registry/00-registry-secret-docker.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: Secret metadata: name: registry-pull-secret - namespace: nuvolaris + namespace: openserverless type: kubernetes.io/dockerconfigjson data: .dockerconfigjson: eyJhdXRocyI6IHsibnV2b2xhcmlzLXJlZ2lzdHJ5LXN2YyI6IHsidXNlcm5hbWUiOiAib3BlbnNlcnZlcmxlc3MiLCAicGFzc3dvcmQiOiAiNHB3ZHJlZ2lzdHJ5IiwgImF1dGgiOiAiYjNCbGJuTmxjblpsY214bGMzTTZOSEIzWkhKbFoybHpkSEo1In19fQ== \ No newline at end of file diff --git a/deploy/registry/00-registry-secret.yaml b/deploy/registry/00-registry-secret.yaml index 1219339a..6296fd75 100644 --- a/deploy/registry/00-registry-secret.yaml +++ b/deploy/registry/00-registry-secret.yaml @@ -22,5 +22,5 @@ data: kind: Secret metadata: name: registry-auth-secret - namespace: nuvolaris + namespace: openserverless type: Opaque diff --git a/deploy/registry/01-registry-pvc.yaml b/deploy/registry/01-registry-pvc.yaml index acd20788..e0a8dcf8 100644 --- a/deploy/registry/01-registry-pvc.yaml +++ b/deploy/registry/01-registry-pvc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: registry-pvc - namespace: nuvolaris + namespace: openserverless labels: app: registry-pvc spec: diff --git a/deploy/registry/02-registry-sts.yaml b/deploy/registry/02-registry-sts.yaml index 83f579bd..e8a60463 100644 --- a/deploy/registry/02-registry-sts.yaml +++ b/deploy/registry/02-registry-sts.yaml @@ -20,13 +20,13 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: registry - namespace: nuvolaris + namespace: openserverless labels: name: registry app: registry spec: replicas: 1 - serviceName: nuvolaris-registry-svc + serviceName: openserverless-registry-svc selector: matchLabels: app: registry diff --git a/deploy/registry/03-registry-svc.yaml b/deploy/registry/03-registry-svc.yaml index eef99c75..4e696cbb 100644 --- a/deploy/registry/03-registry-svc.yaml +++ b/deploy/registry/03-registry-svc.yaml @@ -19,8 +19,8 @@ apiVersion: v1 kind: Service metadata: - name: nuvolaris-registry-svc - namespace: nuvolaris + name: openserverless-registry-svc + namespace: openserverless spec: selector: app: registry diff --git a/deploy/runtimes/runtimes-preload.yaml b/deploy/runtimes/runtimes-preload.yaml index e0dc3ab8..9db213dc 100644 --- a/deploy/runtimes/runtimes-preload.yaml +++ b/deploy/runtimes/runtimes-preload.yaml @@ -20,7 +20,7 @@ apiVersion: batch/v1 kind: Job metadata: name: preload-runtimes - namespace: nuvolaris + namespace: openserverless labels: app: preload-runtimes spec: diff --git a/deploy/scheduler/cron.yaml b/deploy/scheduler/cron.yaml index 3c66a60e..d0024754 100644 --- a/deploy/scheduler/cron.yaml +++ b/deploy/scheduler/cron.yaml @@ -21,7 +21,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: cron-init - namespace: nuvolaris + namespace: openserverless spec: schedule: "* * * * *" jobTemplate: diff --git a/deploy/seaweedfs/seaweedfs-pvc.yaml b/deploy/seaweedfs/seaweedfs-pvc.yaml index 3a27d76e..f7d6d3a9 100644 --- a/deploy/seaweedfs/seaweedfs-pvc.yaml +++ b/deploy/seaweedfs/seaweedfs-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: seaweedfs-pvc - namespace: nuvolaris + namespace: openserverless spec: accessModes: - ReadWriteOnce diff --git a/deploy/seaweedfs/seaweedfs-sts.yaml b/deploy/seaweedfs/seaweedfs-sts.yaml index a73236a6..8fed6e93 100644 --- a/deploy/seaweedfs/seaweedfs-sts.yaml +++ b/deploy/seaweedfs/seaweedfs-sts.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: seaweedfs - namespace: nuvolaris + namespace: openserverless spec: serviceName: "seaweedfs" replicas: 1 diff --git a/deploy/seaweedfs/seaweedfs-svc.yaml b/deploy/seaweedfs/seaweedfs-svc.yaml index 3c10dfb2..0e3133f2 100644 --- a/deploy/seaweedfs/seaweedfs-svc.yaml +++ b/deploy/seaweedfs/seaweedfs-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: seaweedfs - namespace: nuvolaris + namespace: openserverless spec: type: NodePort ports: diff --git a/deploy/test-cm/pod.yaml b/deploy/test-cm/pod.yaml index 48986f74..a64799f4 100644 --- a/deploy/test-cm/pod.yaml +++ b/deploy/test-cm/pod.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Pod metadata: name: test-pod - namespace: nuvolaris + namespace: openserverless labels: app: test-pod spec: diff --git a/deploy/test-cm/svc.yaml b/deploy/test-cm/svc.yaml index 9a48bbb9..45ea1649 100644 --- a/deploy/test-cm/svc.yaml +++ b/deploy/test-cm/svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: test-svc - namespace: nuvolaris + namespace: openserverless spec: selector: app: test-pod diff --git a/deploy/test-sts/nginx-set.yaml b/deploy/test-sts/nginx-set.yaml index a540992d..c60739c4 100644 --- a/deploy/test-sts/nginx-set.yaml +++ b/deploy/test-sts/nginx-set.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: test-nginx - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: diff --git a/deploy/test-sts/nginx-svc.yaml b/deploy/test-sts/nginx-svc.yaml index 69808406..5c328cbb 100644 --- a/deploy/test-sts/nginx-svc.yaml +++ b/deploy/test-sts/nginx-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: test-nginx - namespace: nuvolaris + namespace: openserverless spec: type: NodePort selector: diff --git a/deploy/test/_crd.yaml b/deploy/test/_crd.yaml index 66d4b1a9..02090fda 100644 --- a/deploy/test/_crd.yaml +++ b/deploy/test/_crd.yaml @@ -19,10 +19,10 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - name: samples.nuvolaris.org + name: samples.openserverless.org spec: scope: Namespaced - group: nuvolaris.org + group: openserverless.org names: kind: Sample plural: samples diff --git a/deploy/test/_obj.yaml b/deploy/test/_obj.yaml index 9cba7ce8..d4bcfec7 100644 --- a/deploy/test/_obj.yaml +++ b/deploy/test/_obj.yaml @@ -17,9 +17,9 @@ # # A demo custom resource for the Kopf example operators. --- -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Sample metadata: name: obj - namespace: nuvolaris + namespace: openserverless spec: diff --git a/deploy/test/_pvc.yaml b/deploy/test/_pvc.yaml index 029f3cd4..a1dc08cf 100644 --- a/deploy/test/_pvc.yaml +++ b/deploy/test/_pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-pvc - namespace: nuvolaris + namespace: openserverless spec: #storageClassName: "" # Empty string must be explicitly set otherwise default StorageClass will be set volumeName: test-pvc diff --git a/deploy/test/_testcm.yaml b/deploy/test/_testcm.yaml index 91a2c5b6..7116116d 100644 --- a/deploy/test/_testcm.yaml +++ b/deploy/test/_testcm.yaml @@ -20,4 +20,4 @@ apiVersion: v1 kind: ConfigMap metadata: name: test-config - namespace: nuvolaris \ No newline at end of file + namespace: openserverless \ No newline at end of file diff --git a/deploy/zookeeper/zookeeper-000-cm.yaml b/deploy/zookeeper/zookeeper-000-cm.yaml index cd58f488..d0ea8671 100644 --- a/deploy/zookeeper/zookeeper-000-cm.yaml +++ b/deploy/zookeeper/zookeeper-000-cm.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: zookeeper - namespace: nuvolaris + namespace: openserverless labels: app: zookeeper data: diff --git a/deploy/zookeeper/zookeeper-001-pvc.yaml b/deploy/zookeeper/zookeeper-001-pvc.yaml index 50a66666..8c368327 100644 --- a/deploy/zookeeper/zookeeper-001-pvc.yaml +++ b/deploy/zookeeper/zookeeper-001-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zookeeper-pvc-data - namespace: nuvolaris + namespace: openserverless labels: app: zookeeper spec: @@ -34,7 +34,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zookeeper-pvc-datalog - namespace: nuvolaris + namespace: openserverless labels: app: zookeeper spec: diff --git a/deploy/zookeeper/zookeeper-003-sts.yaml b/deploy/zookeeper/zookeeper-003-sts.yaml index 4bb180ea..f2766c8d 100644 --- a/deploy/zookeeper/zookeeper-003-sts.yaml +++ b/deploy/zookeeper/zookeeper-003-sts.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: zookeeper - namespace: nuvolaris + namespace: openserverless labels: name: zookeeper app: zookeeper diff --git a/deploy/zookeeper/zookeeper-004-svc.yaml b/deploy/zookeeper/zookeeper-004-svc.yaml index 1052d87a..7217f5a0 100644 --- a/deploy/zookeeper/zookeeper-004-svc.yaml +++ b/deploy/zookeeper/zookeeper-004-svc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Service metadata: name: zookeeper - namespace: nuvolaris + namespace: openserverless labels: app: zookeeper spec: diff --git a/detect.sh b/detect.sh index d193fc14..423e40a2 100755 --- a/detect.sh +++ b/detect.sh @@ -42,7 +42,7 @@ elif echo "$LABELS" | jq . | grep openshift.io >/dev/null then echo "openshift" elif echo "$LABELS" | jq . | grep 'instance-type.*k3s' >/dev/null then echo "k3s" -elif echo "$LABELS" | jq . | awk '/nuvolaris.io\/kube/ {print $2}' | grep kind >/dev/null +elif echo "$LABELS" | jq . | awk '/openserverless.io\/kube/ {print $2}' | grep kind >/dev/null then echo "kind" else echo "generic" fi diff --git a/enterprise-util/kafka/README.md b/enterprise-util/kafka/README.md index 28e643b7..ff2969dc 100644 --- a/enterprise-util/kafka/README.md +++ b/enterprise-util/kafka/README.md @@ -17,7 +17,7 @@ ~ under the License. ~ --> -# Nuvolaris Enterprise Operator Custom Kafka Image with JMX exporter for Prometheus +# OpenServerless Enterprise Operator Custom Kafka Image with JMX exporter for Prometheus This folder contains a Dockefile to build a distributed the Enterprise Oeprator Kafka runtime with the Prometheus Kafka JMX exporter enabled. diff --git a/init.src b/init.src index d4a830e7..cf45d9eb 100644 --- a/init.src +++ b/init.src @@ -16,7 +16,7 @@ # under the License. # export $(xargs <.env) -export O=deploy/nuvolaris-operator +export O=deploy/openserverless-operator alias ka="kubectl apply -f" alias kg="kubectl get" alias kd="kubectl delete -f" @@ -25,4 +25,4 @@ alias kdes="kubectl describe" function kfin { kubectl patch "$@" -p '{"metadata":{"finalizers":[]}}' --type=merge } -kubectl config set-context --current --namespace nuvolaris +kubectl config set-context --current --namespace openserverless diff --git a/nuvolaris/config.py b/nuvolaris/config.py deleted file mode 100644 index a1e2cede..00000000 --- a/nuvolaris/config.py +++ /dev/null @@ -1,262 +0,0 @@ -# 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. -# -import flatdict, json, os -import logging - -_config = {} - -# Prefix of the kube node labels carrying configuration. Kept as a -# constant so the slice below tracks its length automatically. -LABEL_PREFIX = "nuvolaris.io/" - -# define a configuration -# the configuration is a map, followed by a list of labels -# the map can be a serialized json and will be flattened to a map of values. -# you can have only a configuration active at a time -# if you want to set a new configuration you have to clean it -def configure(spec: dict): - global _config - _config = dict(flatdict.FlatDict(spec, delimiter=".")) - - #forces autodetect of kube if not provided - if not exists('nuvolaris.kube'): - put('nuvolaris.kube','auto') - - return True - -def clean(): - global _config - _config = {} - -def exists(key): - return key in _config - -def get(key, envvar=None, defval=None): - val = _config.get(key) - - if envvar and envvar in os.environ: - val = os.environ[envvar] - - if val: - return val - - return defval - -def put(key, value): - _config[key] = value - return True - -def delete(key): - if key in _config: - del _config[key] - return True - -def getall(prefix=""): - res = {} - for key in _config.keys(): - if key.startswith(prefix): - res[key] = _config[key] - return res - -def keys(prefix=""): - res = [] - if _config: - for key in _config.keys(): - if key.startswith(prefix): - res.append(key) - return res - -def detect_labels(labels=None): - # skip autodetection of nuvolaris.kube if already available in _config - if exists('nuvolaris.kube') and get('nuvolaris.kube') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.kube={get('nuvolaris.kube')}") - return {} - - # read labels if not available - if not labels: - import nuvolaris.kube as kube - labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') - - res = {} - kube = None - for i in labels: - for j in list(i.keys()): - if j.startswith(LABEL_PREFIX): - key = f"nuvolaris.{j[len(LABEL_PREFIX):]}" - res[key] = i[j] - _config[key] = i[j] - - for i in labels: - for j in list(i.keys()): - # detect the kube type - if j.find("eksctl.io") >= 0: - kube ="eks" - break - if j.find("k8s.io/cloud-provider-aws") >= 0: - kube ="eks" - break - elif j.find("microk8s.io") >= 0: - kube = "microk8s" - break - elif j.find("lke.linode.com") >=0: - kube = "lks" - break - elif j.find("node.openshift.io") >=0: - kube = "openshift" - break - elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": - kube = "k3s" - break - elif j.find("cloud.google.com/gke") >=0: - kube = "gke" - break - elif j.find("kubernetes.azure.com") >=0: - kube = "aks" - break - # assign all the 'nuvolaris.io' labels - - if kube: - res["nuvolaris.kube"] = kube - _config["nuvolaris.kube"] = kube - return res - - # defaults to generic if it is not yet detected - if exists('nuvolaris.kube') and get('nuvolaris.kube') == 'auto': - _config["nuvolaris.kube"] = "generic" - res["nuvolaris.kube"] = "generic" - - return res - -def detect_storage(storages=None): - res = {} - if not storages: - import nuvolaris.util as util - - try: - detect_storageclass = True - detect_provisioner = True - - # skips autodetection if already provided - if exists('nuvolaris.storageclass') and get('nuvolaris.storageclass') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.storageclass={get('nuvolaris.storageclass')}") - detect_storageclass = False - - if exists('nuvolaris.provisioner') and get('nuvolaris.provisioner') != 'auto': - logging.info(f"*** configuration provided already a nuvolaris.provisioner={get('nuvolaris.provisioner')}") - detect_provisioner = False - - if not detect_storageclass and not detect_provisioner: - return res - - if detect_storageclass: - storage_class = util.get_default_storage_class() - if storage_class: - res['nuvolaris.storageclass'] = storage_class - _config['nuvolaris.storageclass'] = storage_class - - if detect_provisioner: - provisioner = util.get_default_storage_provisioner() - if(provisioner): - res['nuvolaris.provisioner'] = provisioner - _config['nuvolaris.provisioner'] = provisioner - except: - pass - return res - -def detect_object_storage(object_storages=None): - """ - Detect the basic Object Store setup if enabled - """ - res = {} - if not object_storages: - import nuvolaris.util as util - - try: - detect_object_store = True - detect_object_store_rgw_srv_name = True - detect_object_store_rgw_srv_port = True - - # skips autodetection if cephobjectstore is not active - if not exists('components.cosi') or not get('components.cosi'): - logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") - return res - - # skips autodetection if already provided - if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': - logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") - detect_object_store = False - - if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") - detect_object_store_rgw_srv_name = False - - if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': - logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") - detect_object_store_rgw_srv_port = False - - if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: - return res - - if detect_object_store: - storage_class = util.get_object_storage_class() - if storage_class: - res['cosi.bucket_storageclass'] = storage_class - _config['cosi.bucket_storageclass'] = storage_class - - if detect_object_store_rgw_srv_name: - rgwsrv = util.get_object_storage_rgw_srv_name() - if(rgwsrv): - res['cosi.rgwservice_name'] = rgwsrv - _config['cosi.rgwservice_name'] = rgwsrv - - if detect_object_store_rgw_srv_port: - rgwport = util.get_object_storage_rgw_srv_http_port() - if(rgwport): - res['cosi.rgwservice_port'] = rgwport - _config['cosi.rgwservice_port'] = rgwport - except: - pass - return res - -def detect_env(): - _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") - _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") - - # skip autodetection of controller.image if already configure into whisk.yaml - if not exists('controller.image'): - _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") - _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") - else: - logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") - - if not exists('invoker.image'): - _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") - _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") - else: - logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") - -def detect(): - detect_storage() - detect_labels() - detect_env() - detect_object_storage() - -def dump_config(): - import nuvolaris.config as cfg - for k in cfg.getall(): - logging.debug(f"{k} = {cfg.get(k)}") diff --git a/nuvolaris/couchdb_util.py b/nuvolaris/couchdb_util.py deleted file mode 100644 index b518a2dd..00000000 --- a/nuvolaris/couchdb_util.py +++ /dev/null @@ -1,170 +0,0 @@ -# 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. -# -import os, json, time, sys, logging -import requests as req -import nuvolaris.config as cfg - -class CouchDB: - def __init__(self): - self.db_protocol = "http" - self.db_prefix = "nuvolaris_" - self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") - self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") - self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") - self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") - self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) - self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" - self.db_base = f"{self.db_url}/{self.db_prefix}" - self.db_session = req.Session() - self.db_session.auth = self.db_auth - - def wait_db_ready(self, max_seconds): - logging.info("entering CouchDB.wait_db_ready()") - start = time.time() - delta = 0 - session = req.Session() - while delta < max_seconds: - try: - r = session.get(f"{self.db_url}/_utils/", timeout=5) - logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") - if r.status_code == 200: - return True - except Exception as e: - logging.info(f"waiting since: {delta} seconds") - delta = int(time.time() - start) - time.sleep(1) - return False - - # check if database exists, return boolean - def check_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.head(url) - return r.status_code == 200 - - # delete database, return true if ok - def delete_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.delete(url) - return r.status_code == 200 - - # create db, return true if ok - def create_db(self, database): - url = f"{self.db_base}{database}" - r = self.db_session.put(url) - return r.status_code == 201 - - # database="subjects" - def recreate_db(self, database, recreate=False): - msg = "recreate_db:" - exists = self.check_db(database) - if recreate and exists: - msg += " deleted" - self.delete_db(database) - if recreate or not exists: - msg += " created" - self.create_db(database) - return msg - - def get_doc(self, database, id, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/{id}" - session = req.Session() - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - session.auth = db_auth - r = session.get(url) - if r.status_code == 200: - return json.loads(r.text) - return None - - def update_doc(self, database, doc): - if '_id' in doc: - url = f"{self.db_base}{database}/{doc['_id']}" - cur = self.get_doc(database, doc['_id']) - if cur and '_rev' in cur: - doc['_rev'] = cur['_rev'] - r = self.db_session.put(url, json=doc) - else: - r = self.db_session.put(url, json=doc) - return r.status_code in [200,201] - return False - - def delete_doc(self, database, id): - cur = self.get_doc(database, id) - if cur and '_rev' in cur: - url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" - r = self.db_session.delete(url) - return r.status_code == 200 - return False - - def configure_single_node(self): - url = f"{self.db_url}/_cluster_setup" - data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} - r = self.db_session.post(url, json=data) - return r.status_code == 201 - - def configure_no_reduce_limit(self): - url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" - data=b'"false"' - r = self.db_session.put(url, data=data) - return r.status_code == 200 - - def enable_db_compaction(self,db_name): - url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" - data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' - r = self.db_session.put(url, json=data) - return r.status_code == 200 - - def add_user(self, username: str, password: str): - userpass = {"name": username, "password": password, "roles": [], "type": "user"} - url = f"{self.db_url}/_users/org.couchdb.user:{username}" - res = self.db_session.put(url, json=userpass) - return res.status_code in [200, 201, 421] - - #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): - def add_role(self, database: str, members = [], admins =[]): - roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } - url = f"{self.db_base}{database}/_security" - res = self.db_session.put(url, json=roles) - return res.status_code in [200, 201, 421] - -# -# Submit a POST request to the _find endpoint using the specified selector -# - def find_doc(self, database, selector, user=None, password="", no_auth=False): - url = f"{self.db_base}{database}/_find" - headers = {'Content-Type': 'application/json'} - session = req.Session() - - if no_auth: - db_auth=None - elif user: - db_auth=req.auth.HTTPBasicAuth(user, password) - else: - db_auth = self.db_auth - - session.auth=db_auth - r = session.post(url, headers=headers, data=selector) - if r.status_code == 200: - return json.loads(r.text) - - logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") - return None \ No newline at end of file diff --git a/nuvolaris/__init__.py b/openserverless/__init__.py similarity index 100% rename from nuvolaris/__init__.py rename to openserverless/__init__.py diff --git a/nuvolaris/actionexecutor.py b/openserverless/actionexecutor.py similarity index 87% rename from nuvolaris/actionexecutor.py rename to openserverless/actionexecutor.py index aa3fd3b3..1a69a943 100644 --- a/nuvolaris/actionexecutor.py +++ b/openserverless/actionexecutor.py @@ -16,8 +16,8 @@ # under the License. # import os, logging, json -import nuvolaris.couchdb_util as cu -import nuvolaris.kube as kube +import openserverless.couchdb_util as cu +import openserverless.kube as kube import croniter as cn import requests as req from datetime import datetime @@ -33,11 +33,11 @@ def check(f, what, res): # # extract the configured interval between # two consecutive execution of this process -# scheduled via the nuvolaris cron component +# scheduled via the openserverless cron component # def from_cron_to_seconds(base, cronExpr): """ - >>> import nuvolaris.actionexecutor as ae + >>> import openserverless.actionexecutor as ae >>> from datetime import datetime >>> base = datetime.now() >>> ae.from_cron_to_seconds(base,'* * * * *') @@ -57,7 +57,7 @@ def from_cron_to_seconds(base, cronExpr): # def action_should_trigger(currentDate, executionInterval, actionCronExpression): """ - >>> import nuvolaris.actionexecutor as ae + >>> import openserverless.actionexecutor as ae >>> from datetime import datetime >>> base = datetime.now() >>> base1 = datetime(2022, 8, 6, 16, 30, 0, 0) @@ -120,7 +120,7 @@ def find_docs(db, dbn, selector, username, password): return list(documents) # -# Get subject from nuvolaris_subjects db +# Get subject from openserverless_subjects db # #TODO need to find a way to build a dictionary with dynamic key or a hashmap def get_subjects(db, username, password): @@ -136,7 +136,7 @@ def get_subjects(db, username, password): return list(subjects) # -# get actions from the nuvolaris_whisks db +# get actions from the openserverless_whisks db # having an annotation with key=cron or key=autoexec and value=true # def get_cron_aware_actions(db, username, password): @@ -200,7 +200,7 @@ def unschedule_autoexec_action(action_url, ow_auth): # def get_cron_expression(actionAnnotations): """ - >>> import nuvolaris.actionexecutor as ae + >>> import openserverless.actionexecutor as ae >>> annotations = [] >>> annotations.append({"key":"cron","value":"*/2 * * * *"}) >>> annotations.append({"key":"provide-api-key","value":False}) @@ -221,7 +221,7 @@ def get_cron_expression(actionAnnotations): # def get_autoexec(actionAnnotations): """ - >>> import nuvolaris.actionexecutor as ae + >>> import openserverless.actionexecutor as ae >>> annotations = [] >>> annotations.append({"key":"autoexec","value":True}) >>> annotations.append({"key":"provide-api-key","value":False}) @@ -256,15 +256,15 @@ def should_trigger(actionNamespace, actionName, actionCronExpression, currentDat def build_action_url(baseurl,namespace, package, action_name): """ - >>> import nuvolaris.actionexecutor as ae - >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","nuvolaris","mongo","mongo") - >>> url == "http://localhost:3233/api/v1/namespaces/nuvolaris/actions/mongo/mongo" + >>> import openserverless.actionexecutor as ae + >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","openserverless","mongo","mongo") + >>> url == "http://localhost:3233/api/v1/namespaces/openserverless/actions/mongo/mongo" True - >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","nuvolaris",None,"mongo") - >>> url == "http://localhost:3233/api/v1/namespaces/nuvolaris/actions/mongo" + >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","openserverless",None,"mongo") + >>> url == "http://localhost:3233/api/v1/namespaces/openserverless/actions/mongo" True - >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","nuvolaris","","mongo") - >>> url == "http://localhost:3233/api/v1/namespaces/nuvolaris/actions/mongo" + >>> url = ae.build_action_url("http://localhost:3233/api/v1/namespaces/","openserverless","","mongo") + >>> url == "http://localhost:3233/api/v1/namespaces/openserverless/actions/mongo" True """ url = f"{baseurl}{namespace}/actions/" @@ -276,14 +276,14 @@ def build_action_url(baseurl,namespace, package, action_name): def get_package_from_namespace(action_namespace): """ - >>> import nuvolaris.actionexecutor as ae - >>> package = ae.get_package_from_namespace("nuvolaris") + >>> import openserverless.actionexecutor as ae + >>> package = ae.get_package_from_namespace("openserverless") >>> package == "" True - >>> package = ae.get_package_from_namespace("nuvolaris/mongo") + >>> package = ae.get_package_from_namespace("openserverless/mongo") >>> package == "mongo" True - >>> package = ae.get_package_from_namespace("nuvolaris/mongo/mongo") + >>> package = ae.get_package_from_namespace("openserverless/mongo/mongo") >>> package == "mongo/mongo" True """ @@ -296,15 +296,15 @@ def get_package_from_namespace(action_namespace): def get_subject(action_namespace): """ - >>> import nuvolaris.actionexecutor as ae - >>> package = ae.get_subject("nuvolaris") - >>> package == "nuvolaris" + >>> import openserverless.actionexecutor as ae + >>> package = ae.get_subject("openserverless") + >>> package == "openserverless" True - >>> package = ae.get_subject("nuvolaris/mongo") - >>> package == "nuvolaris" + >>> package = ae.get_subject("openserverless/mongo") + >>> package == "openserverless" True - >>> package = ae.get_subject("nuvolaris/mongo/mongo") - >>> package == "nuvolaris" + >>> package = ae.get_subject("openserverless/mongo/mongo") + >>> package == "openserverless" True """ return action_namespace.partition("/")[0] @@ -313,7 +313,7 @@ def get_subject(action_namespace): # # dAction input is a json Object with similar structure. # -# dAction = '{"_id":"nuvolaris/hello-cron-action","annotations":[{"key":"cron","value":"*/2 * * * *"},{"key":"provide-api-key","value":false},{"key":"exec","value":"nodejs:14"}],"name":"hello-cron-action","_rev":"1-19f424e1fec1c02a2ecccf6f90978e31","namespace":"nuvolaris","parameters":[],"entityType":"action"}' +# dAction = '{"_id":"openserverless/hello-cron-action","annotations":[{"key":"cron","value":"*/2 * * * *"},{"key":"provide-api-key","value":false},{"key":"exec","value":"nodejs:14"}],"name":"hello-cron-action","_rev":"1-19f424e1fec1c02a2ecccf6f90978e31","namespace":"openserverless","parameters":[],"entityType":"action"}' def handle_action(baseurl, currentDate, executionInterval, dAction, subjects): actionName = dAction['name'] entityType = dAction['entityType'] diff --git a/nuvolaris/apihost_util.py b/openserverless/apihost_util.py similarity index 78% rename from nuvolaris/apihost_util.py rename to openserverless/apihost_util.py index fa24bbef..cc8f94e2 100644 --- a/nuvolaris/apihost_util.py +++ b/openserverless/apihost_util.py @@ -17,13 +17,13 @@ # import re import logging -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.util as util import urllib.parse import os, os.path -from nuvolaris.ip_util import IpUtil +from openserverless.ip_util import IpUtil # ensure if is an hostname, adding a suffix def ensure_host(ip_address_str): @@ -79,12 +79,12 @@ def assign_protocol(runtime_str, url): """ Assign the url protocol. If not protocol is defined or it is in auto mode will use https in case the TLS compoenent is enabled, http otherwise. - Setting inside the whisk.yaml the attribute nuvolaris.protocol will forse always to use the + Setting inside the whisk.yaml the attribute openserverless.protocol will forse always to use the configured one, i.e it can be set as http despite it is in https and viceversa. """ # if no protocol is defined, or it is in auto mode, uses https in case tls is enabled - if cfg.exists("nuvolaris.protocol") and cfg.get("nuvolaris.protocol") in ["http","https"]: - url = url._replace(scheme = cfg.get("nuvolaris.protocol")) + if cfg.exists("openserverless.protocol") and cfg.get("openserverless.protocol") in ["http","https"]: + url = url._replace(scheme = cfg.get("openserverless.protocol")) else: if cfg.get('components.tls'): url = url._replace(scheme = "https") @@ -111,12 +111,12 @@ def calculate_apihost(runtime_str,apiHost=None): url = url._replace(netloc = ensure_host(apiHost[0]['ip'])) # in auto mode we should use the calculated ip address and defaults to miniops.me - if cfg.exists("nuvolaris.apihost") and not 'auto' == cfg.get('nuvolaris.apihost'): - url = url._replace(netloc = ensure_host(cfg.get("nuvolaris.apihost"))) + if cfg.exists("openserverless.apihost") and not 'auto' == cfg.get('openserverless.apihost'): + url = url._replace(netloc = ensure_host(cfg.get("openserverless.apihost"))) else: url = url._replace(netloc = "miniops.me" ) - if cfg.exists("nuvolaris.apiport"): - url = url._replace(netloc = f"{url.hostname}:{cfg.get('nuvolaris.apiport')}") + if cfg.exists("openserverless.apiport"): + url = url._replace(netloc = f"{url.hostname}:{cfg.get('openserverless.apiport')}") final_url = assign_protocol(runtime_str, url) return final_url.geturl() @@ -128,9 +128,9 @@ def get_apihost(runtime_str): apihost = "" if runtime_str in ["k3s","microk8s", "openshift"]: - if(cfg.exists("nuvolaris.apihost") and 'auto' == cfg.get('nuvolaris.apihost') and not is_load_balanced_kube(runtime_str)): + if(cfg.exists("openserverless.apihost") and 'auto' == cfg.get('openserverless.apihost') and not is_load_balanced_kube(runtime_str)): machine_ip = IpUtil().get_public_ip() - logging.info(f"nuvolaris.apihost in auto mode. Will use machine public ip address {machine_ip}") + logging.info(f"openserverless.apihost in auto mode. Will use machine public ip address {machine_ip}") apihost = calculate_apihost(runtime_str,to_ingress_ip(machine_ip)) else: apihost = calculate_apihost(runtime_str,None) @@ -147,8 +147,8 @@ def extract_hostname(url): Parse a url and extract the hostname part >>> extract_hostname('http://localhost:8080') 'localhost' - >>> extract_hostname('https://nuvolaris.org') - 'nuvolaris.org' + >>> extract_hostname('https://openserverless.org') + 'openserverless.org' """ parsed_url = urllib.parse.urlparse(url) return parsed_url.hostname @@ -158,7 +158,7 @@ def extract_port(url): Parse a url and extract the port part >>> extract_port('http://localhost:8080') 8080 - >>> extract_port('https://nuvolaris.org') + >>> extract_port('https://openserverless.org') """ parsed_url = urllib.parse.urlparse(url) return parsed_url.port @@ -168,8 +168,8 @@ def split_hostname_port(url): Parse a url and extract the port part >>> split_hostname_port('http://localhost:8080') ('localhost', 8080) - >>> split_hostname_port('https://nuvolaris.org') - ('nuvolaris.org', None) + >>> split_hostname_port('https://openserverless.org') + ('openserverless.org', None) """ parsed_url = urllib.parse.urlparse(url) return parsed_url.hostname, parsed_url.port @@ -220,14 +220,14 @@ def get_user_api_url(runtime, hostname, api_context): def append_prefix_to_url(url,prefix): """ Appends the given prefix to the specified if not present - >>> append_prefix_to_url("http://nuvolaris.dev:8080","www") - 'http://www.nuvolaris.dev:8080' - >>> append_prefix_to_url("http://www.nuvolaris.dev:8080","www") - 'http://www.nuvolaris.dev:8080' - >>> append_prefix_to_url("http://nuvolaris.dev:8080",None) - 'http://nuvolaris.dev:8080' - >>> append_prefix_to_url("https://nuvolaris.dev","www") - 'https://www.nuvolaris.dev' + >>> append_prefix_to_url("http://openserverless.dev:8080","www") + 'http://www.openserverless.dev:8080' + >>> append_prefix_to_url("http://www.openserverless.dev:8080","www") + 'http://www.openserverless.dev:8080' + >>> append_prefix_to_url("http://openserverless.dev:8080",None) + 'http://openserverless.dev:8080' + >>> append_prefix_to_url("https://openserverless.dev","www") + 'https://www.openserverless.dev' """ try: if not prefix: @@ -262,14 +262,14 @@ def get_ingress_url(runtime, hostname): def add_suffix_to_url(url,suffix): """ Appends the given suffix to the specified url if not present - >>> add_suffix_to_url("http://nuvolaris.dev:8080","svc.cluster.local") - 'http://nuvolaris.dev.svc.cluster.local:8080' - >>> add_suffix_to_url("http://nuvolaris.dev.svc.cluster.local:8080","svc.cluster.local") - 'http://nuvolaris.dev.svc.cluster.local:8080' - >>> add_suffix_to_url("http://nuvolaris.dev:8080",None) - 'http://nuvolaris.dev:8080' - >>> add_suffix_to_url("https://nuvolaris.dev","svc.cluster.local") - 'https://nuvolaris.dev.svc.cluster.local' + >>> add_suffix_to_url("http://openserverless.dev:8080","svc.cluster.local") + 'http://openserverless.dev.svc.cluster.local:8080' + >>> add_suffix_to_url("http://openserverless.dev.svc.cluster.local:8080","svc.cluster.local") + 'http://openserverless.dev.svc.cluster.local:8080' + >>> add_suffix_to_url("http://openserverless.dev:8080",None) + 'http://openserverless.dev:8080' + >>> add_suffix_to_url("https://openserverless.dev","svc.cluster.local") + 'https://openserverless.dev.svc.cluster.local' """ try: if not suffix: diff --git a/nuvolaris/bcrypt_util.py b/openserverless/bcrypt_util.py similarity index 100% rename from nuvolaris/bcrypt_util.py rename to openserverless/bcrypt_util.py diff --git a/nuvolaris/bucket.py b/openserverless/bucket.py similarity index 93% rename from nuvolaris/bucket.py rename to openserverless/bucket.py index 05bc7e6f..2e989303 100644 --- a/nuvolaris/bucket.py +++ b/openserverless/bucket.py @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.kustomize as nku -import nuvolaris.kube as kube +import openserverless.kustomize as nku +import openserverless.kube as kube import os, os.path import logging diff --git a/nuvolaris/certmanager.py b/openserverless/certmanager.py similarity index 94% rename from nuvolaris/certmanager.py rename to openserverless/certmanager.py index 8233fafd..8bb6b856 100644 --- a/nuvolaris/certmanager.py +++ b/openserverless/certmanager.py @@ -16,9 +16,9 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg import time def get_cm_pod_name(runtime, jpath, namespace="cert-manager"): @@ -42,7 +42,7 @@ def wait_for_cm_ready(runtime, jpath, namespace="cert-manager"): def create(owner=None): logging.info(f"*** Configuring certificate manager") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') cm = kube.get("service/cert-manager","cert-manager") if cm: diff --git a/openserverless/config.py b/openserverless/config.py new file mode 100644 index 00000000..8815171b --- /dev/null +++ b/openserverless/config.py @@ -0,0 +1,262 @@ +# 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. +# +import flatdict, json, os +import logging + +_config = {} + +# Prefix of the kube node labels carrying configuration. Kept as a +# constant so the slice below tracks its length automatically. +LABEL_PREFIX = "openserverless.io/" + +# define a configuration +# the configuration is a map, followed by a list of labels +# the map can be a serialized json and will be flattened to a map of values. +# you can have only a configuration active at a time +# if you want to set a new configuration you have to clean it +def configure(spec: dict): + global _config + _config = dict(flatdict.FlatDict(spec, delimiter=".")) + + #forces autodetect of kube if not provided + if not exists('openserverless.kube'): + put('openserverless.kube','auto') + + return True + +def clean(): + global _config + _config = {} + +def exists(key): + return key in _config + +def get(key, envvar=None, defval=None): + val = _config.get(key) + + if envvar and envvar in os.environ: + val = os.environ[envvar] + + if val: + return val + + return defval + +def put(key, value): + _config[key] = value + return True + +def delete(key): + if key in _config: + del _config[key] + return True + +def getall(prefix=""): + res = {} + for key in _config.keys(): + if key.startswith(prefix): + res[key] = _config[key] + return res + +def keys(prefix=""): + res = [] + if _config: + for key in _config.keys(): + if key.startswith(prefix): + res.append(key) + return res + +def detect_labels(labels=None): + # skip autodetection of openserverless.kube if already available in _config + if exists('openserverless.kube') and get('openserverless.kube') != 'auto': + logging.info(f"*** configuration provided already a openserverless.kube={get('openserverless.kube')}") + return {} + + # read labels if not available + if not labels: + import openserverless.kube as kube + labels = kube.kubectl("get", "nodes", jsonpath='{.items[].metadata.labels}') + + res = {} + kube = None + for i in labels: + for j in list(i.keys()): + if j.startswith(LABEL_PREFIX): + key = f"openserverless.{j[len(LABEL_PREFIX):]}" + res[key] = i[j] + _config[key] = i[j] + + for i in labels: + for j in list(i.keys()): + # detect the kube type + if j.find("eksctl.io") >= 0: + kube ="eks" + break + if j.find("k8s.io/cloud-provider-aws") >= 0: + kube ="eks" + break + elif j.find("microk8s.io") >= 0: + kube = "microk8s" + break + elif j.find("lke.linode.com") >=0: + kube = "lks" + break + elif j.find("node.openshift.io") >=0: + kube = "openshift" + break + elif j.endswith("kubernetes.io/instance-type") and i[j] == "k3s": + kube = "k3s" + break + elif j.find("cloud.google.com/gke") >=0: + kube = "gke" + break + elif j.find("kubernetes.azure.com") >=0: + kube = "aks" + break + # assign all the 'openserverless.io' labels + + if kube: + res["openserverless.kube"] = kube + _config["openserverless.kube"] = kube + return res + + # defaults to generic if it is not yet detected + if exists('openserverless.kube') and get('openserverless.kube') == 'auto': + _config["openserverless.kube"] = "generic" + res["openserverless.kube"] = "generic" + + return res + +def detect_storage(storages=None): + res = {} + if not storages: + import openserverless.util as util + + try: + detect_storageclass = True + detect_provisioner = True + + # skips autodetection if already provided + if exists('openserverless.storageclass') and get('openserverless.storageclass') != 'auto': + logging.info(f"*** configuration provided already a openserverless.storageclass={get('openserverless.storageclass')}") + detect_storageclass = False + + if exists('openserverless.provisioner') and get('openserverless.provisioner') != 'auto': + logging.info(f"*** configuration provided already a openserverless.provisioner={get('openserverless.provisioner')}") + detect_provisioner = False + + if not detect_storageclass and not detect_provisioner: + return res + + if detect_storageclass: + storage_class = util.get_default_storage_class() + if storage_class: + res['openserverless.storageclass'] = storage_class + _config['openserverless.storageclass'] = storage_class + + if detect_provisioner: + provisioner = util.get_default_storage_provisioner() + if(provisioner): + res['openserverless.provisioner'] = provisioner + _config['openserverless.provisioner'] = provisioner + except: + pass + return res + +def detect_object_storage(object_storages=None): + """ + Detect the basic Object Store setup if enabled + """ + res = {} + if not object_storages: + import openserverless.util as util + + try: + detect_object_store = True + detect_object_store_rgw_srv_name = True + detect_object_store_rgw_srv_port = True + + # skips autodetection if cephobjectstore is not active + if not exists('components.cosi') or not get('components.cosi'): + logging.info(f"*** cephobjectstore support is not requested skipping auto configuration check") + return res + + # skips autodetection if already provided + if exists('cosi.bucket_storageclass') and get('cosi.bucket_storageclass') != 'auto': + logging.info(f"*** configuration provided already a cosi.bucket_storageclass={get('cosi.bucket_storageclass')}") + detect_object_store = False + + if exists('cosi.rgwservice_name') and get('cosi.rgwservice_name') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_name={get('cosi.rgwservice_name')}") + detect_object_store_rgw_srv_name = False + + if exists('cosi.rgwservice_port') and get('cosi.rgwservice_port') != 'auto': + logging.info(f"*** configuration provided already a cosi.rgwservice_port={get('cosi.rgwservice_port')}") + detect_object_store_rgw_srv_port = False + + if not detect_object_store and not detect_object_store_rgw_srv_name and not detect_object_store_rgw_srv_port: + return res + + if detect_object_store: + storage_class = util.get_object_storage_class() + if storage_class: + res['cosi.bucket_storageclass'] = storage_class + _config['cosi.bucket_storageclass'] = storage_class + + if detect_object_store_rgw_srv_name: + rgwsrv = util.get_object_storage_rgw_srv_name() + if(rgwsrv): + res['cosi.rgwservice_name'] = rgwsrv + _config['cosi.rgwservice_name'] = rgwsrv + + if detect_object_store_rgw_srv_port: + rgwport = util.get_object_storage_rgw_srv_http_port() + if(rgwport): + res['cosi.rgwservice_port'] = rgwport + _config['cosi.rgwservice_port'] = rgwport + except: + pass + return res + +def detect_env(): + _config['operator.image'] = os.environ.get("OPERATOR_IMAGE", "missing-OPERATOR_IMAGE") + _config['operator.tag'] = os.environ.get("OPERATOR_TAG", "missing-OPERATOR_TAG") + + # skip autodetection of controller.image if already configure into whisk.yaml + if not exists('controller.image'): + _config['controller.image'] = os.environ.get("CONTROLLER_IMAGE", "missing-CONTROLLER_IMAGE") + _config['controller.tag'] = os.environ.get("CONTROLLER_TAG", "missing-CONTROLLER_TAG") + else: + logging.warn(f"OW controller image detection skipped. Using {get('controller.image')}") + + if not exists('invoker.image'): + _config['invoker.image'] = os.environ.get("INVOKER_IMAGE", "missing-INVOKER_IMAGE") + _config['invoker.tag'] = os.environ.get("INVOKER_TAG", "missing-INVOKER_TAG") + else: + logging.warn(f"OW invoker image detection skipped. Using {get('invoker.image')}") + +def detect(): + detect_storage() + detect_labels() + detect_env() + detect_object_storage() + +def dump_config(): + import openserverless.config as cfg + for k in cfg.getall(): + logging.debug(f"{k} = {cfg.get(k)}") diff --git a/nuvolaris/couchdb.py b/openserverless/couchdb.py similarity index 91% rename from nuvolaris/couchdb.py rename to openserverless/couchdb.py index 6a38cf7e..29e9b24d 100644 --- a/nuvolaris/couchdb.py +++ b/openserverless/couchdb.py @@ -16,18 +16,18 @@ # under the License. # import kopf, os, logging, json -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.couchdb_util as cu -import nuvolaris.config as cfg -import nuvolaris.couchdb_util -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.couchdb_util as cu +import openserverless.config as cfg +import openserverless.couchdb_util +import openserverless.util as util -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata from jinja2 import Environment, FileSystemLoader -loader = FileSystemLoader(["./nuvolaris/templates", "./nuvolaris/files"]) +loader = FileSystemLoader(["./openserverless/templates", "./openserverless/files"]) env = Environment(loader=loader) def update_templated_doc(db, database, template, data): @@ -37,7 +37,7 @@ def update_templated_doc(db, database, template, data): def create(owner=None): logging.info("create couchdb") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') u = cfg.get('couchdb.admin.user', "COUCHDB_ADMIN_USER", "whisk_admin") p = cfg.get('couchdb.admin.password', "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") user = f"db_username={u}" @@ -58,7 +58,7 @@ def create(owner=None): "container": "couchdb", "size": cfg.get("couchdb.volume-size", "COUCHDB_VOLUME_SIZE", 10), "dir": "/opt/couchdb/data", - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "container_cpu_req": cfg.get('configs.couchdb.resources.cpu-req') or "500m", "container_cpu_lim": cfg.get('configs.couchdb.resources.cpu-lim') or "1", "container_mem_req": cfg.get('configs.couchdb.resources.mem-req') or "1G", @@ -66,7 +66,7 @@ def create(owner=None): "container_manage_resources": cfg.exists('configs.couchdb.resources.cpu-req'), "index": "1", "replicationRole":"primary", - "appName":"nuvolaris-couchdb" + "appName":"openserverless-couchdb" } tplp = ["set-attach.yaml"] @@ -174,8 +174,8 @@ def add_initial_subjects(db): return res def init(): - # load nuvolaris config from the named crd - config = os.environ.get("NUVOLARIS_CONFIG") + # load openserverless config from the named crd + config = os.environ.get("OPENSERVERLESS_CONFIG") if config: import logging logging.basicConfig(level=logging.INFO) @@ -186,7 +186,7 @@ def init(): # dynamically detect couchdb pod and wait for readiness util.wait_for_pod_ready("{.items[?(@.metadata.labels.name == 'couchdb')].metadata.name}") - db = nuvolaris.couchdb_util.CouchDB() + db = openserverless.couchdb_util.CouchDB() res = check(init_system(db), "init_system", True) res = check(init_subjects(db), "init_subjects", res) res = check(init_activations(db), "init_activations", res) @@ -211,7 +211,7 @@ def add_subject(db, namespace, auth): def init_users_metadata(db): """ - Add a new Openwhisk Couchdb database to host nuvolaris user relevant informations + Add a new Openwhisk Couchdb database to host openserverless user relevant informations """ dbn = "users_metadata" res = check(db.wait_db_ready(60), "wait_db_ready", True) @@ -220,7 +220,7 @@ def init_users_metadata(db): def init_compactions_config(db): """ - Activate the compactions config for the nuvolaris related databases + Activate the compactions config for the openserverless related databases """ res = check(db.wait_db_ready(60), "wait_db_ready", True) res = check(db.enable_db_compaction("users_metadata"), "enable_db_compaction: user_metadata", res) @@ -235,7 +235,7 @@ def create_ow_user(ucfg: UserConfig, user_metadata: UserMetadata): logging.info(f"authorizing OpenWhisk namespace {subject}") try: - db = nuvolaris.couchdb_util.CouchDB() + db = openserverless.couchdb_util.CouchDB() if(util.validate_ow_auth(auth)): logging.info(f"{subject} authorization is valid, adding subject") @@ -255,7 +255,7 @@ def delete_ow_user(subject): logging.info(f"removing auhorization for OpenWhisk namespace {subject}") try: - db = nuvolaris.couchdb_util.CouchDB() + db = openserverless.couchdb_util.CouchDB() selector = {"selector":{"subject": {"$eq": subject }}} response = db.find_doc("subjects", json.dumps(selector)) diff --git a/openserverless/couchdb_util.py b/openserverless/couchdb_util.py new file mode 100644 index 00000000..49cc0ac7 --- /dev/null +++ b/openserverless/couchdb_util.py @@ -0,0 +1,170 @@ +# 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. +# +import os, json, time, sys, logging +import requests as req +import openserverless.config as cfg + +class CouchDB: + def __init__(self): + self.db_protocol = "http" + self.db_prefix = "openserverless_" + self.db_port = cfg.get("couchdb.port", "COUCHDB_SERVICE_PORT", "5984") + self.db_host = cfg.get("couchdb.host", "COUCHDB_SERVICE_HOST", "couchdb") + self.db_username = cfg.get("couchdb.admin.user", "COUCHDB_ADMIN_USER", "whisk_admin") + self.db_password = cfg.get("couchdb.admin.password", "COUCHDB_ADMIN_PASSWORD", "some_passw0rd") + self.db_auth = req.auth.HTTPBasicAuth(self.db_username,self.db_password) + self.db_url = f"{self.db_protocol}://{self.db_host}:{self.db_port}" + self.db_base = f"{self.db_url}/{self.db_prefix}" + self.db_session = req.Session() + self.db_session.auth = self.db_auth + + def wait_db_ready(self, max_seconds): + logging.info("entering CouchDB.wait_db_ready()") + start = time.time() + delta = 0 + session = req.Session() + while delta < max_seconds: + try: + r = session.get(f"{self.db_url}/_utils/", timeout=5) + logging.info(f"CouchDB.wait_db_ready() got response code = {r.status_code}") + if r.status_code == 200: + return True + except Exception as e: + logging.info(f"waiting since: {delta} seconds") + delta = int(time.time() - start) + time.sleep(1) + return False + + # check if database exists, return boolean + def check_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.head(url) + return r.status_code == 200 + + # delete database, return true if ok + def delete_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.delete(url) + return r.status_code == 200 + + # create db, return true if ok + def create_db(self, database): + url = f"{self.db_base}{database}" + r = self.db_session.put(url) + return r.status_code == 201 + + # database="subjects" + def recreate_db(self, database, recreate=False): + msg = "recreate_db:" + exists = self.check_db(database) + if recreate and exists: + msg += " deleted" + self.delete_db(database) + if recreate or not exists: + msg += " created" + self.create_db(database) + return msg + + def get_doc(self, database, id, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/{id}" + session = req.Session() + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + session.auth = db_auth + r = session.get(url) + if r.status_code == 200: + return json.loads(r.text) + return None + + def update_doc(self, database, doc): + if '_id' in doc: + url = f"{self.db_base}{database}/{doc['_id']}" + cur = self.get_doc(database, doc['_id']) + if cur and '_rev' in cur: + doc['_rev'] = cur['_rev'] + r = self.db_session.put(url, json=doc) + else: + r = self.db_session.put(url, json=doc) + return r.status_code in [200,201] + return False + + def delete_doc(self, database, id): + cur = self.get_doc(database, id) + if cur and '_rev' in cur: + url = f"{self.db_base}{database}/{cur['_id']}?rev={cur['_rev']}" + r = self.db_session.delete(url) + return r.status_code == 200 + return False + + def configure_single_node(self): + url = f"{self.db_url}/_cluster_setup" + data = {"action": "enable_single_node", "singlenode": True, "bind_address": "0.0.0.0", "port": 5984} + r = self.db_session.post(url, json=data) + return r.status_code == 201 + + def configure_no_reduce_limit(self): + url = f"{self.db_url}/_node/_local/_config/query_server_config/reduce_limit" + data=b'"false"' + r = self.db_session.put(url, data=data) + return r.status_code == 200 + + def enable_db_compaction(self,db_name): + url = f"{self.db_url}/_node/_local/_config/compactions/{self.db_prefix}{db_name}" + data = '[{db_fragmentation, \"60%\"}, {view_fragmentation, \"60%\"}]' + r = self.db_session.put(url, json=data) + return r.status_code == 200 + + def add_user(self, username: str, password: str): + userpass = {"name": username, "password": password, "roles": [], "type": "user"} + url = f"{self.db_url}/_users/org.couchdb.user:{username}" + res = self.db_session.put(url, json=userpass) + return res.status_code in [200, 201, 421] + + #def add_role(self, database: str, members: list[str] = [], admins: list[str] =[]): + def add_role(self, database: str, members = [], admins =[]): + roles = {"admins": { "names": admins, "roles": [] }, "members": { "names": members, "roles": [] } } + url = f"{self.db_base}{database}/_security" + res = self.db_session.put(url, json=roles) + return res.status_code in [200, 201, 421] + +# +# Submit a POST request to the _find endpoint using the specified selector +# + def find_doc(self, database, selector, user=None, password="", no_auth=False): + url = f"{self.db_base}{database}/_find" + headers = {'Content-Type': 'application/json'} + session = req.Session() + + if no_auth: + db_auth=None + elif user: + db_auth=req.auth.HTTPBasicAuth(user, password) + else: + db_auth = self.db_auth + + session.auth=db_auth + r = session.post(url, headers=headers, data=selector) + if r.status_code == 200: + return json.loads(r.text) + + logging.warn(f"query to {url} failed with {r.status_code}. Body {r.text}") + return None \ No newline at end of file diff --git a/nuvolaris/cronjob.py b/openserverless/cronjob.py similarity index 95% rename from nuvolaris/cronjob.py rename to openserverless/cronjob.py index c02f3751..81d86217 100644 --- a/nuvolaris/cronjob.py +++ b/openserverless/cronjob.py @@ -16,10 +16,10 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.operator_util as operator_util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.operator_util as operator_util def create(owner=None): logging.info("creating cron") diff --git a/nuvolaris/endpoint.py b/openserverless/endpoint.py similarity index 91% rename from nuvolaris/endpoint.py rename to openserverless/endpoint.py index ef4c6762..ae9ae2ee 100644 --- a/nuvolaris/endpoint.py +++ b/openserverless/endpoint.py @@ -17,26 +17,26 @@ # import kopf, logging, json, time import os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.openwhisk as openwhisk -import nuvolaris.apihost_util as apihost_util -import nuvolaris.util as util -import nuvolaris.operator_util as operator_util - -from nuvolaris.ingress_data import IngressData -from nuvolaris.route_data import RouteData -from nuvolaris.user_metadata import UserMetadata +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.openwhisk as openwhisk +import openserverless.apihost_util as apihost_util +import openserverless.util as util +import openserverless.operator_util as operator_util + +from openserverless.ingress_data import IngressData +from openserverless.route_data import RouteData +from openserverless.user_metadata import UserMetadata def ingress_secret_name(namespace, ingress="apihost"): return f"{namespace}-{ingress}-crt" def api_ingress_name(namespace, ingress="apihost"): - return namespace == "nuvolaris" and ingress or f"{namespace}-{ingress}-api-ingress" + return namespace == "openserverless" and ingress or f"{namespace}-{ingress}-api-ingress" def api_route_name(namespace,route="apihost"): - return namespace == "nuvolaris" and route or f"{namespace}-{route}-api-route" + return namespace == "openserverless" and route or f"{namespace}-{route}-api-route" def api_secret_name(namespace): return f"{namespace}-crt" @@ -200,7 +200,7 @@ def deploy_api_ingresses(apihost, namespace,should_create_www=False): return res def create(owner=None): - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') apihost = apihost_util.get_apihost(runtime) hostname = apihost_util.extract_hostname(apihost) should_create_www = "www" not in hostname and runtime not in ["kind"] @@ -210,19 +210,19 @@ def create(owner=None): cfg.put("config.apihost", apihost) if runtime == 'openshift': - res = deploy_info_route(apihost,"nuvolaris") - return deploy_api_routes(apihost,"nuvolaris",should_create_www) + res = deploy_info_route(apihost,"openserverless") + return deploy_api_routes(apihost,"openserverless",should_create_www) else: - res = deploy_info_ingress(apihost,"nuvolaris") - return deploy_api_ingresses(apihost,"nuvolaris",should_create_www) + res = deploy_info_ingress(apihost,"openserverless") + return deploy_api_ingresses(apihost,"openserverless",should_create_www) def delete(owner=None): """ - undeploys ingresses for nuvolaris apihost + undeploys ingresses for openserverless apihost """ - logging.info(f"*** removing ingresses for nuvolaris apihost") - namespace = "nuvolaris" - runtime = cfg.get('nuvolaris.kube') + logging.info(f"*** removing ingresses for openserverless apihost") + namespace = "openserverless" + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) apihost = apihost_util.get_apihost(runtime) hostname = apihost_util.extract_hostname(apihost) @@ -284,7 +284,7 @@ def create_ow_api_endpoint(ucfg, user_metadata: UserMetadata, owner=None): deploy ingresses to access a generic user api and ow api in a CORS friendly way currently this is not supported for openshift """ - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') namespace = ucfg.get("namespace") apihost = ucfg.get("apihost") or "auto" hostname = apihost_util.get_user_static_hostname(runtime, namespace, apihost) @@ -309,9 +309,9 @@ def delete_ow_api_endpoint(ucfg): undeploy the ingresses """ namespace = ucfg.get("namespace") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') logging.info(f"*** removing api endpoint for {namespace}") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) try: diff --git a/nuvolaris/enterprise_util.py b/openserverless/enterprise_util.py similarity index 89% rename from nuvolaris/enterprise_util.py rename to openserverless/enterprise_util.py index bd86f4f6..64c65ba4 100644 --- a/nuvolaris/enterprise_util.py +++ b/openserverless/enterprise_util.py @@ -16,9 +16,9 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.util as util import logging import re @@ -29,8 +29,8 @@ def extract_host(srv_address_url): 'zookeeper-0.zookeeper' >>> extract_host("zookeeper-0.zookeeper") 'zookeeper-0.zookeeper' - >>> extract_host("zookeeper-0.zookeeper.nuvolaris.svc.cluster.local:2181") - 'zookeeper-0.zookeeper.nuvolaris.svc.cluster.local' + >>> extract_host("zookeeper-0.zookeeper.openserverless.svc.cluster.local:2181") + 'zookeeper-0.zookeeper.openserverless.svc.cluster.local' """ host_regex = r'([a-z0-9\-._~%]+)' m = re.search(host_regex, srv_address_url) @@ -81,8 +81,8 @@ def getEnterpriseControllerConfigData(): "invoker_host": cfg.get("invoker.host") or "localhost", "invoker_port": cfg.get("invoker.port") or "8080", "invoker_protocol": cfg.get("invoker.protocol") or "http", - "kafka_host": cfg.get("nuvolaris.kafka.url") or "kafka:9092", - "zookeeper_url": cfg.get('nuvolaris.zookeeper.url') or "zookeeper-0.zookeeper:2181", + "kafka_host": cfg.get("openserverless.kafka.url") or "kafka:9092", + "zookeeper_url": cfg.get('openserverless.zookeeper.url') or "zookeeper-0.zookeeper:2181", "controller_java_opts": cfg.get('configs.controller.javaOpts') or "-Xmx1024M", "controller_logging_level": cfg.get('configs.controller.loggingLevel') or "INFO", "controller_replicas": cfg.get('configs.controller.replicas') or 1, @@ -132,8 +132,8 @@ def getEnterpriseInvokerConfigData(): "invoker_host": cfg.get("invoker.host") or "localhost", "invoker_port": cfg.get("invoker.port") or "8080", "invoker_protocol": cfg.get("invoker.protocol") or "http", - "kafka_host": cfg.get("nuvolaris.kafka.url") or "kafka:9092", - "zookeeper_url": cfg.get('nuvolaris.zookeeper.url') or "zookeeper-0.zookeeper:2181", + "kafka_host": cfg.get("openserverless.kafka.url") or "kafka:9092", + "zookeeper_url": cfg.get('openserverless.zookeeper.url') or "zookeeper-0.zookeeper:2181", "invoker_java_opts": cfg.get('configs.invoker.javaOpts') or "-Xmx1024M", "invoker_containerpool_usermemory": cfg.get('configs.invoker.containerPool.userMemory') or "2048m", "invoker_logging_level": cfg.get('configs.invoker.loggingLevel') or "INFO", @@ -146,9 +146,9 @@ def getEnterpriseInvokerConfigData(): "kubernetes_timeouts_run":cfg.get('configs.invoker.kubernetes.timeouts_run') or "1", "kubernetes_timeouts_logs":cfg.get('configs.invoker.kubernetes.timeouts_logs') or "1", "kubernetes_port_forwarding_enabled":cfg.get('configs.invoker.kubernetes.port_forwarding_enabled') and "true" or "false", - "kubernetes_action_namespace":cfg.get('configs.invoker.kubernetes.action_namespace') or "nuvolaris", + "kubernetes_action_namespace":cfg.get('configs.invoker.kubernetes.action_namespace') or "openserverless", "kubernetes_user_pod_affinity_enabled":cfg.get('configs.invoker.kubernetes.user_pod_affinity_enabled') and "true" or "false", - "kubernetes_user_pod_affinity_key":cfg.get('configs.invoker.kubernetes.user_pod_affinity_key') or "nuvolaris-role", + "kubernetes_user_pod_affinity_key":cfg.get('configs.invoker.kubernetes.user_pod_affinity_key') or "openserverless-role", "kubernetes_user_pod_affinity_value":cfg.get('configs.invoker.kubernetes.user_pod_affinity_value') or "invoker", "usePrivateRegistry":cfg.get('components.registry') or False, } @@ -160,12 +160,12 @@ def getEnterpriseInvokerConfigData(): def get_prometheus_config_data(): data = { - "name":"nuvolaris-prometheus-server", - "pod_anti_affinity_name":"nuvolaris-prometheus-server", - "pvcName":"nuvolaris-prometheus-server-pvc", + "name":"openserverless-prometheus-server", + "pod_anti_affinity_name":"openserverless-prometheus-server", + "pvcName":"openserverless-prometheus-server-pvc", "pvcAccessMode":"ReadWriteOnce", "size": cfg.get("monitoring.prometheus.volume-size") or 10, - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "applypodsecurity":util.get_enable_pod_security() } util.common_affinity_tolerations_data(data) @@ -174,14 +174,14 @@ def get_prometheus_config_data(): def get_am_config_data(): data = { - "name":"nuvolaris-prometheus-alertmanager", - "pod_anti_affinity_name":"nuvolaris-prometheus-alertmanager", - "pvcName":"storage-nuvolaris-prometheus-alertmanager", + "name":"openserverless-prometheus-alertmanager", + "pod_anti_affinity_name":"openserverless-prometheus-alertmanager", + "pvcName":"storage-openserverless-prometheus-alertmanager", "pvcAccessMode":"ReadWriteOnce", "size": cfg.get("monitoring.alert-manager.volume-size") or 2, - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "slack": cfg.get("monitoring.alert-manager.slack.enabled") or False, - "slack_channel_name": cfg.get("monitoring.alert-manager.slack.slack_channel_name") or '#monitoring-nuvolaris', + "slack_channel_name": cfg.get("monitoring.alert-manager.slack.slack_channel_name") or '#monitoring-openserverless', "slack_api_url": cfg.get("monitoring.alert-manager.slack.slack_api_url","SLACK_API_URL",""), "slack_default": cfg.get("monitoring.alert-manager.slack.default") or False, "gmail": cfg.get("monitoring.alert-manager.gmail.enabled") or False, @@ -212,7 +212,7 @@ def get_zookeeper_config_data(): "pod_anti_affinity_name":"zookeeper", "data_volume_size": cfg.get('zookeeper.data-volume-size') or "10", "log_volume_size": cfg.get('zookeeper.log-volume-size') or "5", - "storage_class": cfg.get("nuvolaris.storageclass") + "storage_class": cfg.get("openserverless.storageclass") } util.common_affinity_tolerations_data(data) return data @@ -223,7 +223,7 @@ def get_kafka_config_data(): "name":"kafka", "pod_anti_affinity_name":"kafka", "data_volume_size": cfg.get('kafka.volume-size') or "10", - "storage_class": cfg.get("nuvolaris.storageclass") or "standard" + "storage_class": cfg.get("openserverless.storageclass") or "standard" } util.common_affinity_tolerations_data(data) return data \ No newline at end of file diff --git a/nuvolaris/etcd.py b/openserverless/etcd.py similarity index 89% rename from nuvolaris/etcd.py rename to openserverless/etcd.py index f24e2840..6d14f1f4 100644 --- a/nuvolaris/etcd.py +++ b/openserverless/etcd.py @@ -16,16 +16,16 @@ # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util import os.path import logging import kopf -from nuvolaris.util import get_etcd_replica +from openserverless.util import get_etcd_replica def create(owner=None): @@ -43,7 +43,7 @@ def create(owner=None): spec_templates.append("etcd-policy.yaml") kust = kus.patchTemplates("etcd",tplp , data) - kust += kus.patchGenericEntry("Secret","nuvolaris-etcd-secret","/data/rootPassword",util.b64_encode(data['root_password'])) + kust += kus.patchGenericEntry("Secret","openserverless-etcd-secret","/data/rootPassword",util.b64_encode(data['root_password'])) spec = kus.kustom_list("etcd", kust, templates=spec_templates, data=data) if owner: @@ -59,7 +59,7 @@ def create(owner=None): def wait_for_etcd_ready(): # dynamically detect etcd pod and wait for readiness - util.wait_for_pod_ready(r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/name == 'nuvolaris-etcd')].metadata.name}") + util.wait_for_pod_ready(r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/name == 'openserverless-etcd')].metadata.name}") def render_etcd_script(namespace,template,data): """ @@ -93,7 +93,7 @@ def create_etcd_user(username:str, password:str, prefix:str): data["mode"]="create" path_to_etcd_script = render_etcd_script(username,"etcd_manage_user_tpl.sh",data) - pod_name = util.get_pod_name_by_selector("name=nuvolaris-etcd","{.items[0].metadata.name}") + pod_name = util.get_pod_name_by_selector("name=openserverless-etcd","{.items[0].metadata.name}") if(pod_name): res = exec_etcd_script(pod_name,path_to_etcd_script) @@ -119,7 +119,7 @@ def delete_db_user(username): data["mode"]="delete" path_to_etcd_script = render_etcd_script(username,"etcd_manager_user_tpl.sh",data) - pod_name = util.get_pod_name_by_selector("name=nuvolaris-etcd","{.items[0].metadata.name}") + pod_name = util.get_pod_name_by_selector("name=openserverless-etcd","{.items[0].metadata.name}") if(pod_name): res = exec_etcd_script(pod_name,path_to_etcd_script) diff --git a/nuvolaris/ferretdb.py b/openserverless/ferretdb.py similarity index 82% rename from nuvolaris/ferretdb.py rename to openserverless/ferretdb.py index 73718d67..6d911e62 100644 --- a/nuvolaris/ferretdb.py +++ b/openserverless/ferretdb.py @@ -20,28 +20,28 @@ # import kopf, json, time -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.postgres_operator as postgres +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.postgres_operator as postgres import logging -import nuvolaris.openwhisk as openwhisk +import openserverless.openwhisk as openwhisk import urllib.parse -import nuvolaris.operator_util as operator_util +import openserverless.operator_util as operator_util -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def enrich_ferretdb_data(data): data['size']= cfg.get('mongodb.volume-size') or 10 data['dir']= "/state" - data['storageClass']=cfg.get("nuvolaris.storageclass") - data['name']="nuvolaris-mongodb" + data['storageClass']=cfg.get("openserverless.storageclass") + data['name']="openserverless-mongodb" data['container']="ferretdb" data['applypodsecurity']=util.get_enable_pod_security() - # use nuvolaris postgres db as default configuration for FERRETDB + # use openserverless postgres db as default configuration for FERRETDB data['ferretdb_postgres_url'] = postgres.get_base_postgres_url(data) util.ferretb_affinity_tolerations_data(data) @@ -70,19 +70,19 @@ def create(owner=None): # dynamically detect ferretdb pod and wait for readiness if res: - util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}") + util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}") update_system_cm_for_mdb(data) logging.info("*** created ferretdb") return res def get_ferret_pod_name(): - return util.get_pod_name("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}") + return util.get_pod_name("{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}") def update_system_cm_for_mdb(data): - logging.info("*** annotating configuration for ferretdb nuvolaris user") + logging.info("*** annotating configuration for ferretdb openserverless user") try: - mdb_service = util.get_service("{.items[?(@.metadata.name == 'nuvolaris-mongodb-svc')]}") + mdb_service = util.get_service("{.items[?(@.metadata.name == 'openserverless-mongodb-svc')]}") if(mdb_service): mdb_pod_name = get_ferret_pod_name() mdb_service_name = mdb_service['metadata']['name'] @@ -90,15 +90,15 @@ def update_system_cm_for_mdb(data): data = util.get_postgres_config_data() - username = urllib.parse.quote(data['postgres_nuvolaris_user']) - password = urllib.parse.quote(data['postgres_nuvolaris_password']) + username = urllib.parse.quote(data['postgres_openserverless_user']) + password = urllib.parse.quote(data['postgres_openserverless_password']) auth = f"{username}:{password}" - mdb_url = f"mongodb://{auth}@{mdb_pod_name}.{mdb_service_name}.{mdb_ns}.svc.cluster.local:27017/nuvolaris?connectTimeoutMS=60000&authMechanism=PLAIN" + mdb_url = f"mongodb://{auth}@{mdb_pod_name}.{mdb_service_name}.{mdb_ns}.svc.cluster.local:27017/openserverless?connectTimeoutMS=60000&authMechanism=PLAIN" openwhisk.annotate(f"mongodb_url={mdb_url}") - logging.info("*** saved annotation for ferretdb nuvolaris user") + logging.info("*** saved annotation for ferretdb openserverless user") except Exception as e: - logging.error(f"failed to build mongodb_url for nuvolaris database: {e}") + logging.error(f"failed to build mongodb_url for openserverless database: {e}") def delete_by_owner(): spec = kus.build("ferretdb") @@ -143,10 +143,10 @@ def patch(status, action, owner=None): def _add_mdb_user_metadata(user_metadata, data): """ adds an entry for the mongodb connectivity, i.e - something like "mongodb://{namespace}:{auth}@nuvolaris-mongodb-0.nuvolaris-mongodb-svc.nuvolaris.svc.cluster.local:27017/{database}?connectTimeoutMS=60000"} + something like "mongodb://{namespace}:{auth}@openserverless-mongodb-0.openserverless-mongodb-svc.openserverless.svc.cluster.local:27017/{database}?connectTimeoutMS=60000"} """ try: - mdb_service = util.get_service("{.items[?(@.metadata.name == 'nuvolaris-mongodb-svc')]}") + mdb_service = util.get_service("{.items[?(@.metadata.name == 'openserverless-mongodb-svc')]}") if(mdb_service): mdb_service_name = mdb_service['metadata']['name'] @@ -180,7 +180,7 @@ def create_db_user(ucfg: UserConfig, user_metadata: UserMetadata): path_to_pgpass = postgres.render_postgres_script(f"{namespace}_ferretdb","pgpass_tpl.properties",data) path_to_mdb_script = postgres.render_postgres_script(f"{namespace}_ferretdb","postgres_manage_user_tpl.sql",data) - pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'nuvolaris-postgres')].metadata.name}") + pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'openserverless-postgres')].metadata.name}") if(pod_name): res = postgres.exec_psql_command(pod_name,path_to_mdb_script,path_to_pgpass) @@ -207,7 +207,7 @@ def delete_db_user(namespace, database): path_to_pgpass = postgres.render_postgres_script(f"{namespace}_ferretdb","pgpass_tpl.properties",data) path_to_mdb_script = postgres.render_postgres_script(f"{namespace}_ferretdb","postgres_manage_user_tpl.sql",data) - pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'nuvolaris-postgres')].metadata.name}") + pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'openserverless-postgres')].metadata.name}") if(pod_name): res = postgres.exec_psql_command(pod_name,path_to_mdb_script,path_to_pgpass) diff --git a/nuvolaris/files/README.md b/openserverless/files/README.md similarity index 86% rename from nuvolaris/files/README.md rename to openserverless/files/README.md index 78f409a4..d56efa79 100644 --- a/nuvolaris/files/README.md +++ b/openserverless/files/README.md @@ -21,6 +21,6 @@ Update those files to the latest version with `task update-files` -you need openwhisk in `../nuvolaris-controller/openwhisk/` so you have to run it when you have the full tree with all the submodules. +you need openwhisk in `../openserverless-controller/openwhisk/` so you have to run it when you have the full tree with all the submodules. diff --git a/nuvolaris/files/activations_design_document_for_activations_db.json b/openserverless/files/activations_design_document_for_activations_db.json similarity index 100% rename from nuvolaris/files/activations_design_document_for_activations_db.json rename to openserverless/files/activations_design_document_for_activations_db.json diff --git a/nuvolaris/files/auth_design_document_for_subjects_db_v2.0.0.json b/openserverless/files/auth_design_document_for_subjects_db_v2.0.0.json similarity index 100% rename from nuvolaris/files/auth_design_document_for_subjects_db_v2.0.0.json rename to openserverless/files/auth_design_document_for_subjects_db_v2.0.0.json diff --git a/nuvolaris/files/filter_design_document.json b/openserverless/files/filter_design_document.json similarity index 100% rename from nuvolaris/files/filter_design_document.json rename to openserverless/files/filter_design_document.json diff --git a/nuvolaris/files/logCleanup_design_document_for_activations_db.json b/openserverless/files/logCleanup_design_document_for_activations_db.json similarity index 100% rename from nuvolaris/files/logCleanup_design_document_for_activations_db.json rename to openserverless/files/logCleanup_design_document_for_activations_db.json diff --git a/nuvolaris/files/namespace_throttlings_design_document_for_subjects_db.json b/openserverless/files/namespace_throttlings_design_document_for_subjects_db.json similarity index 100% rename from nuvolaris/files/namespace_throttlings_design_document_for_subjects_db.json rename to openserverless/files/namespace_throttlings_design_document_for_subjects_db.json diff --git a/nuvolaris/files/runtimes-nodeonly.json b/openserverless/files/runtimes-nodeonly.json similarity index 100% rename from nuvolaris/files/runtimes-nodeonly.json rename to openserverless/files/runtimes-nodeonly.json diff --git a/nuvolaris/files/runtimes.json b/openserverless/files/runtimes.json similarity index 100% rename from nuvolaris/files/runtimes.json rename to openserverless/files/runtimes.json diff --git a/nuvolaris/files/whisks_design_document_for_activations_db_filters_v2.1.0.json b/openserverless/files/whisks_design_document_for_activations_db_filters_v2.1.0.json similarity index 100% rename from nuvolaris/files/whisks_design_document_for_activations_db_filters_v2.1.0.json rename to openserverless/files/whisks_design_document_for_activations_db_filters_v2.1.0.json diff --git a/nuvolaris/files/whisks_design_document_for_activations_db_filters_v2.1.1.json b/openserverless/files/whisks_design_document_for_activations_db_filters_v2.1.1.json similarity index 100% rename from nuvolaris/files/whisks_design_document_for_activations_db_filters_v2.1.1.json rename to openserverless/files/whisks_design_document_for_activations_db_filters_v2.1.1.json diff --git a/nuvolaris/files/whisks_design_document_for_activations_db_v2.1.0.json b/openserverless/files/whisks_design_document_for_activations_db_v2.1.0.json similarity index 100% rename from nuvolaris/files/whisks_design_document_for_activations_db_v2.1.0.json rename to openserverless/files/whisks_design_document_for_activations_db_v2.1.0.json diff --git a/nuvolaris/files/whisks_design_document_for_entities_db_v2.1.0.json b/openserverless/files/whisks_design_document_for_entities_db_v2.1.0.json similarity index 100% rename from nuvolaris/files/whisks_design_document_for_entities_db_v2.1.0.json rename to openserverless/files/whisks_design_document_for_entities_db_v2.1.0.json diff --git a/nuvolaris/ingress.py b/openserverless/ingress.py similarity index 94% rename from nuvolaris/ingress.py rename to openserverless/ingress.py index 269c79e1..be4a995e 100644 --- a/nuvolaris/ingress.py +++ b/openserverless/ingress.py @@ -16,10 +16,10 @@ # under the License. # import kopf, logging, json, time -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util def get_ingress_pod_name(runtime, namespace="ingress-nginx"): jpath = r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/component == 'controller')].metadata.name}" @@ -52,7 +52,7 @@ def get_ingress_service(runtime): return "service/ingress-nginx-controller" def create(owner=None): - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') namespace = util.get_ingress_namespace(runtime) service = get_ingress_service(runtime) diff --git a/nuvolaris/ingress_data.py b/openserverless/ingress_data.py similarity index 94% rename from nuvolaris/ingress_data.py rename to openserverless/ingress_data.py index c564a972..26483cd8 100644 --- a/nuvolaris/ingress_data.py +++ b/openserverless/ingress_data.py @@ -18,18 +18,18 @@ import json import logging import os -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.kustomize as kus -import nuvolaris.time_util as tutil -import nuvolaris.template as ntp +import openserverless.config as cfg +import openserverless.util as util +import openserverless.kustomize as kus +import openserverless.time_util as tutil +import openserverless.template as ntp import urllib.parse class IngressData: _data = {} def __init__(self, apihost): - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') tls = cfg.get('components.tls') and not runtime=='kind' url = urllib.parse.urlparse(apihost) @@ -46,7 +46,7 @@ def __init__(self, apihost): "route_timeout_seconds":tutil.duration_in_second(util.get_controller_http_timeout()), 'needs_rewrite': False, 'needs_prefix': False, - 'namespace':'nuvolaris' + 'namespace':'openserverless' } def dump(self): diff --git a/nuvolaris/invoker.py b/openserverless/invoker.py similarity index 90% rename from nuvolaris/invoker.py rename to openserverless/invoker.py index 0ae65dd4..ce3c0f9b 100644 --- a/nuvolaris/invoker.py +++ b/openserverless/invoker.py @@ -15,12 +15,12 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.enterprise_util as cfg_util -import nuvolaris.util as util -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.enterprise_util as cfg_util +import openserverless.util as util +import openserverless.util as util import os, os.path import logging import kopf diff --git a/nuvolaris/ip_util.py b/openserverless/ip_util.py similarity index 95% rename from nuvolaris/ip_util.py rename to openserverless/ip_util.py index fdd332e3..378c00a8 100644 --- a/nuvolaris/ip_util.py +++ b/openserverless/ip_util.py @@ -31,7 +31,7 @@ def __init__(self): self.IPIFY_API_URI = 'https://api.ipify.org' self.IP_INFO_API_URI = 'https://ipinfo.io/ip' self.IDENT_ME_API_URI = 'https://4.ident.me/' - self.USER_AGENT = 'nuvolaris-ip-resolver' + self.USER_AGENT = 'openserverless-ip-resolver' # The maximum amount of tries to attempt when making API calls. self.MAX_TRIES = 3 @@ -55,7 +55,7 @@ def _get_ip_resp(self,api_uri: str): def handle_ip_request(self,url, extra=None): """ Query a public api returning the machine's public ip address - >>> from nuvolaris.ip_util import IpUtil + >>> from openserverless.ip_util import IpUtil >>> ip_util = IpUtil() >>> ipify_ip = ip_util.handle_ip_request('https://api.ipify.org') >>> ifinfo_ip = ip_util.handle_ip_request('https://ipinfo.io/ip') @@ -86,7 +86,7 @@ def get_ip_chain(self, url): def get_public_ip(self): """ Attempt to get the machine public ip - >>> from nuvolaris.ip_util import IpUtil + >>> from openserverless.ip_util import IpUtil >>> ip_util = IpUtil() >>> ip = ip_util.get_public_ip() >>> ip != None diff --git a/nuvolaris/issuer.py b/openserverless/issuer.py similarity index 94% rename from nuvolaris/issuer.py rename to openserverless/issuer.py index 6cb74373..7483cd2b 100644 --- a/nuvolaris/issuer.py +++ b/openserverless/issuer.py @@ -16,15 +16,15 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.operator_util as operator_util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.operator_util as operator_util def create(owner=None): logging.info(f"*** Configuring cluster issuer") # We deploy a cluster-issuer - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') acme_registered_email = cfg.get('tls.acme-registered-email') or "nuvolaris@nuvolaris.io" acme_server_url = cfg.get('tls.acme-server-url') or "https://acme-staging-v02.api.letsencrypt.org/directory" diff --git a/nuvolaris/kafka.py b/openserverless/kafka.py similarity index 83% rename from nuvolaris/kafka.py rename to openserverless/kafka.py index 948b6c21..2aad70b4 100644 --- a/nuvolaris/kafka.py +++ b/openserverless/kafka.py @@ -16,12 +16,12 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.enterprise_util as cfg_util -import nuvolaris.enterprise_util as cfg_util -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.enterprise_util as cfg_util +import openserverless.enterprise_util as cfg_util +import openserverless.util as util def get_kafka_pod_name(): pod_name = kube.kubectl("get", "pods", jsonpath="{.items[?(@.metadata.labels.app == 'kafka')].metadata.name}") @@ -41,7 +41,7 @@ def get_kafka_connect_data(): def create(owner=None): logging.info(f"*** configuring kafka") - zookeeper_url = cfg.get("nuvolaris.zookeeper.url") or "zookeeper-0.zookeeper:2181" + zookeeper_url = cfg.get("openserverless.zookeeper.url") or "zookeeper-0.zookeeper:2181" zookeper_data = zookeeper_url.split(":") data = cfg_util.get_kafka_config_data() @@ -66,8 +66,8 @@ def create(owner=None): # dynamically detect kafka pod and wait for readiness util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'kafka')].metadata.name}") - cfg.put("nuvolaris.kafka.url",get_kafka_connect_data()) - logging.info(f"kafka connection string is {cfg.get('nuvolaris.kafka.url')}") + cfg.put("openserverless.kafka.url",get_kafka_connect_data()) + logging.info(f"kafka connection string is {cfg.get('openserverless.kafka.url')}") logging.info("*** configured kafka") return res diff --git a/nuvolaris/kopf_util.py b/openserverless/kopf_util.py similarity index 96% rename from nuvolaris/kopf_util.py rename to openserverless/kopf_util.py index cce79720..bacf6b96 100644 --- a/nuvolaris/kopf_util.py +++ b/openserverless/kopf_util.py @@ -16,7 +16,7 @@ # under the License. # import json, logging -import nuvolaris.config as cfg +import openserverless.config as cfg def normalize(item:tuple): """ @@ -41,7 +41,7 @@ def endpoint(response: dict, item: dict): """ Forces an update of the apihost endpoint if any of these two attributes has been changed/added """ - if(item['path']=='spec.components.tls' or item['path']=='spec.nuvolaris.apihost'): + if(item['path']=='spec.components.tls' or item['path']=='spec.openserverless.apihost'): response["endpoint"]="update" # if we update the endpoint we need to be sure that we update also the static if still active if cfg.get('components.static'): @@ -92,7 +92,7 @@ def check_registry_ingresses(response: dict, item: dict): def evaluate_differences(response: dict, differences: list): """ Iterate over the difference list to find which components the - nuvolaris operator need to deploy/undeploy + openserverless operator need to deploy/undeploy """ for d in differences: check_component(response, d,"spec.components.couchdb","couchdb") @@ -118,7 +118,7 @@ def detect_component_changes(kopf_diff): """ Analyze a kopf diff object and attempt to establish which component must be added/removed/updated by the operator. Typically a kopf diff object has a structure like ((action, n-tuple of object or field path, old, new),) - Will return a list of items reporting the specific action to be done on any nuvolaris operator managed component + Will return a list of items reporting the specific action to be done on any openserverless operator managed component >>> data = (('change',('spec','components','mongodb'), True, False),('change',('spec','components','tls'), True, False),('change', ('spec','configs','limits','actions','sequence-maxLength'), 10, 20)) >>> what_to_do = detect_component_changes(data) >>> print(what_to_do['endpoint']) @@ -149,7 +149,7 @@ def check_spec_update(response: dict, item: dict, cmp_spec, cmp_key): def evaluate_wsku_differences(response: dict, differences: list): """ Iterate over the difference list to find which part of the wsku resources the - nuvolaris operator wsku handler needs to patch. + openserverless operator wsku handler needs to patch. """ for d in differences: check_spec_update(response, d,"spec.password","password") @@ -162,7 +162,7 @@ def detect_wsku_changes(kopf_diff): """ Analyze a kopf diff object and attempt to establish which component must be added/removed/updated by the operator. Typically a kopf diff object has a structure like ((action, n-tuple of object or field path, old, new),) - Will return a list of items reporting the specific action to be done on any nuvolaris operator managed component + Will return a list of items reporting the specific action to be done on any openserverless operator managed component >>> data = (('change',('spec','components','mongodb'), True, False),('change',('spec','components','tls'), True, False),('change', ('spec','configs','limits','actions','sequence-maxLength'), 10, 20)) >>> what_to_do = detect_component_changes(data) >>> print(what_to_do['endpoint']) diff --git a/nuvolaris/kube.py b/openserverless/kube.py similarity index 82% rename from nuvolaris/kube.py rename to openserverless/kube.py index a9211734..c99aa6ad 100644 --- a/nuvolaris/kube.py +++ b/openserverless/kube.py @@ -16,8 +16,8 @@ # under the License. # # this module wraps kubectl -import nuvolaris.testutil as tu -import nuvolaris.template as tpl +import openserverless.testutil as tu +import openserverless.template as tpl import subprocess import json import logging @@ -33,11 +33,11 @@ mocker = tu.MockKube() # execute kubectl commands -# default namespace is nuvolaris, you can change with keyword arg namespace +# default namespace is openserverless, you can change with keyword arg namespace # default output is text # if you specify jsonpath it will filter and parse the json output # returns exceptions if errors -def kubectl(*args, namespace="nuvolaris", input=None, jsonpath=None, debugresult=True, timeout=None): +def kubectl(*args, namespace="openserverless", input=None, jsonpath=None, debugresult=True, timeout=None): # support for mocked requests mres = mocker.invoke(*args) if mres: @@ -81,7 +81,7 @@ def kubectl(*args, namespace="nuvolaris", input=None, jsonpath=None, debugresult # create a configmap from keyword arguments def configMap(name, **kwargs): """ - >>> import nuvolaris.kube as kube, nuvolaris.testutil as tu + >>> import openserverless.kube as kube, openserverless.testutil as tu >>> tu.grep(kube.configMap("hello", value="world"), "kind:|name:|value:", sort=True) kind: ConfigMap name: hello @@ -101,7 +101,7 @@ def configMap(name, **kwargs): return yaml.dump(out) # delete an object -def delete(obj, namespace="nuvolaris"): +def delete(obj, namespace="openserverless"): # tested with apply if not isinstance(obj, str): obj = json.dumps(obj) @@ -116,28 +116,28 @@ def ctl(arg, jsonpath='{@}', flatten=False): return data # apply an object -def apply(obj, namespace="nuvolaris"): +def apply(obj, namespace="openserverless"): if not isinstance(obj, str): obj = json.dumps(obj) return kubectl("apply", "-f", "-", namespace=namespace, input=obj) # apply an expanded template -def applyTemplate(name, data, namespace="nuvolaris"): +def applyTemplate(name, data, namespace="openserverless"): obj = tpl.expand_template(name, data) return kubectl("apply", "-f", "-", namespace=namespace, input=obj) # delete an expanded template -def deleteTemplate(name, data, namespace="nuvolaris"): +def deleteTemplate(name, data, namespace="openserverless"): obj = tpl.expand_template(name, data) return kubectl("delete", "-f", "-", namespace=namespace, input=obj) -def get(name, namespace="nuvolaris"): +def get(name, namespace="openserverless"): try: return json.loads(kubectl("get", name, "-ojson", namespace=namespace)) except: return None -def get_pods(selector, namespace="nuvolaris"): +def get_pods(selector, namespace="openserverless"): """ filter the existing pods using the given selector expression. (ex name=mongodb-kubernetes-operator) """ @@ -146,27 +146,27 @@ def get_pods(selector, namespace="nuvolaris"): except: return None -def wait(name, condition, timeout="600s", namespace="nuvolaris"): +def wait(name, condition, timeout="600s", namespace="openserverless"): try: return kubectl("wait", name, f"--for={condition}", f"--timeout={timeout}",namespace=namespace) except: return None # patch an object -def patch(name, data, namespace="nuvolaris", tpe="merge"): +def patch(name, data, namespace="openserverless", tpe="merge"): if not type(data) == str: data = json.dumps(data) res = kubectl("patch", name, "--type", tpe, "-p", data) return res -def scale_sts(name, replicas, namespace="nuvolaris"): +def scale_sts(name, replicas, namespace="openserverless"): try: return kubectl("scale", name, f"--replicas={replicas}" ,namespace=namespace) except: return None # rollout the specified element. Normally used for DeamonSet or StatefulSet -def rollout(name, namespace="nuvolaris"): +def rollout(name, namespace="openserverless"): try: return kubectl("rollout", "restart", name, namespace=namespace) except: @@ -174,9 +174,9 @@ def rollout(name, namespace="nuvolaris"): def detect_kind(): try: - is_kind = kubectl("get","node/nuvolaris-control-plane", + is_kind = kubectl("get","node/openserverless-control-plane", namespace=None, - jsonpath='{.metadata.labels.nuvolaris\\.io/kube}') + jsonpath='{.metadata.labels.openserverless\\.io/kube}') return is_kind and "kind" in is_kind except: return False \ No newline at end of file diff --git a/nuvolaris/kustomize.py b/openserverless/kustomize.py similarity index 91% rename from nuvolaris/kustomize.py rename to openserverless/kustomize.py index 59435824..84f18346 100644 --- a/nuvolaris/kustomize.py +++ b/openserverless/kustomize.py @@ -18,9 +18,9 @@ # this module wraps generation of kustomizations import os, io, yaml, subprocess -import nuvolaris.kube as kube -import nuvolaris.kustomize as nku -import nuvolaris.template as ntp +import openserverless.kube as kube +import openserverless.kustomize as nku +import openserverless.template as ntp def _build(dir): res = subprocess.run(["kustomize", "build", dir], capture_output=True) @@ -38,8 +38,8 @@ def _build(dir): # it returns the expanded kustomization def kustomize(where, *what, templates=[], data={}): """Test kustomize - >>> import nuvolaris.kustomize as ku - >>> import nuvolaris.testutil as tu + >>> import openserverless.kustomize as ku + >>> import openserverless.testutil as tu >>> tu.grep(ku.kustomize("test", ku.image("nginx", "busybox")), "kind|image:", sort=True) - image: busybox kind: Pod @@ -79,7 +79,7 @@ def kustomize(where, *what, templates=[], data={}): # specified with `where` returning the expanded kustomization # it expects that the folder contains already a full kustomization # this methid will be used to extract the existing kustomization in case -# the nuvolaris operator needs to delete a component +# the openserverless operator needs to delete a component def build(where): dir = f"deploy/{where}" return _build(dir) @@ -94,8 +94,8 @@ def build(where): # it returns the expanded kustomization def restricted_kustomize(where, *what, templates=[], templates_filter=[],data={}): """Test kustomize - >>> import nuvolaris.kustomize as ku - >>> import nuvolaris.testutil as tu + >>> import openserverless.kustomize as ku + >>> import openserverless.testutil as tu >>> tu.grep(ku.restricted_kustomize("test", ku.image("nginx", "busybox"), templates_filter=["pod.yaml","svc.yaml"]), "kind|image:", sort=True) - image: busybox kind: Pod @@ -135,7 +135,7 @@ def restricted_kustomize(where, *what, templates=[], templates_filter=[],data={} # generate image kustomization def image(name, newName=None, newTag=None): """Test image - >>> import nuvolaris.kustomize as ku + >>> import openserverless.kustomize as ku >>> print(ku.image("busybox"), end='') images: - name: busybox @@ -161,11 +161,11 @@ def image(name, newName=None, newTag=None): # generate a configmap kustomization expanding a template def configMapTemplate(name, where, template, data): """ - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> print(configMapTemplate("test-cm", "test", "test.json", {"item":"value"}), end='') configMapGenerator: - name: test-cm - namespace: nuvolaris + namespace: openserverless files: - test.json=__test.json """ @@ -173,7 +173,7 @@ def configMapTemplate(name, where, template, data): file = ntp.spool_template(template, out, data) return f"""configMapGenerator: - name: {name} - namespace: nuvolaris + namespace: openserverless files: - {template}=__{template} """ @@ -181,7 +181,7 @@ def configMapTemplate(name, where, template, data): # generate a patch from a template def patchTemplate(where, template, data): """ - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> import os.path >>> data = {"name":"test-pod", "container":"test-pod", "dir":"/usr/share/nginx/html"} >>> print(patchTemplate("test", "set-attach.yaml", data), end='') @@ -199,7 +199,7 @@ def patchTemplate(where, template, data): # generate a patch from a list of templates def patchTemplates(where, templates=[], data={}): """ - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> import os.path >>> data = {"name":"test-pod", "container":"test-pod","dir":"/usr/share/nginx/html"} >>> print(patchTemplates("test", ["set-attach.yaml","cron-init.yaml"], data), end='') @@ -223,8 +223,8 @@ def patchTemplates(where, templates=[], data={}): def secretLiteral(name, *args): """ - >>> import nuvolaris.testutil as tu - >>> import nuvolaris.kustomize as ku + >>> import openserverless.testutil as tu + >>> import openserverless.kustomize as ku >>> tu.grep(ku.secretLiteral("test-sec", "user=mike", "pass=hello"), r"name:|user=|pass=") - name: test-sec - user=mike @@ -232,7 +232,7 @@ def secretLiteral(name, *args): """ res = f"""secretGenerator: - name: {name} - namespace: nuvolaris + namespace: openserverless literals: """ for arg in args: @@ -242,7 +242,7 @@ def secretLiteral(name, *args): # returns a list of kustomized objects def kustom_list(where, *what, templates=[], data={}): """ - >>> import nuvolaris.kustomize as nku + >>> import openserverless.kustomize as nku >>> where = "test" >>> what = [] >>> res = nku.kustom_list(where, *what) @@ -260,7 +260,7 @@ def kustom_list(where, *what, templates=[], data={}): # returns a list of kustomized objects restricting the deploy available templates to given ones def restricted_kustom_list(where, *what, templates=[], templates_filter=[], data={}): """ - >>> import nuvolaris.kustomize as nku + >>> import openserverless.kustomize as nku >>> where = "test" >>> what = [] >>> res = nku.restricted_kustom_list(where, *what,templates_filter=["pod.yaml","svc.yaml"]) @@ -308,7 +308,7 @@ def patchPersistentVolumeClaim(name, path, value): - target: version: v1 kind: PersistentVolumeClaim - namespace: nuvolaris + namespace: openserverless name: mongodb-data patch: |- - op: replace @@ -318,7 +318,7 @@ def patchPersistentVolumeClaim(name, path, value): return f"""- target: version: v1 kind: PersistentVolumeClaim - namespace: nuvolaris + namespace: openserverless name: {name} patch: |- - op: replace @@ -329,12 +329,12 @@ def patchPersistentVolumeClaim(name, path, value): # generate a generic customization def patchGenericEntry(kind, name, path, value, op="replace",apiVersion="v1"): """ - >>> print(patchGenericEntry("Secret","postgres-nuvolaris-secret", "/stringData/superUserPassword","xyz"), end='') + >>> print(patchGenericEntry("Secret","postgres-openserverless-secret", "/stringData/superUserPassword","xyz"), end='') - target: version: v1 kind: Secret - namespace: nuvolaris - name: postgres-nuvolaris-secret + namespace: openserverless + name: postgres-openserverless-secret patch: |- - op: replace path: /stringData/superUserPassword @@ -343,7 +343,7 @@ def patchGenericEntry(kind, name, path, value, op="replace",apiVersion="v1"): return f"""- target: version: {apiVersion} kind: {kind} - namespace: nuvolaris + namespace: openserverless name: {name} patch: |- - op: {op} diff --git a/nuvolaris/kvrocks.py b/openserverless/kvrocks.py similarity index 93% rename from nuvolaris/kvrocks.py rename to openserverless/kvrocks.py index d8302842..635b28e4 100644 --- a/nuvolaris/kvrocks.py +++ b/openserverless/kvrocks.py @@ -16,19 +16,19 @@ # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util -import nuvolaris.openwhisk as openwhisk +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util +import openserverless.openwhisk as openwhisk import urllib.parse import os, os.path import logging, json import kopf -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def _add_kvrocks_user_metadata(ucfg: UserConfig, user_metadata:UserMetadata): @@ -76,7 +76,7 @@ def create(owner=None): res = kube.apply(spec) wait_for_kvrocks_ready() - create_nuvolaris_db_user(data) + create_openserverless_db_user(data) logging.info(f"create kvrocks: {res}") return res @@ -85,12 +85,12 @@ def wait_for_kvrocks_ready(): # dynamically detect kvrocks pod and wait for readiness util.wait_for_pod_ready("{.items[?(@.metadata.labels.name == 'redis')].metadata.name}") -def restore_nuvolaris_db_user(): +def restore_openserverless_db_user(): data = util.get_redis_config_data() - create_nuvolaris_db_user(data) + create_openserverless_db_user(data) -def create_nuvolaris_db_user(data): - logging.info(f"authorizing kvrocks for namespace nuvolaris") +def create_openserverless_db_user(data): + logging.info(f"authorizing kvrocks for namespace openserverless") try: data['mode']="create" path_to_script = render_kvrocks_script(data['namespace'],"kvrocks_manage_user_tpl.txt",data) @@ -115,7 +115,7 @@ def create_nuvolaris_db_user(data): openwhisk.annotate(f"redis_port={redis_service_port}") openwhisk.annotate(f"redis_password={data['password']}") openwhisk.annotate(f"redis_provider=kvrocks") - logging.info("*** saved annotation for kvrocks nuvolaris user") + logging.info("*** saved annotation for kvrocks openserverless user") return res return None diff --git a/nuvolaris/main.py b/openserverless/main.py similarity index 90% rename from nuvolaris/main.py rename to openserverless/main.py index 44ccbe81..9e9c57ee 100644 --- a/nuvolaris/main.py +++ b/openserverless/main.py @@ -18,31 +18,31 @@ import kopf import logging import json, os, os.path -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.redis as redis -import nuvolaris.couchdb as couchdb -import nuvolaris.bucket as bucket -import nuvolaris.openwhisk as openwhisk -import nuvolaris.cronjob as cron -import nuvolaris.ferretdb as mongodb -import nuvolaris.issuer as issuer -import nuvolaris.endpoint as endpoint -import nuvolaris.minio_deploy as minio -import nuvolaris.zookeeper as zookeeper -import nuvolaris.kafka as kafka -import nuvolaris.invoker as invoker -import nuvolaris.patcher as patcher -import nuvolaris.storage_static as static -import nuvolaris.operator_util as operator_util -import nuvolaris.postgres_operator as postgres -import nuvolaris.runtimes_preloader as preloader -import nuvolaris.monitoring as monitoring -import nuvolaris.quota_checker_job as quota -import nuvolaris.etcd as etcd -import nuvolaris.milvus_standalone as milvus -import nuvolaris.registry_deploy as registry -import nuvolaris.seaweedfs_deploy as seaweedfs +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.redis as redis +import openserverless.couchdb as couchdb +import openserverless.bucket as bucket +import openserverless.openwhisk as openwhisk +import openserverless.cronjob as cron +import openserverless.ferretdb as mongodb +import openserverless.issuer as issuer +import openserverless.endpoint as endpoint +import openserverless.minio_deploy as minio +import openserverless.zookeeper as zookeeper +import openserverless.kafka as kafka +import openserverless.invoker as invoker +import openserverless.patcher as patcher +import openserverless.storage_static as static +import openserverless.operator_util as operator_util +import openserverless.postgres_operator as postgres +import openserverless.runtimes_preloader as preloader +import openserverless.monitoring as monitoring +import openserverless.quota_checker_job as quota +import openserverless.etcd as etcd +import openserverless.milvus_standalone as milvus +import openserverless.registry_deploy as registry +import openserverless.seaweedfs_deploy as seaweedfs @kopf.on.startup() def configure(settings: kopf.OperatorSettings, **_): @@ -72,7 +72,7 @@ def login(logger, **kwargs): return kopf.login_via_client(logger=logger, **kwargs) # tested by an integration test -@kopf.on.create('nuvolaris.org', 'v1', 'whisks') +@kopf.on.create('openserverless.org', 'v1', 'whisks') def whisk_create(spec, name, **kwargs): logging.info(f"*** whisk_create {name}") @@ -103,7 +103,7 @@ def whisk_create(spec, name, **kwargs): state['controller']= "NotValid" raise kopf.PermanentError("Storage support for MINIO and SEAWEEDFS could not be activated simultaneously.") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') logging.info(f"kubernetes engine in use={runtime}") if cfg.get('components.openwhisk'): @@ -314,9 +314,9 @@ def whisk_post_create(name, state): state['whisk-system']="error" # tested by an integration test -@kopf.on.delete('nuvolaris.org', 'v1', 'whisks') +@kopf.on.delete('openserverless.org', 'v1', 'whisks') def whisk_delete(spec, **kwargs): - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') logging.info("whisk_delete") if cfg.get("components.openwhisk"): @@ -410,7 +410,7 @@ def service_update(old, new, name, **kwargs): openwhisk.annotate(f"apihost={apihost}") cfg.put("config.apihost", apihost) -@kopf.on.update('nuvolaris.org', 'v1', 'whisks') +@kopf.on.update('openserverless.org', 'v1', 'whisks') def whisk_update(spec, status, namespace, diff, name, **kwargs): logging.info(f"*** detected an update of wsk/{name} under namespace {namespace}") @@ -419,7 +419,7 @@ def whisk_update(spec, status, namespace, diff, name, **kwargs): patcher.patch(diff, status, owner, name) -@kopf.on.resume('nuvolaris.org', 'v1', 'whisks') +@kopf.on.resume('openserverless.org', 'v1', 'whisks') def whisk_resume(spec, status, name, **kwargs): operator_util.config_from_spec(spec, handler_type="on_resume") operator_util.whisk_post_resume(name) diff --git a/nuvolaris/milvus_admin_client.py b/openserverless/milvus_admin_client.py similarity index 96% rename from nuvolaris/milvus_admin_client.py rename to openserverless/milvus_admin_client.py index 6de4063f..95fdb305 100644 --- a/nuvolaris/milvus_admin_client.py +++ b/openserverless/milvus_admin_client.py @@ -17,8 +17,8 @@ # import logging -import nuvolaris.config as cfg -from nuvolaris.milvus_simple_client import MilvusSimpleClient as MilvusClient +import openserverless.config as cfg +from openserverless.milvus_simple_client import MilvusSimpleClient as MilvusClient class MilvusAdminClient: @@ -27,7 +27,7 @@ class MilvusAdminClient: """ def __init__(self, db_name="default"): self.admin_username = cfg.get("milvus.admin.user", "MILVUS_ROOT_USER", "root") - self.milvus_api_host = cfg.get("milvus.host", "MILVUS_API_HOST", "nuvolaris-milvus") + self.milvus_api_host = cfg.get("milvus.host", "MILVUS_API_HOST", "openserverless-milvus") self.milvus_api_port = cfg.get("milvus.host", "MILVUS_API_PORT", "19530") self.admin_password = cfg.get("milvus.password.root", "MILVUS_ROOT_PASSWORD", "An0therPa55") self.milvus_url = f"http://{self.milvus_api_host}:{self.milvus_api_port}" diff --git a/nuvolaris/milvus_operator.py b/openserverless/milvus_operator.py similarity index 88% rename from nuvolaris/milvus_operator.py rename to openserverless/milvus_operator.py index 178d9fdd..e7275eeb 100644 --- a/nuvolaris/milvus_operator.py +++ b/openserverless/milvus_operator.py @@ -17,16 +17,16 @@ # import kopf, logging -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.operator_util as operator_util -import nuvolaris.minio_util as mutil -import nuvolaris.etcd as etcd +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.operator_util as operator_util +import openserverless.minio_util as mutil +import openserverless.etcd as etcd -from nuvolaris.opaque_secret import OpaqueSecret -from nuvolaris.minio_util import MinioClient +from openserverless.opaque_secret import OpaqueSecret +from openserverless.minio_util import MinioClient def create(owner=None): """ diff --git a/nuvolaris/milvus_simple_client.py b/openserverless/milvus_simple_client.py similarity index 100% rename from nuvolaris/milvus_simple_client.py rename to openserverless/milvus_simple_client.py diff --git a/nuvolaris/milvus_standalone.py b/openserverless/milvus_standalone.py similarity index 83% rename from nuvolaris/milvus_standalone.py rename to openserverless/milvus_standalone.py index cbe0e48d..f5632fb9 100644 --- a/nuvolaris/milvus_standalone.py +++ b/openserverless/milvus_standalone.py @@ -18,18 +18,18 @@ import time import kopf, logging -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.operator_util as operator_util -import nuvolaris.minio_util as mutil -import nuvolaris.openwhisk as openwhisk +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.operator_util as operator_util +import openserverless.minio_util as mutil +import openserverless.openwhisk as openwhisk -from nuvolaris.milvus_admin_client import MilvusAdminClient -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata -from nuvolaris.seaweedfs_util import SeaweedfsClient +from openserverless.milvus_admin_client import MilvusAdminClient +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata +from openserverless.seaweedfs_util import SeaweedfsClient def patchEntries(data: dict): @@ -46,36 +46,36 @@ def patchEntries(data: dict): tplp.append("affinity-tolerance-dep-core-attach.yaml") kust = kus.patchTemplates(src_folder, tplp, data) - kust += kus.patchGenericEntry("Secret", "nuvolaris-milvus-etcd-secret", "/data/username", + kust += kus.patchGenericEntry("Secret", "openserverless-milvus-etcd-secret", "/data/username", util.b64_encode(data['milvus_etcd_username'])) - kust += kus.patchGenericEntry("Secret", "nuvolaris-milvus-etcd-secret", "/data/password", + kust += kus.patchGenericEntry("Secret", "openserverless-milvus-etcd-secret", "/data/password", util.b64_encode(data['milvus_etcd_password'])) - kust += kus.patchGenericEntry("Secret", "nuvolaris-milvus-s3-secret", "/stringData/accesskey", + kust += kus.patchGenericEntry("Secret", "openserverless-milvus-s3-secret", "/stringData/accesskey", data['milvus_s3_username']) - kust += kus.patchGenericEntry("Secret", "nuvolaris-milvus-s3-secret", "/stringData/secretkey", + kust += kus.patchGenericEntry("Secret", "openserverless-milvus-s3-secret", "/stringData/secretkey", data['milvus_s3_password']) - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus", "/spec/storageClassName", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus", "/spec/storageClassName", data['storageClass']) - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus", "/spec/resources/requests/storage", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus", "/spec/resources/requests/storage", f"{data['size']}Gi") if not data["slim"]: - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-zookeeper", "/spec/storageClassName", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-zookeeper", "/spec/storageClassName", data['storageClass']) - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-zookeeper", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-zookeeper", "/spec/resources/requests/storage", f"{data['zookeeper_size']}Gi") - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-bookie-journal", "/spec/storageClassName", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-bookie-journal", "/spec/storageClassName", data['storageClass']) - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-bookie-journal", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-bookie-journal", "/spec/resources/requests/storage", f"{data['bookie_journal_size']}Gi") - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-bookie-ledgers", "/spec/storageClassName", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-bookie-ledgers", "/spec/storageClassName", data['storageClass']) - kust += kus.patchGenericEntry("PersistentVolumeClaim", "nuvolaris-milvus-bookie-ledgers", + kust += kus.patchGenericEntry("PersistentVolumeClaim", "openserverless-milvus-bookie-ledgers", "/spec/resources/requests/storage", f"{data['bookie_ledgers_size']}Gi") return kust @@ -103,9 +103,9 @@ def create(owner=None): kube.apply(mspec) util.wait_for_pod_ready( - r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'nuvolaris-milvus')].metadata.name}") + r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'openserverless-milvus')].metadata.name}") - milvus_api_host = cfg.get("milvus.host", "MILVUS_API_HOST", "nuvolaris-milvus") + milvus_api_host = cfg.get("milvus.host", "MILVUS_API_HOST", "openserverless-milvus") milvus_api_port = cfg.get("milvus.port", "MILVUS_API_PORT", "19530") logging.info("*** waiting for milvus api to be available") @@ -205,15 +205,15 @@ def delete_milvus_accounts(data: dict): def create_default_milvus_database(data): """ - Creates nuvolaris MILVUS custom resources + Creates openserverless MILVUS custom resources """ - logging.info("*** configuring MILVUS database for nuvolaris") + logging.info("*** configuring MILVUS database for openserverless") adminClient = MilvusAdminClient() - res = adminClient.setup_user("nuvolaris", data["nuvolaris_password"], "nuvolaris") + res = adminClient.setup_user("openserverless", data["openserverless_password"], "openserverless") if (res): _annotate_nuv_milvus_metadata(data) - logging.info("*** configured MILVUS database for nuvolaris") + logging.info("*** configured MILVUS database for openserverless") return True return False @@ -221,19 +221,19 @@ def create_default_milvus_database(data): def _annotate_nuv_milvus_metadata(data): """ - annotate nuvolaris configmap with entries for MILVUS connectivity MILVUS_HOST, MILVUS_PORT, MILVUS_TOKEN, MILVUS_DB_NAME + annotate openserverless configmap with entries for MILVUS connectivity MILVUS_HOST, MILVUS_PORT, MILVUS_TOKEN, MILVUS_DB_NAME this is becasue MINIO """ try: milvus_service = util.get_service( - r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'nuvolaris-milvus')]}") + r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'openserverless-milvus')]}") if (milvus_service): milvus_host = f"{milvus_service['metadata']['name']}.{milvus_service['metadata']['namespace']}.svc.cluster.local" - password = data["nuvolaris_password"] + password = data["openserverless_password"] openwhisk.annotate(f"milvus_host={milvus_host}") - openwhisk.annotate(f"milvus_token=nuvolaris:{password}") - openwhisk.annotate("milvus_db_name=nuvolaris") + openwhisk.annotate(f"milvus_token=openserverless:{password}") + openwhisk.annotate("milvus_db_name=openserverless") ports = list(milvus_service['spec']['ports']) for port in ports: @@ -241,7 +241,7 @@ def _annotate_nuv_milvus_metadata(data): openwhisk.annotate(f"milvus_port={port['port']}") return None except Exception as e: - logging.error(f"failed to annotate MILVUS for nuvolaris: {e}") + logging.error(f"failed to annotate MILVUS for openserverless: {e}") return None @@ -252,7 +252,7 @@ def _add_milvus_user_metadata(ucfg: UserConfig, user_metadata: UserMetadata): try: milvus_service = util.get_service( - r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'nuvolaris-milvus')]}") + r"{.items[?(@.metadata.labels.app\.kubernetes\.io\/instance == 'openserverless-milvus')]}") if (milvus_service): milvus_host = f"{milvus_service['metadata']['name']}.{milvus_service['metadata']['namespace']}.svc.cluster.local" diff --git a/nuvolaris/minio_deploy.py b/openserverless/minio_deploy.py similarity index 87% rename from nuvolaris/minio_deploy.py rename to openserverless/minio_deploy.py index 209db4ef..9e3216e3 100644 --- a/nuvolaris/minio_deploy.py +++ b/openserverless/minio_deploy.py @@ -16,18 +16,18 @@ # under the License. # import kopf, logging, time, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.minio_util as mutil -import nuvolaris.openwhisk as openwhisk -import nuvolaris.minio_ingress as minio_ingress -import nuvolaris.operator_util as operator_util - -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata -from nuvolaris.minio_util import MinioClient +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.minio_util as mutil +import openserverless.openwhisk as openwhisk +import openserverless.minio_ingress as minio_ingress +import openserverless.operator_util as operator_util + +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata +from openserverless.minio_util import MinioClient def _add_miniouser_metadata(ucfg: UserConfig, user_metadata:UserMetadata): """ @@ -94,7 +94,7 @@ def create(owner=None): def _annotate_nuv_metadata(data): """ - annotate nuvolaris configmap with entries for minio connectivity S3_ENDPOINT, S3_PORT, S3_ACCESS_KEY, S3_SECRET_KEY + annotate openserverless configmap with entries for minio connectivity S3_ENDPOINT, S3_PORT, S3_ACCESS_KEY, S3_SECRET_KEY this is becasue MINIO """ try: @@ -114,14 +114,14 @@ def _annotate_nuv_metadata(data): openwhisk.annotate(f"s3_port={port['port']}") return None except Exception as e: - logging.error(f"failed to build minio_host for nuvolaris: {e}") + logging.error(f"failed to build minio_host for openserverless: {e}") return None def create_nuv_storage(data): """ - Creates nuvolaris MINIO custom resources + Creates openserverless MINIO custom resources """ - logging.info(f"*** configuring MINIO storage for nuvolaris") + logging.info(f"*** configuring MINIO storage for openserverless") # introduce a 10 seconds delay to be sure that MINIO server is up and running completely as pod readines not to be enough time.sleep(10) minioClient = mutil.MinioClient() @@ -131,24 +131,24 @@ def create_nuv_storage(data): _annotate_nuv_metadata(data) bucket_policy_names = [] - logging.info("*** adding nuvolaris MINIO data bucket") - res = minioClient.make_bucket("nuvolaris-data") - bucket_policy_names.append("nuvolaris-data/*") + logging.info("*** adding openserverless MINIO data bucket") + res = minioClient.make_bucket("openserverless-data") + bucket_policy_names.append("openserverless-data/*") if(res): - openwhisk.annotate("s3_bucket_data=nuvolaris-data") + openwhisk.annotate("s3_bucket_data=openserverless-data") - logging.info("*** adding nuvolaris MINIO static public bucket") - res = minioClient.make_public_bucket("nuvolaris-web") - bucket_policy_names.append("nuvolaris-web/*") + logging.info("*** adding openserverless MINIO static public bucket") + res = minioClient.make_public_bucket("openserverless-web") + bucket_policy_names.append("openserverless-web/*") if(res): - openwhisk.annotate("s3_bucket_static=nuvolaris-web") + openwhisk.annotate("s3_bucket_static=openserverless-web") content_path = find_content_path("index.html") if(content_path): - logging.info(f"uploading example content to nuvolaris-web from {content_path}") - res = minioClient.upload_folder_content(content_path,"nuvolaris-web") + logging.info(f"uploading example content to openserverless-web from {content_path}") + res = minioClient.upload_folder_content(content_path,"openserverless-web") else: logging.warn("could not find example static content to upload") @@ -156,7 +156,7 @@ def create_nuv_storage(data): logging.info(f"granting rw access to created policies under username {data['minio_nuv_user']}") minioClient.assign_rw_bucket_policy_to_user(data["minio_nuv_user"],bucket_policy_names) - logging.info("*** configured MINIO storage for nuvolaris") + logging.info("*** configured MINIO storage for openserverless") def assign_bucket_quota(bucket_name, quota, minioClient:MinioClient): if not quota.lower() in ['auto'] and quota.isnumeric(): diff --git a/nuvolaris/minio_ingress.py b/openserverless/minio_ingress.py similarity index 86% rename from nuvolaris/minio_ingress.py rename to openserverless/minio_ingress.py index 68d40094..7317da1e 100644 --- a/nuvolaris/minio_ingress.py +++ b/openserverless/minio_ingress.py @@ -16,16 +16,16 @@ # under the License. # import kopf, logging, time, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.apihost_util as apihost_util -import nuvolaris.endpoint as endpoint -import nuvolaris.openwhisk as openwhisk +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.apihost_util as apihost_util +import openserverless.endpoint as endpoint +import openserverless.openwhisk as openwhisk -from nuvolaris.ingress_data import IngressData -from nuvolaris.route_data import RouteData +from openserverless.ingress_data import IngressData +from openserverless.route_data import RouteData def deploy_minio_route(apihost,namespace,type,service_name,port,context_path): """ @@ -83,7 +83,7 @@ def deploy_minio_ingress(apihost, namespace, type, service_name,port,context_pat def deploy_minio_upload_route(apihost,namespace, type): upload = RouteData(apihost) upload.with_route_name(endpoint.api_route_name(namespace,type)) - upload.with_service_name("nuvolaris-minio") + upload.with_service_name("openserverless-minio") upload.with_service_kind("Service") upload.with_service_port("9000") upload.with_context_path("/api/upload") @@ -102,7 +102,7 @@ def deploy_minio_upload_ingress(apihost, namespace, type): upload.with_context_path("/api/upload") upload.with_context_regexp("(/|$)(.*)") upload.with_rewrite_target("/$2") - upload.with_service_name("nuvolaris-minio") + upload.with_service_name("openserverless-minio") upload.with_service_port("9000") upload.with_middleware_ingress_name(endpoint.api_middleware_ingress_name(namespace,type)) @@ -124,9 +124,9 @@ def create_api_uploader_endpoint(runtime, apihost, owner=None): exposes MINIO api in the uploader-api ingress/route """ if runtime == 'openshift': - return deploy_minio_upload_route(apihost,"nuvolaris","minio-upload") + return deploy_minio_upload_route(apihost,"openserverless","minio-upload") else: - return deploy_minio_upload_ingress(apihost,"nuvolaris","minio-upload") + return deploy_minio_upload_ingress(apihost,"openserverless","minio-upload") def create_s3_ingress_endpoint(data, runtime, apihost, owner=None): @@ -134,9 +134,9 @@ def create_s3_ingress_endpoint(data, runtime, apihost, owner=None): exposes MINIO S3 api ingress ingress/route """ if runtime == 'openshift': - return deploy_minio_route(apihost,"nuvolaris","minio-s3","nuvolaris-minio","9000","/") + return deploy_minio_route(apihost,"openserverless","minio-s3","openserverless-minio","9000","/") else: - return deploy_minio_ingress(apihost,"nuvolaris","minio-s3","nuvolaris-minio","9000","/") + return deploy_minio_ingress(apihost,"openserverless","minio-s3","openserverless-minio","9000","/") def create_console_ingress_endpoint(data, runtime, apihost, owner=None): """ @@ -144,9 +144,9 @@ def create_console_ingress_endpoint(data, runtime, apihost, owner=None): """ if runtime == 'openshift': - return deploy_minio_route(apihost,"nuvolaris","minio-console","nuvolaris-minio","9090","/") + return deploy_minio_route(apihost,"openserverless","minio-console","openserverless-minio","9090","/") else: - return deploy_minio_ingress(apihost,"nuvolaris","minio-console","nuvolaris-minio","9090","/") + return deploy_minio_ingress(apihost,"openserverless","minio-console","openserverless-minio","9090","/") def get_minio_ingress_hostname(runtime, apihost_url, prefix, hostname_from_config): """ @@ -163,7 +163,7 @@ def create_minio_ingresses(data, owner=None): """ Creates all the MINIO related ingresses according to provide configuration """ - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') apihost_url = apihost_util.get_apihost(runtime) res = create_api_uploader_endpoint(runtime, apihost_url, owner) @@ -211,8 +211,8 @@ def delete_minio_ingress(runtime, namespace, ingress_class, type, owner=None): return None def delete_minio_ingresses(data, owner=None): - namespace = "nuvolaris" - runtime = cfg.get('nuvolaris.kube') + namespace = "openserverless" + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) res = delete_minio_ingress(runtime, namespace, ingress_class, "minio-upload", owner) diff --git a/nuvolaris/minio_util.py b/openserverless/minio_util.py similarity index 97% rename from nuvolaris/minio_util.py rename to openserverless/minio_util.py index 85cf6cf6..7cd242a7 100644 --- a/nuvolaris/minio_util.py +++ b/openserverless/minio_util.py @@ -21,22 +21,22 @@ import logging import json import subprocess -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util import os class MinioClient: def __init__(self): - self.minio_api_host = cfg.get("minio.host", "MINIO_API_HOST", "nuvolaris-minio") + self.minio_api_host = cfg.get("minio.host", "MINIO_API_HOST", "openserverless-minio") self.minio_api_port = cfg.get("9000", "MINIO_API_PORT", "9000") self.admin_username = cfg.get("minio.admin.user", "MINIO_ADMIN_USER", "minioadmin") self.admin_password = cfg.get("minio.admin.password", "MINIO_ADMIN_PASSWORD", "minioadmin") self.minio_api_url = f"http://{self.minio_api_host}:{self.minio_api_port}" self.alias = "local" - # automatically adds the local alias to mc configuration to operate on nuvolaris main MINIO server + # automatically adds the local alias to mc configuration to operate on openserverless main MINIO server self.mc("alias","set", self.alias, self.minio_api_url, self.admin_username, self.admin_password) # execute minio commands using the mc cli tools installed by default inside the operator diff --git a/nuvolaris/mongodb.py b/openserverless/mongodb.py similarity index 82% rename from nuvolaris/mongodb.py rename to openserverless/mongodb.py index 210a0085..a308e281 100644 --- a/nuvolaris/mongodb.py +++ b/openserverless/mongodb.py @@ -16,38 +16,38 @@ # under the License. # # -# Deploys mongodb for nuvolaris using operator or standalone +# Deploys mongodb for openserverless using operator or standalone # implementation. # # By default standalone configuration is used unless mongodb.useOperator is set to true # -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.mongodb_operator as operator -import nuvolaris.mongodb_standalone as standalone -import nuvolaris.kube as kube -import nuvolaris.template as ntp +import openserverless.config as cfg +import openserverless.util as util +import openserverless.mongodb_operator as operator +import openserverless.mongodb_standalone as standalone +import openserverless.kube as kube +import openserverless.template as ntp import logging, json import os import urllib.parse -import nuvolaris.openwhisk as openwhisk +import openserverless.openwhisk as openwhisk -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def get_mdb_pod_name(): useOperator = cfg.get('mongodb.useOperator') or False - pod_name_jsonpath = useOperator and "{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb-svc')].metadata.name}" or "{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}" + pod_name_jsonpath = useOperator and "{.items[?(@.metadata.labels.app == 'openserverless-mongodb-svc')].metadata.name}" or "{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}" return util.get_pod_name(pod_name_jsonpath) def _add_mdb_user_metadata(ucfg, user_metadata): """ adds an entry for the mongodb connectivity, i.e - something like "mongodb://{namespace}:{auth}@nuvolaris-mongodb-0.nuvolaris-mongodb-svc.nuvolaris.svc.cluster.local:27017/{database}?connectTimeoutMS=60000"} + something like "mongodb://{namespace}:{auth}@openserverless-mongodb-0.openserverless-mongodb-svc.openserverless.svc.cluster.local:27017/{database}?connectTimeoutMS=60000"} """ try: - mdb_service = util.get_service("{.items[?(@.metadata.name == 'nuvolaris-mongodb-svc')]}") + mdb_service = util.get_service("{.items[?(@.metadata.name == 'openserverless-mongodb-svc')]}") if(mdb_service): mdb_service_name = mdb_service['metadata']['name'] @@ -80,9 +80,9 @@ def create(owner=None): return res def update_system_cm_for_mdb(): - logging.info("*** annotating configuration for mongodb nuvolaris user") + logging.info("*** annotating configuration for mongodb openserverless user") try: - mdb_service = util.get_service("{.items[?(@.metadata.name == 'nuvolaris-mongodb-svc')]}") + mdb_service = util.get_service("{.items[?(@.metadata.name == 'openserverless-mongodb-svc')]}") if(mdb_service): mdb_pod_name = get_mdb_pod_name() mdb_service_name = mdb_service['metadata']['name'] @@ -90,15 +90,15 @@ def update_system_cm_for_mdb(): data = util.get_mongodb_config_data() - username = urllib.parse.quote(data['mongo_nuvolaris_user']) - password = urllib.parse.quote(data['mongo_nuvolaris_password']) + username = urllib.parse.quote(data['mongo_openserverless_user']) + password = urllib.parse.quote(data['mongo_openserverless_password']) auth = f"{username}:{password}" - mdb_url = f"mongodb://{auth}@{mdb_pod_name}.{mdb_service_name}.{mdb_ns}.svc.cluster.local:27017/nuvolaris?connectTimeoutMS=60000" + mdb_url = f"mongodb://{auth}@{mdb_pod_name}.{mdb_service_name}.{mdb_ns}.svc.cluster.local:27017/openserverless?connectTimeoutMS=60000" openwhisk.annotate(f"mongodb_url={mdb_url}") - logging.info("*** saved annotation for mongodb nuvolaris user") + logging.info("*** saved annotation for mongodb openserverless user") except Exception as e: - logging.error(f"failed to build mongodb_url for nuvolaris database: {e}") + logging.error(f"failed to build mongodb_url for openserverless database: {e}") def delete(owner=None): useOperator = cfg.get('mongodb.useOperator') or False @@ -146,7 +146,7 @@ def create_db_user(ucfg: UserConfig, user_metadata: UserMetadata): data["mode"]="create" path_to_mdb_script = render_mongodb_script(ucfg.get('namespace'),"mongodb_manage_user_tpl.js",data) - pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}") + pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}") if(pod_name): res = exec_mongosh_command(pod_name,path_to_mdb_script) @@ -172,7 +172,7 @@ def delete_db_user(namespace, database): data["mode"]="delete" path_to_mdb_script = render_mongodb_script(namespace,"mongodb_manage_user_tpl.js",data) - pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}") + pod_name = util.get_pod_name("{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}") if(pod_name): res = exec_mongosh_command(pod_name,path_to_mdb_script) diff --git a/nuvolaris/mongodb_operator.py b/openserverless/mongodb_operator.py similarity index 82% rename from nuvolaris/mongodb_operator.py rename to openserverless/mongodb_operator.py index 7abe5830..b49a3ebf 100644 --- a/nuvolaris/mongodb_operator.py +++ b/openserverless/mongodb_operator.py @@ -17,28 +17,28 @@ # # -# Containers can get the nuvolaris mongodb connection string -# deployed from the nuvolaris-operator using something similar to +# Containers can get the openserverless mongodb connection string +# deployed from the openserverless-operator using something similar to #containers: # - name: test-app # env: # - name: "CONNECTION_STRING" # valueFrom: # secretKeyRef: -# name: nuvolaris-mongodb-nuvolaris-nuvolaris +# name: openserverless-mongodb-openserverless-openserverless # key: connectionString.standardSrv # # WARNING connectionString.standardSrv it is normally a base64 endoded string # # Currently for development purposes it is possible to access mongodb by port forwarding -# kubectl -n nuvolaris port-forward service/nuvolaris-mongodb-svc 27017:27017 +# kubectl -n openserverless port-forward service/openserverless-mongodb-svc 27017:27017 # import kopf, json, time -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util import logging def get_operator_pod_name(): @@ -58,8 +58,8 @@ def create(owner=None): logging.info("*** creating mongodb-operator") admin_user = cfg.get('mongodb.admin.user') or "whisk_user" admin_pwd = cfg.get('mongodb.admin.password') or "0therPa55" - nuv_user = cfg.get('mongodb.nuvolaris.user') or "nuvolaris" - nuv_pwd = cfg.get('mongodb.nuvolaris.password') or "s0meP@ass3" + nuv_user = cfg.get('mongodb.openserverless.user') or "openserverless" + nuv_pwd = cfg.get('mongodb.openserverless.password') or "s0meP@ass3" exposed = cfg.get('mongodb.exposedExternally') or False data = util.get_mongodb_config_data() @@ -85,13 +85,13 @@ def create(owner=None): logging.info("*** creating a mongodb instance") - tpl_filter = ["mongodb-auth.yaml","mongodb-auth-nuvolaris.yaml","mongodb.yaml"] + tpl_filter = ["mongodb-auth.yaml","mongodb-auth-openserverless.yaml","mongodb.yaml"] if exposed: logging.info("*** including mongodb service for localhost access") tpl_filter.append("mongodb-svc.yaml") - mkust = kus.patchTemplates("mongodb-operator-deploy", ["mongodb-auth.yaml","mongodb-auth-nuvolaris.yaml","mongodb-config.yaml"], data) + mkust = kus.patchTemplates("mongodb-operator-deploy", ["mongodb-auth.yaml","mongodb-auth-openserverless.yaml","mongodb-config.yaml"], data) mspec = kus.restricted_kustom_list("mongodb-operator-deploy", mkust, templates=[],templates_filter=tpl_filter, data=data) if owner: @@ -101,7 +101,7 @@ def create(owner=None): res = kube.apply(mspec) # dynamically detect mongodb pod and wait for readiness - util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb-svc')].metadata.name}") + util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'openserverless-mongodb-svc')].metadata.name}") else: logging.info("*** something went wrong deploying mongodb operator") return res diff --git a/nuvolaris/mongodb_standalone.py b/openserverless/mongodb_standalone.py similarity index 92% rename from nuvolaris/mongodb_standalone.py rename to openserverless/mongodb_standalone.py index dceca893..b0589b42 100644 --- a/nuvolaris/mongodb_standalone.py +++ b/openserverless/mongodb_standalone.py @@ -20,10 +20,10 @@ # import kopf, json, time -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util import logging def create(owner=None): @@ -46,7 +46,7 @@ def create(owner=None): res = kube.apply(mspec) # dynamically detect mongodb pod and wait for readiness - util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'nuvolaris-mongodb')].metadata.name}") + util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'openserverless-mongodb')].metadata.name}") logging.info("*** created mongodb-standalone") return res diff --git a/nuvolaris/monitoring.py b/openserverless/monitoring.py similarity index 96% rename from nuvolaris/monitoring.py rename to openserverless/monitoring.py index 307d9ff3..5d820e4e 100644 --- a/nuvolaris/monitoring.py +++ b/openserverless/monitoring.py @@ -21,11 +21,11 @@ import kopf import json, time -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.enterprise_util as ent_util -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.enterprise_util as ent_util +import openserverless.util as util import logging def create(owner=None): diff --git a/nuvolaris/opaque_secret.py b/openserverless/opaque_secret.py similarity index 92% rename from nuvolaris/opaque_secret.py rename to openserverless/opaque_secret.py index 904a1050..f33d622f 100644 --- a/nuvolaris/opaque_secret.py +++ b/openserverless/opaque_secret.py @@ -17,13 +17,13 @@ # import json import logging -import nuvolaris.util as util -import nuvolaris.template as ntp +import openserverless.util as util +import openserverless.template as ntp class OpaqueSecret: _data = {} - def __init__(self, name: str, namespace="nuvolaris"): + def __init__(self, name: str, namespace="openserverless"): self._data = { "namespace":namespace, "name":name, diff --git a/nuvolaris/nuvolaris_metadata.py b/openserverless/openserverless_metadata.py similarity index 92% rename from nuvolaris/nuvolaris_metadata.py rename to openserverless/openserverless_metadata.py index 4685a5ad..8e6f4b76 100644 --- a/nuvolaris/nuvolaris_metadata.py +++ b/openserverless/openserverless_metadata.py @@ -19,20 +19,20 @@ import logging from datetime import datetime -import nuvolaris.bcrypt_util as bu -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.bcrypt_util as bu +import openserverless.config as cfg +import openserverless.util as util -class NuvolarisMetadata: +class OpenServerlessMetadata: _data = {} def __init__(self): - password = cfg.get('nuvolaris.password') or "nuvpassw0rd" + password = cfg.get('openserverless.password') or "nuvpassw0rd" salted_password = bu.hash_password(password) self._data = { - "login":"nuvolaris", + "login":"openserverless", "password":salted_password, "password_timestamp": datetime.now().isoformat(), "email":cfg.get('nuvolaris.email') or "nuvolaris@nuvolaris.io", @@ -44,7 +44,7 @@ def __init__(self): def _store_safely_from_cm(self,metadata_key,json_path): try: - value = util.get_value_from_config_map("nuvolaris", json_path) + value = util.get_value_from_config_map("openserverless", json_path) if value: self.add_metadata(metadata_key, value) except Exception as e: @@ -54,7 +54,7 @@ def _configure_from_cm(self): """ Populates the internal metadata starting from the cm/config map """ - self.add_metadata("AUTH", cfg.get('openwhisk.namespaces.nuvolaris')) + self.add_metadata("AUTH", cfg.get('openwhisk.namespaces.openserverless')) self._store_safely_from_cm("MONGODB_URL", '{.metadata.annotations.mongodb_url}') self._store_safely_from_cm("POSTGRES_DATABASE", '{.metadata.annotations.postgres_database}') self._store_safely_from_cm("POSTGRES_HOST", '{.metadata.annotations.postgres_host}') diff --git a/nuvolaris/openwhisk.py b/openserverless/openwhisk.py similarity index 85% rename from nuvolaris/openwhisk.py rename to openserverless/openwhisk.py index 1054d7e3..c2672870 100644 --- a/nuvolaris/openwhisk.py +++ b/openserverless/openwhisk.py @@ -16,11 +16,11 @@ # under the License. # import logging -import nuvolaris.config as cfg -import nuvolaris.openwhisk_standalone as standalone -import nuvolaris.openwhisk_enterprise as enterprise -import nuvolaris.kube as kube -from nuvolaris.util import nuv_retry +import openserverless.config as cfg +import openserverless.openwhisk_standalone as standalone +import openserverless.openwhisk_enterprise as enterprise +import openserverless.kube as kube +from openserverless.util import nuv_retry @nuv_retry() def annotate(keyval): diff --git a/nuvolaris/openwhisk_enterprise.py b/openserverless/openwhisk_enterprise.py similarity index 91% rename from nuvolaris/openwhisk_enterprise.py rename to openserverless/openwhisk_enterprise.py index 1c4d5744..0494b157 100644 --- a/nuvolaris/openwhisk_enterprise.py +++ b/openserverless/openwhisk_enterprise.py @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.enterprise_util as cfg_util -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.enterprise_util as cfg_util +import openserverless.util as util import os, os.path import logging import kopf diff --git a/nuvolaris/openwhisk_standalone.py b/openserverless/openwhisk_standalone.py similarity index 93% rename from nuvolaris/openwhisk_standalone.py rename to openserverless/openwhisk_standalone.py index 1d53d431..6aefcc3a 100644 --- a/nuvolaris/openwhisk_standalone.py +++ b/openserverless/openwhisk_standalone.py @@ -15,10 +15,10 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.util as util import os, os.path import logging import kopf diff --git a/nuvolaris/operator_util.py b/openserverless/operator_util.py similarity index 76% rename from nuvolaris/operator_util.py rename to openserverless/operator_util.py index 17a7d349..240a7896 100644 --- a/nuvolaris/operator_util.py +++ b/openserverless/operator_util.py @@ -16,24 +16,24 @@ # under the License. # import logging -import nuvolaris.openwhisk as openwhisk -import nuvolaris.kube as kube -import nuvolaris.userdb_util as userdb -import nuvolaris.config as cfg -import nuvolaris.util as ut -import nuvolaris.whisk_actions_deployer as system -import nuvolaris.redis as redis +import openserverless.openwhisk as openwhisk +import openserverless.kube as kube +import openserverless.userdb_util as userdb +import openserverless.config as cfg +import openserverless.util as ut +import openserverless.whisk_actions_deployer as system +import openserverless.redis as redis -from nuvolaris.nuvolaris_metadata import NuvolarisMetadata +from openserverless.openserverless_metadata import OpenServerlessMetadata def annotate_operator_components_version(): """ - This functions scans for pod matching the annotations whisks.nuvolaris.org/annotate-version: "true" + This functions scans for pod matching the annotations whisks.openserverless.org/annotate-version: "true" and uses pod metadata.labels.name and spec.containers.image to annotate the global config map cm/config """ try: - logging.info("**** annotating nuvolaris operator component versions") - pods = kube.kubectl("get","pods",jsonpath=r"{.items[?(@.metadata.annotations.whisks\.nuvolaris\.org\/annotate-version)]}",debugresult=False) + logging.info("**** annotating openserverless operator component versions") + pods = kube.kubectl("get","pods",jsonpath=r"{.items[?(@.metadata.annotations.whisks\.openserverless\.org\/annotate-version)]}",debugresult=False) for pod in pods: if(pod['metadata'].get('labels') and pod['metadata']['labels'].get('name')): @@ -43,32 +43,32 @@ def annotate_operator_components_version(): if(pod_name): openwhisk.annotate(f"{pod_name}_version={pod_image}") else: - logging.warn("**** found a pod with whisks.nuvolaris.org/annotate-version without metadata.labels.name attribute") + logging.warn("**** found a pod with whisks.openserverless.org/annotate-version without metadata.labels.name attribute") logging.warn(pod) - logging.info("**** completed annotation of nuvolaris operator component versions") + logging.info("**** completed annotation of openserverless operator component versions") except Exception as e: logging.error(e) -def update_nuvolaris_metadata(): +def update_openserverless_metadata(): try: - logging.info("**** persisting nuvolaris metadata") - nuv_metadata = NuvolarisMetadata() + logging.info("**** persisting openserverless metadata") + nuv_metadata = OpenServerlessMetadata() nuv_metadata.dump() - userdb.save_nuvolaris_metadata(nuv_metadata) - logging.info("**** nuvolaris metadata successfully persisted") + userdb.save_openserverless_metadata(nuv_metadata) + logging.info("**** openserverless metadata successfully persisted") except Exception as e: logging.error(e) def whisk_post_create(name): """ Executes a set of common operations after the operator terminated the deployment process. - - persists nuvolaris metadata into the internal couchdb + - persists openserverless metadata into the internal couchdb - annotate operator deployed components version - deploys system actions """ logging.info(f"*** whisk_post_create {name}") - update_nuvolaris_metadata() + update_openserverless_metadata() annotate_operator_components_version() if system.deploy_whisk_system_action(): openwhisk.annotate("system_action_status=created") @@ -81,14 +81,14 @@ def whisk_post_resume(name): """ Executes a set of common operations after the operator resumes, which is also the scenario triggered by a nuv update operator - - restore redis nuvolaris namespace if redis is active + - restore redis openserverless namespace if redis is active - annotate operator deployed components version - redeploys system actions """ logging.info(f"*** whisk_post_resume {name}") if cfg.get("components.redis"): - redis.restore_nuvolaris_db_user() + redis.restore_openserverless_db_user() annotate_operator_components_version() sysres = system.deploy_whisk_system_action() diff --git a/nuvolaris/patcher.py b/openserverless/patcher.py similarity index 84% rename from nuvolaris/patcher.py rename to openserverless/patcher.py index 2ccdc3f6..6b2d189d 100644 --- a/nuvolaris/patcher.py +++ b/openserverless/patcher.py @@ -16,27 +16,27 @@ # under the License. # import logging, time -import nuvolaris.openwhisk as openwhisk -import nuvolaris.ferretdb as mongodb -import nuvolaris.redis as redis -import nuvolaris.cronjob as cron -import nuvolaris.minio_deploy as minio -import nuvolaris.storage_static as static -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.util as util -import nuvolaris.kopf_util as kopf_util -import nuvolaris.postgres_operator as postgres -import nuvolaris.endpoint as endpoint -import nuvolaris.issuer as issuer -import nuvolaris.operator_util as operator_util -import nuvolaris.runtimes_preloader as preloader -import nuvolaris.invoker as invoker -import nuvolaris.quota_checker_job as quota -import nuvolaris.etcd as etcd -import nuvolaris.milvus_standalone as milvus -import nuvolaris.registry_deploy as registry -import nuvolaris.seaweedfs_deploy as seaweedfs +import openserverless.openwhisk as openwhisk +import openserverless.ferretdb as mongodb +import openserverless.redis as redis +import openserverless.cronjob as cron +import openserverless.minio_deploy as minio +import openserverless.storage_static as static +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.util as util +import openserverless.kopf_util as kopf_util +import openserverless.postgres_operator as postgres +import openserverless.endpoint as endpoint +import openserverless.issuer as issuer +import openserverless.operator_util as operator_util +import openserverless.runtimes_preloader as preloader +import openserverless.invoker as invoker +import openserverless.quota_checker_job as quota +import openserverless.etcd as etcd +import openserverless.milvus_standalone as milvus +import openserverless.registry_deploy as registry +import openserverless.seaweedfs_deploy as seaweedfs def patch_preloader(owner: None): try: @@ -46,7 +46,7 @@ def patch_preloader(owner: None): logging.info("*** handled request to patch openwhisk runtime preloader") except Exception as e: logging.error("*** failed to patch openwhisk runtime preloader",e) -import nuvolaris.invoker as invoker +import openserverless.invoker as invoker def redeploy_invoker(owner=None): try: @@ -109,7 +109,7 @@ def redeploy_whisk(owner=None): def patch(diff, status, owner=None, name=None): """ - Implements the patching logic of the nuvolaris operator by analyzing the kopf + Implements the patching logic of the openserverless operator by analyzing the kopf provided diff object to identify which components needs to be added/removed. """ logging.info(status) diff --git a/nuvolaris/policies/minio_rw_policy_tpl.json b/openserverless/policies/minio_rw_policy_tpl.json similarity index 100% rename from nuvolaris/policies/minio_rw_policy_tpl.json rename to openserverless/policies/minio_rw_policy_tpl.json diff --git a/nuvolaris/postgres_client.py b/openserverless/postgres_client.py similarity index 100% rename from nuvolaris/postgres_client.py rename to openserverless/postgres_client.py diff --git a/nuvolaris/postgres_operator.py b/openserverless/postgres_operator.py similarity index 84% rename from nuvolaris/postgres_operator.py rename to openserverless/postgres_operator.py index b11d245e..594a998b 100644 --- a/nuvolaris/postgres_operator.py +++ b/openserverless/postgres_operator.py @@ -17,17 +17,17 @@ # import kopf, json, time, logging, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.openwhisk as openwhisk -import nuvolaris.template as ntp +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.openwhisk as openwhisk +import openserverless.template as ntp import urllib.parse -import nuvolaris.operator_util as operator_util +import openserverless.operator_util as operator_util -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def create(owner=None): """ @@ -52,9 +52,9 @@ def create(owner=None): logging.info("*** creating a postgres instance") data = util.get_postgres_config_data() mkust = kus.patchTemplates("postgres-operator-deploy",templates=["postgres.yaml"], data=data) - mkust += kus.patchGenericEntry("Secret","postgres-nuvolaris-secret","/stringData/superUserPassword",data['postgres_root_password']) - mkust += kus.patchGenericEntry("Secret","postgres-nuvolaris-secret","/stringData/replicationUserPassword",data['postgres_root_replica_password']) - mkust += kus.patchGenericEntry("Secret","postgres-nuvolaris-secret","/stringData/nuvolarisUserPassword",data['postgres_nuvolaris_password']) + mkust += kus.patchGenericEntry("Secret","postgres-openserverless-secret","/stringData/superUserPassword",data['postgres_root_password']) + mkust += kus.patchGenericEntry("Secret","postgres-openserverless-secret","/stringData/replicationUserPassword",data['postgres_root_replica_password']) + mkust += kus.patchGenericEntry("Secret","postgres-openserverless-secret","/stringData/openserverlessUserPassword",data['postgres_openserverless_password']) mspec = kus.kustom_list("postgres-operator-deploy", mkust, templates=[],data={}) if owner: @@ -64,13 +64,13 @@ def create(owner=None): res += kube.apply(mspec) # dynamically detect postgres pod and wait for readiness - util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'nuvolaris-postgres')].metadata.name}") + util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'openserverless-postgres')].metadata.name}") if(res): util.wait_for_service("{.items[?(@.metadata.labels.replicationRole == 'primary')]}") if data['backup']: - logging.info("*** activating nuvolaris-postgres backup") + logging.info("*** activating openserverless-postgres backup") backup_data = util.get_postgres_backup_data() tplp = ["set-attach.yaml","postgres-backup-sts.yaml"] @@ -94,21 +94,21 @@ def create(owner=None): def update_system_cm_for_pdb(data): """" - Annotate the default ConfigMAp with default Nuvolaris user parameteres. The default user nuvolaris is setup by the Postgres setup script + Annotate the default ConfigMAp with default OpenServerless user parameteres. The default user openserverless is setup by the Postgres setup script therefore it is not explicitly created by this operator. """ - logging.info("*** annotating configuration for postgres nuvolaris user") + logging.info("*** annotating configuration for postgres openserverless user") try: - pdb_service = util.get_service_by_selector("app=nuvolaris-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") + pdb_service = util.get_service_by_selector("app=openserverless-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") if(pdb_service): pdb_service_name = pdb_service['metadata']['name'] pdb_ns = pdb_service['metadata']['namespace'] pdb_host = f"{pdb_service_name}.{pdb_ns}.svc.cluster.local" pdb_port = pdb_service['spec']['ports'][0]['port'] - username = "nuvolaris" - database = "nuvolaris" - password = urllib.parse.quote(data['postgres_nuvolaris_password']) + username = "openserverless" + database = "openserverless" + password = urllib.parse.quote(data['postgres_openserverless_password']) auth = f"{username}:{password}" pdb_url = f"postgresql://{auth}@{pdb_service_name}.{pdb_ns}.svc.cluster.local:{pdb_port}/{database}" @@ -119,22 +119,22 @@ def update_system_cm_for_pdb(data): openwhisk.annotate(f"postgres_password={password}") openwhisk.annotate(f"postgres_url={pdb_url}") - logging.info("*** saved annotation for postgres nuvolaris user") + logging.info("*** saved annotation for postgres openserverless user") except Exception as e: - logging.error(f"failed to build postgres data for nuvolaris database: {e}") + logging.error(f"failed to build postgres data for openserverless database: {e}") def get_base_postgres_url(data): try: - pdb_service = util.get_service_by_selector("app=nuvolaris-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") + pdb_service = util.get_service_by_selector("app=openserverless-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") if(pdb_service): pdb_service_name = pdb_service['metadata']['name'] pdb_ns = pdb_service['metadata']['namespace'] pdb_host = f"{pdb_service_name}.{pdb_ns}.svc.cluster.local" pdb_port = pdb_service['spec']['ports'][0]['port'] - username = "nuvolaris" - database = "nuvolaris" - password = urllib.parse.quote(data['postgres_nuvolaris_password']) + username = "openserverless" + database = "openserverless" + password = urllib.parse.quote(data['postgres_openserverless_password']) auth = f"{username}:{password}" return f"postgresql://{auth}@{pdb_service_name}.{pdb_ns}.svc.cluster.local:{pdb_port}" @@ -147,7 +147,7 @@ def _add_pdb_user_metadata(ucfg:UserConfig, user_metadata: UserMetadata): """ try: - pdb_service = util.get_service_by_selector("app=nuvolaris-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") + pdb_service = util.get_service_by_selector("app=openserverless-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')]}") if(pdb_service): pdb_service_name = pdb_service['metadata']['name'] @@ -213,7 +213,7 @@ def create_db_user(ucfg: UserConfig, user_metadata: UserMetadata): path_to_pgpass = render_postgres_script(ucfg.get('namespace'),"pgpass_tpl.properties",data) path_to_mdb_script = render_postgres_script(ucfg.get('namespace'),"postgres_manage_user_tpl.sql",data) - pod_name = util.get_pod_name_by_selector("app=nuvolaris-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") + pod_name = util.get_pod_name_by_selector("app=openserverless-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") if(pod_name): res = exec_psql_command(pod_name,path_to_mdb_script,path_to_pgpass) @@ -253,7 +253,7 @@ def delete_db_user(namespace, database): data["mode"]="delete" - pod_name = util.get_pod_name_by_selector("app=nuvolaris-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") + pod_name = util.get_pod_name_by_selector("app=openserverless-postgres","{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") if(pod_name): path_to_pgpass = render_postgres_script(namespace,"pgpass_tpl.properties",data) diff --git a/nuvolaris/quota_checker.py b/openserverless/quota_checker.py similarity index 93% rename from nuvolaris/quota_checker.py rename to openserverless/quota_checker.py index a09fd515..2a4ce95f 100644 --- a/nuvolaris/quota_checker.py +++ b/openserverless/quota_checker.py @@ -16,10 +16,10 @@ # under the License. # import logging, json, os -import nuvolaris.kube as kube +import openserverless.kube as kube -from nuvolaris.postgres_client import PostgresClient -from nuvolaris.redis_client import RedisClient +from openserverless.postgres_client import PostgresClient +from openserverless.redis_client import RedisClient FERRRET_DB_QUOTA_ANNOTATION = "ferret_db_quota_reached" POSTGRES_DB_QUOTA_ANNOTATION = "postgres_db_quota_reached" @@ -34,11 +34,11 @@ def annotate(wsku_name, keyval): """ kube.kubectl("annotate", f"wsku/{wsku_name}", keyval, "--overwrite") -def get_wsk_users(jsonpath,namespace="nuvolaris"): +def get_wsk_users(jsonpath,namespace="openserverless"): """ - Queries for nuvolaris wsku users matching the given jsonpath + Queries for openserverless wsku users matching the given jsonpath param: jsonpath - param: namespace (defaults to nuvolaris) + param: namespace (defaults to openserverless) return: an array of mathching record or emtpy [] if none is found """ logging.info(f"querying wsku entries matching {jsonpath}") @@ -71,7 +71,7 @@ def check_pg_quota(pg_client:PostgresClient, pg_dbsize_list, pg_wsku, check_ferr logging.info("***** Checking Postgres database limit ****") if len(pg_wsku) == 0: - logging.info("no nuvolaris wsku resource with PG based database quota limit found!") + logging.info("no openserverless wsku resource with PG based database quota limit found!") return for wsku in pg_wsku: @@ -138,7 +138,7 @@ def check_redis_quota(redis_client: RedisClient, redis_wsku): logging.info("***** Checking Redis Cache limit ****") if len(redis_wsku) == 0: - logging.info("no nuvolaris wsku resource with enforced REDIS quota limit found!") + logging.info("no openserverless wsku resource with enforced REDIS quota limit found!") return for wsku in redis_wsku: @@ -191,7 +191,7 @@ def start(): If the quota is exceeded, user will be set in readonly mode and no more write TX will be accepted. """ logging.basicConfig(level=logging.INFO) - logging.info("****** NUVOLARIS Quota enforcer started *****") + logging.info("****** OPENSERVERLESS Quota enforcer started *****") pg_client = PostgresClient(os.environ.get("DATABASE_DB_HOST_NAME"), 5432, @@ -211,5 +211,5 @@ def start(): redis_wsku = get_wsk_users("{.items[?(@.spec.redis.quota != 'auto')]}") check_redis_quota(redis_client, redis_wsku) - logging.info("****** NUVOLARIS Quota enforcer ended *****") + logging.info("****** OPENSERVERLESS Quota enforcer ended *****") diff --git a/nuvolaris/quota_checker_job.py b/openserverless/quota_checker_job.py similarity index 95% rename from nuvolaris/quota_checker_job.py rename to openserverless/quota_checker_job.py index d67c5526..ba2963c3 100644 --- a/nuvolaris/quota_checker_job.py +++ b/openserverless/quota_checker_job.py @@ -16,10 +16,10 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.operator_util as operator_util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.operator_util as operator_util def create(owner=None): logging.info("creating quota cheker scheduled job") diff --git a/nuvolaris/redis.py b/openserverless/redis.py similarity index 93% rename from nuvolaris/redis.py rename to openserverless/redis.py index fe514405..b957b45b 100644 --- a/nuvolaris/redis.py +++ b/openserverless/redis.py @@ -16,20 +16,20 @@ # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util -import nuvolaris.openwhisk as openwhisk +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util +import openserverless.openwhisk as openwhisk import urllib.parse import os, os.path import logging, json import kopf -import nuvolaris.operator_util as operator_util +import openserverless.operator_util as operator_util -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def _add_redis_user_metadata(ucfg: UserConfig, user_metadata:UserMetadata): @@ -81,7 +81,7 @@ def create(owner=None): res = kube.apply(spec) wait_for_redis_ready() - create_nuvolaris_db_user(data) + create_openserverless_db_user(data) logging.info(f"create redis: {res}") return res @@ -90,12 +90,12 @@ def wait_for_redis_ready(): # dynamically detect redis pod and wait for readiness util.wait_for_pod_ready("{.items[?(@.metadata.labels.name == 'redis')].metadata.name}") -def restore_nuvolaris_db_user(): +def restore_openserverless_db_user(): data = util.get_redis_config_data() - create_nuvolaris_db_user(data) + create_openserverless_db_user(data) -def create_nuvolaris_db_user(data): - logging.info(f"authorizing redis for namespace nuvolaris") +def create_openserverless_db_user(data): + logging.info(f"authorizing redis for namespace openserverless") try: data['mode']="create" path_to_script = render_redis_script(data['namespace'],"redis_manage_user_tpl.txt",data) @@ -121,7 +121,7 @@ def create_nuvolaris_db_user(data): openwhisk.annotate(f"redis_port={redis_service_port}") openwhisk.annotate(f"redis_password={data['password']}") openwhisk.annotate(f"redis_provider=valkey") - logging.info("*** saved annotation for redis nuvolaris user") + logging.info("*** saved annotation for redis openserverless user") return res return None diff --git a/nuvolaris/redis_client.py b/openserverless/redis_client.py similarity index 97% rename from nuvolaris/redis_client.py rename to openserverless/redis_client.py index 4850aad9..cc619576 100644 --- a/nuvolaris/redis_client.py +++ b/openserverless/redis_client.py @@ -17,10 +17,10 @@ # import logging, json, os -import nuvolaris.redis as redis -import nuvolaris.util as util -import nuvolaris.kube as kube -import nuvolaris.template as ntp +import openserverless.redis as redis +import openserverless.util as util +import openserverless.kube as kube +import openserverless.template as ntp class RedisClient: """ diff --git a/nuvolaris/registry_deploy.py b/openserverless/registry_deploy.py similarity index 86% rename from nuvolaris/registry_deploy.py rename to openserverless/registry_deploy.py index e9c13fe4..833fe76e 100644 --- a/nuvolaris/registry_deploy.py +++ b/openserverless/registry_deploy.py @@ -15,22 +15,22 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.kustomize as kus -import nuvolaris.kube as kube -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.kube as kube +import openserverless.config as cfg +import openserverless.util as util import logging import kopf import os -import nuvolaris.apihost_util as apihost_util -import nuvolaris.openwhisk as openwhisk -import nuvolaris.endpoint as endpoint -import nuvolaris.operator_util as operator_util +import openserverless.apihost_util as apihost_util +import openserverless.openwhisk as openwhisk +import openserverless.endpoint as endpoint +import openserverless.operator_util as operator_util -from nuvolaris.secret_htpasswd_data import SecretHtpasswordData -from nuvolaris.secret_imagepull_data import ImagePullSecretData -from nuvolaris.ingress_data import IngressData -from nuvolaris.route_data import RouteData +from openserverless.secret_htpasswd_data import SecretHtpasswordData +from openserverless.secret_imagepull_data import ImagePullSecretData +from openserverless.ingress_data import IngressData +from openserverless.route_data import RouteData def create_external_registry(data, owner=None): @@ -39,14 +39,14 @@ def create_external_registry(data, owner=None): #set the registry secret registrySecret = SecretHtpasswordData(data['registryUsername'],data['registryPassword']) registrySecret.with_secret_name("registry-auth-secret") - path_to_template_yaml = registrySecret.render_template("nuvolaris") + path_to_template_yaml = registrySecret.render_template("openserverless") res = kube.kubectl("apply", "-f",path_to_template_yaml) os.remove(path_to_template_yaml) #set the registry pull secret registryPullSecret = ImagePullSecretData(data['registryUsername'],data['registryPassword'],data['repoHostname']) registryPullSecret.with_secret_name("registry-pull-secret") - path_to_template_yaml = registryPullSecret.render_template("nuvolaris") + path_to_template_yaml = registryPullSecret.render_template("openserverless") res += kube.kubectl("apply", "-f",path_to_template_yaml) os.remove(path_to_template_yaml) @@ -107,7 +107,7 @@ def create(owner=None): def _annotate_registry_metadata(data): """ - annotate nuvolaris configmap with entries for registry connectivity REGISTRY_ENDPOINT, REGISTRY_USERNAME, RESIGTRY_PASSWORD + annotate openserverless configmap with entries for registry connectivity REGISTRY_ENDPOINT, REGISTRY_USERNAME, RESIGTRY_PASSWORD """ try: openwhisk.annotate(f"registry_host={data['repoHostname']}") @@ -120,7 +120,7 @@ def _annotate_registry_metadata(data): return None except Exception as e: - logging.error(f"failed to annotate registry_host for nuvolaris: {e}") + logging.error(f"failed to annotate registry_host for openserverless: {e}") return None # @@ -134,7 +134,7 @@ def assign_registry_hostname(data): data['repoHostname'] = data['repoSvcHostname'] return - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') repoUrl = apihost_util.append_prefix_to_url(apihost_util.get_apihost(runtime), "img") data['repoHostname'] = apihost_util.extract_hostname(repoUrl) data['repoUrl'] = repoUrl @@ -150,12 +150,12 @@ def create_registry_ingress(data, owner=None): """ Creates all the REGISTRY related ingresses according to provide configuration """ - if cfg.get('nuvolaris.kube') == 'openshift': + if cfg.get('openserverless.kube') == 'openshift': return deploy_registry_route(data) else: return deploy_registry_ingress(data) -def deploy_registry_route(data, namespace="nuvolaris"): +def deploy_registry_route(data, namespace="openserverless"): """ Deploys a generic REGISTRY route ingress param: data @@ -163,18 +163,18 @@ def deploy_registry_route(data, namespace="nuvolaris"): """ route = RouteData(data['repoUrl']) route.with_route_name(endpoint.api_route_name(namespace,"registry")) - route.with_service_name("nuvolaris-registry-svc") + route.with_service_name("openserverless-registry-svc") route.with_service_kind("Service") route.with_service_port("5000") route.with_context_path("/") - logging.info("*** configuring registry route for service nuvolaris-registry-svc:5000") + logging.info("*** configuring registry route for service openserverless-registry-svc:5000") path_to_template_yaml = route.render_template(namespace) res = kube.kubectl("apply", "-f",path_to_template_yaml) os.remove(path_to_template_yaml) return res -def deploy_registry_ingress(data, namespace="nuvolaris"): +def deploy_registry_ingress(data, namespace="openserverless"): """ Deploys a generic MINIO nginx/traefik ingress param: apihost @@ -188,7 +188,7 @@ def deploy_registry_ingress(data, namespace="nuvolaris"): ingress.with_ingress_name(endpoint.api_ingress_name(namespace, "registry")) ingress.with_secret_name(endpoint.ingress_secret_name(namespace, "registry")) ingress.with_context_path("/") - ingress.with_service_name("nuvolaris-registry-svc") + ingress.with_service_name("openserverless-registry-svc") ingress.with_service_port("5000") if ingress.requires_traefik_middleware(): @@ -204,12 +204,12 @@ def deploy_registry_ingress(data, namespace="nuvolaris"): return res -def delete_registry_ingress(owner=None, namespace="nuvolaris"): +def delete_registry_ingress(owner=None, namespace="openserverless"): """ undeploys ingresses for registry apihost """ logging.info("*** removing ingresses for REGISTRY") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) try: diff --git a/nuvolaris/route_data.py b/openserverless/route_data.py similarity index 91% rename from nuvolaris/route_data.py rename to openserverless/route_data.py index 7e6b0e84..a8b0fc06 100644 --- a/nuvolaris/route_data.py +++ b/openserverless/route_data.py @@ -18,18 +18,18 @@ import json import logging import os -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.kustomize as kus -import nuvolaris.time_util as tutil -import nuvolaris.template as ntp +import openserverless.config as cfg +import openserverless.util as util +import openserverless.kustomize as kus +import openserverless.time_util as tutil +import openserverless.template as ntp import urllib.parse class RouteData: _data = {} def __init__(self, apihost): - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') tls = cfg.get('components.tls') and not runtime=='kind' url = urllib.parse.urlparse(apihost) @@ -39,7 +39,7 @@ def __init__(self, apihost): "hostname":hostname, "tls":tls, "route_timeout_seconds":tutil.duration_in_second(util.get_controller_http_timeout()), - 'namespace':'nuvolaris' + 'namespace':'openserverless' } def dump(self): diff --git a/nuvolaris/runtimes_preloader.py b/openserverless/runtimes_preloader.py similarity index 87% rename from nuvolaris/runtimes_preloader.py rename to openserverless/runtimes_preloader.py index f0433ad8..84ef7384 100644 --- a/nuvolaris/runtimes_preloader.py +++ b/openserverless/runtimes_preloader.py @@ -16,19 +16,19 @@ # under the License. # import kopf, logging -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.runtimes_util as rutil +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.runtimes_util as rutil import json def create(owner=None): logging.info(f"*** configuring runtime preloader") config = cfg.getall() only_apache = config.get( - "nuvolaris.preload.only-apache", - config.get("nuvolaris.preloader.only_apache", True) + "openserverless.preload.only-apache", + config.get("openserverless.preloader.only_apache", True) ) runtimes_as_json = util.get_runtimes_json_from_config_map() diff --git a/nuvolaris/runtimes_util.py b/openserverless/runtimes_util.py similarity index 92% rename from nuvolaris/runtimes_util.py rename to openserverless/runtimes_util.py index fe6d5093..e0dab160 100644 --- a/nuvolaris/runtimes_util.py +++ b/openserverless/runtimes_util.py @@ -16,10 +16,10 @@ # under the License. # import kopf, logging, time, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util def find_default_container(containers: list, container_name, runtime_list, only_apache=True): """ Scans for the inner runtime list and add an entry into the containers for the default one if any @@ -44,7 +44,7 @@ def find_default_container(containers: list, container_name, runtime_list, only_ def parse_runtimes(runtimes_as_json, only_apache=True): """ parse an openwhisk runtimes json and returns a stuitable data structure to customize the preloader jon :param runtimes_as_json a runtime json typically extracted from a config map - >>> import nuvolaris.testutil as tutil + >>> import openserverless.testutil as tutil >>> runtimes_as_json = tutil.load_sample_runtimes() >>> data = parse_runtimes(runtimes_as_json) >>> len(data['containers']) == 5 diff --git a/nuvolaris/s3_bucket_policy.py b/openserverless/s3_bucket_policy.py similarity index 100% rename from nuvolaris/s3_bucket_policy.py rename to openserverless/s3_bucket_policy.py diff --git a/nuvolaris/s3_client.py b/openserverless/s3_client.py similarity index 99% rename from nuvolaris/s3_client.py rename to openserverless/s3_client.py index 39e58761..4a5f3755 100644 --- a/nuvolaris/s3_client.py +++ b/openserverless/s3_client.py @@ -29,7 +29,7 @@ from minio.error import S3Error from minio.commonconfig import CopySource -from nuvolaris.s3_bucket_policy import S3BucketPolicy +from openserverless.s3_bucket_policy import S3BucketPolicy class S3Client: diff --git a/nuvolaris/seaweedfs_deploy.py b/openserverless/seaweedfs_deploy.py similarity index 86% rename from nuvolaris/seaweedfs_deploy.py rename to openserverless/seaweedfs_deploy.py index 52a1c22c..4a598cda 100644 --- a/nuvolaris/seaweedfs_deploy.py +++ b/openserverless/seaweedfs_deploy.py @@ -16,17 +16,17 @@ # under the License. # import kopf, logging, time, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.openwhisk as openwhisk -import nuvolaris.seaweedfs_ingress as seaweedfs_ingress -import nuvolaris.operator_util as operator_util - -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata -from nuvolaris.seaweedfs_util import SeaweedfsClient +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.openwhisk as openwhisk +import openserverless.seaweedfs_ingress as seaweedfs_ingress +import openserverless.operator_util as operator_util + +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata +from openserverless.seaweedfs_util import SeaweedfsClient def _get_seaweedfs_service(): return util.get_service("{.items[?(@.spec.selector.app == 'seaweedfs')]}") @@ -94,7 +94,7 @@ def create(owner=None): def _annotate_nuv_metadata(data): """ - annotate nuvolaris configmap with entries for minio connectivity S3_ENDPOINT, S3_PORT, S3_ACCESS_KEY, S3_SECRET_KEY + annotate openserverless configmap with entries for minio connectivity S3_ENDPOINT, S3_PORT, S3_ACCESS_KEY, S3_SECRET_KEY this is becasue MINIO """ try: @@ -114,39 +114,39 @@ def _annotate_nuv_metadata(data): openwhisk.annotate(f"s3_port={port['port']}") return None except Exception as e: - logging.error(f"failed to build minio_host for nuvolaris: {e}") + logging.error(f"failed to build minio_host for openserverless: {e}") return None def create_seaweedfs_nuv_storage(data): """ - Creates nuvolaris SEAWEEDFS custom resources + Creates openserverless SEAWEEDFS custom resources """ - logging.info("*** configuring SEAWEEDFS storage for nuvolaris") + logging.info("*** configuring SEAWEEDFS storage for openserverless") seaweedsfsClient = SeaweedfsClient() - res = seaweedsfsClient.make_bucket("nuvolaris-data",data["default_bucket_quota"]) + res = seaweedsfsClient.make_bucket("openserverless-data",data["default_bucket_quota"]) if res: - openwhisk.annotate("s3_bucket_data=nuvolaris-data") + openwhisk.annotate("s3_bucket_data=openserverless-data") res = seaweedsfsClient.add_anonymous_access() - res = seaweedsfsClient.make_bucket("nuvolaris-web",data["default_bucket_quota"]) - res = seaweedsfsClient.make_public_bucket("nuvolaris-web") + res = seaweedsfsClient.make_bucket("openserverless-web",data["default_bucket_quota"]) + res = seaweedsfsClient.make_public_bucket("openserverless-web") if res: - openwhisk.annotate("s3_bucket_static=nuvolaris-web") + openwhisk.annotate("s3_bucket_static=openserverless-web") content_path = util.find_content_path("index.html") if(content_path): - logging.info(f"uploading example content to nuvolaris-web from {content_path}") - res = seaweedsfsClient.upload_folder_content(content_path,"nuvolaris-web") + logging.info(f"uploading example content to openserverless-web from {content_path}") + res = seaweedsfsClient.upload_folder_content(content_path,"openserverless-web") else: logging.warn("could not find example static content to upload") - res = seaweedsfsClient.add_user(data["seaweedfs_nuv_user"],data["seaweedfs_nuv_user"],data["seaweedfs_nuv_password"],"nuvolaris-web,nuvolaris-data") + res = seaweedsfsClient.add_user(data["seaweedfs_nuv_user"],data["seaweedfs_nuv_user"],data["seaweedfs_nuv_password"],"openserverless-web,openserverless-data") if(res): _annotate_nuv_metadata(data) - logging.info("*** configured SEAWEEDFS storage for nuvolaris") + logging.info("*** configured SEAWEEDFS storage for openserverless") def create_ow_storage(state, ucfg: UserConfig, user_metadata: UserMetadata, owner=None): seaweedfsClient = SeaweedfsClient() diff --git a/nuvolaris/seaweedfs_ingress.py b/openserverless/seaweedfs_ingress.py similarity index 86% rename from nuvolaris/seaweedfs_ingress.py rename to openserverless/seaweedfs_ingress.py index 81b40612..87c08619 100644 --- a/nuvolaris/seaweedfs_ingress.py +++ b/openserverless/seaweedfs_ingress.py @@ -16,16 +16,16 @@ # under the License. # import kopf, logging, time, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.apihost_util as apihost_util -import nuvolaris.endpoint as endpoint -import nuvolaris.openwhisk as openwhisk +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.apihost_util as apihost_util +import openserverless.endpoint as endpoint +import openserverless.openwhisk as openwhisk -from nuvolaris.ingress_data import IngressData -from nuvolaris.route_data import RouteData +from openserverless.ingress_data import IngressData +from openserverless.route_data import RouteData def deploy_seaweedfs_route(apihost,namespace,type,service_name,port,context_path): """ @@ -86,9 +86,9 @@ def create_s3_ingress_endpoint(data, runtime, apihost, owner=None): exposes SEAWEEDFS S3 api ingress ingress/route """ if runtime == 'openshift': - return deploy_seaweedfs_route(apihost,"nuvolaris","seaweedfs-s3","seaweedfs","9000","/") + return deploy_seaweedfs_route(apihost,"openserverless","seaweedfs-s3","seaweedfs","9000","/") else: - return deploy_seaweedfs_ingress(apihost,"nuvolaris","seaweedfs-s3","seaweedfs","9000","/") + return deploy_seaweedfs_ingress(apihost,"openserverless","seaweedfs-s3","seaweedfs","9000","/") def create_console_ingress_endpoint(data, runtime, apihost, owner=None): """ @@ -96,9 +96,9 @@ def create_console_ingress_endpoint(data, runtime, apihost, owner=None): """ if runtime == 'openshift': - return deploy_seaweedfs_route(apihost,"nuvolaris","seaweedfs-filer","seaweedfs","9090","/") + return deploy_seaweedfs_route(apihost,"openserverless","seaweedfs-filer","seaweedfs","9090","/") else: - return deploy_seaweedfs_ingress(apihost,"nuvolaris","seaweedfs-filer","seaweedfs","9090","/") + return deploy_seaweedfs_ingress(apihost,"openserverless","seaweedfs-filer","seaweedfs","9090","/") def get_seaweedfs_ingress_hostname(runtime, apihost_url, prefix, hostname_from_config): """ @@ -115,7 +115,7 @@ def create_seaweedfs_ingresses(data, owner=None): """ Creates all the SEAWEEDFS related ingresses according to provide configuration """ - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') apihost_url = apihost_util.get_apihost(runtime) res = "" @@ -159,8 +159,8 @@ def delete_seaweedfs_ingress(runtime, namespace, ingress_class, type, owner=None return None def delete_seaweedfs_ingresses(data, owner=None): - namespace = "nuvolaris" - runtime = cfg.get('nuvolaris.kube') + namespace = "openserverless" + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) res = "" diff --git a/nuvolaris/seaweedfs_util.py b/openserverless/seaweedfs_util.py similarity index 97% rename from nuvolaris/seaweedfs_util.py rename to openserverless/seaweedfs_util.py index 3c1aebc7..c532b554 100644 --- a/nuvolaris/seaweedfs_util.py +++ b/openserverless/seaweedfs_util.py @@ -20,11 +20,11 @@ import logging import re -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util import os -import nuvolaris.kube as kube +import openserverless.kube as kube from types import NoneType from typing import Optional diff --git a/nuvolaris/secret_htpasswd_data.py b/openserverless/secret_htpasswd_data.py similarity index 94% rename from nuvolaris/secret_htpasswd_data.py rename to openserverless/secret_htpasswd_data.py index 821aa14f..249ed927 100644 --- a/nuvolaris/secret_htpasswd_data.py +++ b/openserverless/secret_htpasswd_data.py @@ -18,9 +18,9 @@ import json import logging import os -import nuvolaris.kustomize as kus -import nuvolaris.template as ntp -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.template as ntp +import openserverless.util as util import bcrypt import base64 @@ -29,7 +29,7 @@ class SecretHtpasswordData: def __init__(self, username, password): self._data = { "htpasswd":self.generate_htpasswd(username, password), - 'namespace':'nuvolaris' + 'namespace':'openserverless' } def generate_htpasswd_lines(self, username: str, password: str): diff --git a/nuvolaris/secret_imagepull_data.py b/openserverless/secret_imagepull_data.py similarity index 95% rename from nuvolaris/secret_imagepull_data.py rename to openserverless/secret_imagepull_data.py index 03e9d137..91bf0b13 100644 --- a/nuvolaris/secret_imagepull_data.py +++ b/openserverless/secret_imagepull_data.py @@ -18,9 +18,9 @@ import json import logging import os -import nuvolaris.kustomize as kus -import nuvolaris.template as ntp -import nuvolaris.util as util +import openserverless.kustomize as kus +import openserverless.template as ntp +import openserverless.util as util import base64 class ImagePullSecretData: @@ -28,7 +28,7 @@ class ImagePullSecretData: def __init__(self, username, password, registry): self._data = { "dockerauths":self.generate_docker_auths(username, password,registry), - 'namespace':'nuvolaris' + 'namespace':'openserverless' } def generate_docker_config(self, username: str, password: str, registry: str): diff --git a/nuvolaris/storage_static.py b/openserverless/storage_static.py similarity index 79% rename from nuvolaris/storage_static.py rename to openserverless/storage_static.py index c6be2c2e..7b4b02e8 100644 --- a/nuvolaris/storage_static.py +++ b/openserverless/storage_static.py @@ -16,21 +16,21 @@ # under the License. # import kopf, logging, json, os -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.apihost_util as apihost_util -import nuvolaris.operator_util as operator_util - -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata -from nuvolaris.ingress_data import IngressData -from nuvolaris.route_data import RouteData +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.util as util +import openserverless.apihost_util as apihost_util +import openserverless.operator_util as operator_util + +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata +from openserverless.ingress_data import IngressData +from openserverless.route_data import RouteData def create(owner=None): - logging.info("*** configuring nuvolaris nginx static provider") - runtime = cfg.get('nuvolaris.kube') + logging.info("*** configuring openserverless nginx static provider") + runtime = cfg.get('openserverless.kube') data = util.get_storage_static_config_data() data['storage_hostname'] = apihost_util.extract_hostname(data['storage_url']) @@ -52,14 +52,14 @@ def create(owner=None): res = kube.apply(spec) # dynamically detect nginx pod and wait for readiness - util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'nuvolaris-static')].metadata.name}") + util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'openserverless-static')].metadata.name}") create_nuv_static_ingress(runtime, owner) - logging.info("*** configured nuvolaris nginx static provider") + logging.info("*** configured openserverless nginx static provider") return res def create_nuv_static_ingress(runtime, owner=None): """" - Deploys the static ingresses for the nuvolaris user + Deploys the static ingresses for the openserverless user """ apihost_url = apihost_util.get_apihost(runtime) hostname = apihost_util.extract_hostname(apihost_url) @@ -67,18 +67,18 @@ def create_nuv_static_ingress(runtime, owner=None): bucket_name = util.get_value_from_config_map(path='{.metadata.annotations.s3_bucket_static}') if runtime == 'openshift': - res = deploy_content_route_template("nuvolaris",bucket_name, apihost_url) + res = deploy_content_route_template("openserverless",bucket_name, apihost_url) if should_create_www: - res += deploy_content_route_template("www-nuvolaris",bucket_name,apihost_util.append_prefix_to_url(apihost_url,"www")) + res += deploy_content_route_template("www-openserverless",bucket_name,apihost_util.append_prefix_to_url(apihost_url,"www")) return res else: - res = deploy_content_ingress_template("nuvolaris",bucket_name,apihost_url) + res = deploy_content_ingress_template("openserverless",bucket_name,apihost_url) if should_create_www: - res += deploy_content_ingress_template("www-nuvolaris",bucket_name,apihost_util.append_prefix_to_url(apihost_url,"www")) + res += deploy_content_ingress_template("www-openserverless",bucket_name,apihost_util.append_prefix_to_url(apihost_url,"www")) return res def static_ingress_name(namespace, default="apihost"): - return namespace == "nuvolaris" and f"{default}-static-ingress" or f"{namespace}-static-ingress" + return namespace == "openserverless" and f"{default}-static-ingress" or f"{namespace}-static-ingress" def static_route_name(namespace): return f"{namespace}-static-route" @@ -95,7 +95,7 @@ def deploy_content_route_template(namespace, bucket, url): content = RouteData(url) content.with_route_name(static_route_name(namespace)) content.with_needs_rewrite(True) - content.with_service_name("nuvolaris-static-svc") + content.with_service_name("openserverless-static-svc") content.with_service_kind("Service") content.with_service_port("8080") content.with_context_path("/") @@ -116,7 +116,7 @@ def deploy_content_ingress_template(namespace, bucket, url): content.with_context_path("/") content.with_context_regexp("(.*)") content.with_prefix_target(f"/{bucket}") - content.with_service_name("nuvolaris-static-svc") + content.with_service_name("openserverless-static-svc") content.with_service_port("8080") content.with_middleware_ingress_name(static_middleware_ingress_name(namespace)) @@ -138,7 +138,7 @@ def create_ow_static_endpoint(ucfg: UserConfig, user_metadata: UserMetadata, own """ deploy an ingress to access a generic user web bucket """ - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') namespace = ucfg.get("namespace") apihost = ucfg.get("apihost") or "auto" bucket_name = ucfg.get('S3_BUCKET_STATIC') @@ -163,9 +163,9 @@ def delete_ow_static_endpoint(ucfg): undeploy an ingress exposing a generic user web bucket """ namespace = ucfg.get("namespace") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') logging.info(f"*** removing static endpoint for {namespace}") - runtime = cfg.get('nuvolaris.kube') + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) try: @@ -189,7 +189,7 @@ def delete_ow_static_endpoint(ucfg): def delete_by_owner(): spec = kus.build("nginx-static") res = kube.delete(spec) - logging.info(f"delete nuvolaris nginx static provider: {res}") + logging.info(f"delete openserverless nginx static provider: {res}") return res def delete_by_spec(): @@ -197,12 +197,12 @@ def delete_by_spec(): res = False if spec: res = kube.delete(spec) - logging.info(f"delete nuvolaris nginx static provider: {res}") + logging.info(f"delete openserverless nginx static provider: {res}") return res def delete_nuv_ingresses(): - logging.info("*** deleting nuvolaris static ingresses") - runtime = cfg.get('nuvolaris.kube') + logging.info("*** deleting openserverless static ingresses") + runtime = cfg.get('openserverless.kube') ingress_class = util.get_ingress_class(runtime) apihost_url = apihost_util.get_apihost(runtime) hostname = apihost_util.extract_hostname(apihost_url) @@ -211,27 +211,27 @@ def delete_nuv_ingresses(): try: res = "" if(runtime=='openshift'): - route_name = static_route_name("nuvolaris") + route_name = static_route_name("openserverless") res = kube.kubectl("delete", "route",route_name) if should_delete_www: - route_name = static_route_name("www-nuvolaris") + route_name = static_route_name("www-openserverless") res += kube.kubectl("delete", "route",route_name) return res if(ingress_class == 'traefik'): - middleware_name = static_middleware_ingress_name("nuvolaris") + middleware_name = static_middleware_ingress_name("openserverless") res += kube.kubectl("delete", util.get_traefik_middleware_resource(),middleware_name) if should_delete_www: - middleware_name = static_middleware_ingress_name("www-nuvolaris") + middleware_name = static_middleware_ingress_name("www-openserverless") res += kube.kubectl("delete", util.get_traefik_middleware_resource(),middleware_name) - ingress_name = static_ingress_name("nuvolaris") + ingress_name = static_ingress_name("openserverless") res += kube.kubectl("delete", "ingress",ingress_name) if should_delete_www: - ingress_name = static_ingress_name("www-nuvolaris") + ingress_name = static_ingress_name("www-openserverless") res += kube.kubectl("delete", "ingress",ingress_name) return res diff --git a/nuvolaris/template.py b/openserverless/template.py similarity index 95% rename from nuvolaris/template.py rename to openserverless/template.py index 77373d18..11a1edd7 100644 --- a/nuvolaris/template.py +++ b/openserverless/template.py @@ -18,7 +18,7 @@ import os, re from jinja2 import Environment, FileSystemLoader -loader = FileSystemLoader(["./nuvolaris/templates", "./nuvolaris/files", "./nuvolaris/policies"]) +loader = FileSystemLoader(["./openserverless/templates", "./openserverless/files", "./openserverless/policies"]) env = Environment(loader=loader) # expand template @@ -36,7 +36,7 @@ def expand_template(template, data): # expond template and save in a file def spool_template(template, file, data): """ - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> tu.grep(tu.fread(spool_template("test.json", "/tmp/test.json", {"item": "hi"})), r"value") "value": "hi" """ diff --git a/nuvolaris/templates/00-minio-pvc.yaml b/openserverless/templates/00-minio-pvc.yaml similarity index 97% rename from nuvolaris/templates/00-minio-pvc.yaml rename to openserverless/templates/00-minio-pvc.yaml index 4aa1eb86..1dcd0e85 100644 --- a/nuvolaris/templates/00-minio-pvc.yaml +++ b/openserverless/templates/00-minio-pvc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: minio-pv-claim - namespace: nuvolaris + namespace: openserverless labels: app: minio-storage-claim spec: diff --git a/nuvolaris/templates/01-minio-dep.yaml b/openserverless/templates/01-minio-dep.yaml similarity index 98% rename from nuvolaris/templates/01-minio-dep.yaml rename to openserverless/templates/01-minio-dep.yaml index cc0487d6..401fca11 100644 --- a/nuvolaris/templates/01-minio-dep.yaml +++ b/openserverless/templates/01-minio-dep.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and befor kind: Deployment metadata: name: minio-deployment - namespace: nuvolaris + namespace: openserverless spec: selector: matchLabels: diff --git a/nuvolaris/templates/02-minio-svc.yaml b/openserverless/templates/02-minio-svc.yaml similarity index 100% rename from nuvolaris/templates/02-minio-svc.yaml rename to openserverless/templates/02-minio-svc.yaml diff --git a/nuvolaris/templates/affinity-tolerance-dep-core-attach.yaml b/openserverless/templates/affinity-tolerance-dep-core-attach.yaml similarity index 93% rename from nuvolaris/templates/affinity-tolerance-dep-core-attach.yaml rename to openserverless/templates/affinity-tolerance-dep-core-attach.yaml index 2104b6a2..c15e9368 100644 --- a/nuvolaris/templates/affinity-tolerance-dep-core-attach.yaml +++ b/openserverless/templates/affinity-tolerance-dep-core-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: @@ -31,14 +31,14 @@ spec: - weight: 100 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: NotIn values: - {{affinity_invoker_node_label}} - weight: 80 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: In values: - {{affinity_core_node_label}} @@ -55,7 +55,7 @@ spec: {% endif %} tolerations: {% if tolerations %} - - key: "nuvolaris-role" + - key: "openserverless-role" operator: "Equal" value: {{toleration_role}} effect: "NoSchedule" diff --git a/nuvolaris/templates/affinity-tolerance-sts-core-attach.yaml b/openserverless/templates/affinity-tolerance-sts-core-attach.yaml similarity index 93% rename from nuvolaris/templates/affinity-tolerance-sts-core-attach.yaml rename to openserverless/templates/affinity-tolerance-sts-core-attach.yaml index 185fa8f3..c8ba765e 100644 --- a/nuvolaris/templates/affinity-tolerance-sts-core-attach.yaml +++ b/openserverless/templates/affinity-tolerance-sts-core-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: @@ -31,14 +31,14 @@ spec: - weight: 100 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: NotIn values: - {{affinity_invoker_node_label}} - weight: 80 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: In values: - {{affinity_core_node_label}} @@ -55,7 +55,7 @@ spec: {% endif %} tolerations: {% if tolerations %} - - key: "nuvolaris-role" + - key: "openserverless-role" operator: "Equal" value: {{toleration_role}} effect: "NoSchedule" diff --git a/nuvolaris/templates/affinity-tolerance-sts-invoker-attach.yaml b/openserverless/templates/affinity-tolerance-sts-invoker-attach.yaml similarity index 89% rename from nuvolaris/templates/affinity-tolerance-sts-invoker-attach.yaml rename to openserverless/templates/affinity-tolerance-sts-invoker-attach.yaml index b81fda7e..afcd91ab 100644 --- a/nuvolaris/templates/affinity-tolerance-sts-invoker-attach.yaml +++ b/openserverless/templates/affinity-tolerance-sts-invoker-attach.yaml @@ -19,18 +19,18 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: affinity: {% if affinity %} - # run only on nodes labeled with nuvolaris-role={{affinity_invoker_node_label}} + # run only on nodes labeled with openserverless-role={{affinity_invoker_node_label}} nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: In values: - {{affinity_invoker_node_label}} @@ -47,7 +47,7 @@ spec: {% endif %} tolerations: {% if tolerations %} - - key: "nuvolaris-role" + - key: "openserverless-role" operator: "Equal" value: {{toleration_role}} effect: "NoSchedule" diff --git a/nuvolaris/templates/alert-manager-02-cm.yaml b/openserverless/templates/alert-manager-02-cm.yaml similarity index 93% rename from nuvolaris/templates/alert-manager-02-cm.yaml rename to openserverless/templates/alert-manager-02-cm.yaml index 298b4c2e..3f694d42 100644 --- a/nuvolaris/templates/alert-manager-02-cm.yaml +++ b/openserverless/templates/alert-manager-02-cm.yaml @@ -19,13 +19,13 @@ apiVersion: v1 kind: ConfigMap metadata: annotations: - meta.helm.sh/release-name: nuvolaris-prometheus - meta.helm.sh/release-namespace: nuvolaris + meta.helm.sh/release-name: openserverless-prometheus + meta.helm.sh/release-namespace: openserverless labels: - app.kubernetes.io/instance: nuvolaris-prometheus + app.kubernetes.io/instance: openserverless-prometheus app.kubernetes.io/name: alertmanager - name: nuvolaris-prometheus-alertmanager - namespace: nuvolaris + name: openserverless-prometheus-alertmanager + namespace: openserverless data: alertmanager.yml: | global: diff --git a/nuvolaris/templates/cluster-issuer.yaml b/openserverless/templates/cluster-issuer.yaml similarity index 96% rename from nuvolaris/templates/cluster-issuer.yaml rename to openserverless/templates/cluster-issuer.yaml index b900b712..c0a868cb 100644 --- a/nuvolaris/templates/cluster-issuer.yaml +++ b/openserverless/templates/cluster-issuer.yaml @@ -28,7 +28,7 @@ spec: email: "{{acme_registered_email}}" # Name of a secret used to store the ACME account private key privateKeySecretRef: - name: nuvolaris-letsencrypt-secret + name: openserverless-letsencrypt-secret # Enable the HTTP-01 challenge provider solvers: - http01: diff --git a/nuvolaris/templates/content.html b/openserverless/templates/content.html similarity index 100% rename from nuvolaris/templates/content.html rename to openserverless/templates/content.html diff --git a/nuvolaris/templates/cosi-obc-tpl.yaml b/openserverless/templates/cosi-obc-tpl.yaml similarity index 97% rename from nuvolaris/templates/cosi-obc-tpl.yaml rename to openserverless/templates/cosi-obc-tpl.yaml index c14568ae..92c167cf 100644 --- a/nuvolaris/templates/cosi-obc-tpl.yaml +++ b/openserverless/templates/cosi-obc-tpl.yaml @@ -19,7 +19,7 @@ apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: {{bucket_name}} - namespace: nuvolaris + namespace: openserverless spec: generateBucketName: {{bucket_name}} storageClassName: {{bucket_storageclass}} diff --git a/nuvolaris/templates/cosi-user-tpl.yaml b/openserverless/templates/cosi-user-tpl.yaml similarity index 97% rename from nuvolaris/templates/cosi-user-tpl.yaml rename to openserverless/templates/cosi-user-tpl.yaml index 7717751e..00f5de05 100644 --- a/nuvolaris/templates/cosi-user-tpl.yaml +++ b/openserverless/templates/cosi-user-tpl.yaml @@ -19,7 +19,7 @@ apiVersion: ceph.rook.io/v1 kind: CephObjectStoreUser metadata: name: {{username}} - namespace: nuvolaris + namespace: openserverless spec: store: {{object_store_name}} clusterNamespace: {{cluster_namespace}} diff --git a/nuvolaris/templates/couchdb-init.yaml b/openserverless/templates/couchdb-init.yaml similarity index 88% rename from nuvolaris/templates/couchdb-init.yaml rename to openserverless/templates/couchdb-init.yaml index 8db586c2..19e6d7dd 100644 --- a/nuvolaris/templates/couchdb-init.yaml +++ b/openserverless/templates/couchdb-init.yaml @@ -19,20 +19,20 @@ apiVersion: batch/v1 kind: Job metadata: name: couchdb-init - namespace: nuvolaris + namespace: openserverless spec: backoffLimit: 3 template: metadata: name: couchdb-init - namespace: nuvolaris + namespace: openserverless labels: job: couchdb-init name: couchdb-init annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: - serviceAccount: nuvolaris-operator + serviceAccount: openserverless-operator restartPolicy: Never initContainers: - name: check-couchdb @@ -44,6 +44,6 @@ spec: imagePullPolicy: "IfNotPresent" command: ["./dbinit.sh"] env: - - name: "NUVOLARIS_CONFIG" + - name: "OPENSERVERLESS_CONFIG" value: > {{config}} diff --git a/nuvolaris/templates/couchdb-set-tpl.yaml b/openserverless/templates/couchdb-set-tpl.yaml similarity index 96% rename from nuvolaris/templates/couchdb-set-tpl.yaml rename to openserverless/templates/couchdb-set-tpl.yaml index b7b1dc49..7c2f2e02 100644 --- a/nuvolaris/templates/couchdb-set-tpl.yaml +++ b/openserverless/templates/couchdb-set-tpl.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - namespace: nuvolaris + namespace: openserverless name: {{name}} labels: name: {{name}} @@ -42,7 +42,7 @@ spec: index: "{{index}}" replicationRole: primary annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always containers: diff --git a/nuvolaris/templates/cron-init.yaml b/openserverless/templates/cron-init.yaml similarity index 97% rename from nuvolaris/templates/cron-init.yaml rename to openserverless/templates/cron-init.yaml index 2ca6c392..2090e11c 100644 --- a/nuvolaris/templates/cron-init.yaml +++ b/openserverless/templates/cron-init.yaml @@ -19,7 +19,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: cron-init - namespace: nuvolaris + namespace: openserverless spec: schedule: "{{schedule}}" jobTemplate: diff --git a/nuvolaris/templates/cronjob-attach.yaml b/openserverless/templates/cronjob-attach.yaml similarity index 97% rename from nuvolaris/templates/cronjob-attach.yaml rename to openserverless/templates/cronjob-attach.yaml index 834aecbf..1b5a4589 100644 --- a/nuvolaris/templates/cronjob-attach.yaml +++ b/openserverless/templates/cronjob-attach.yaml @@ -19,7 +19,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: schedule: "{{schedule}}" jobTemplate: diff --git a/nuvolaris/templates/dbname_pgpass_tpl.properties b/openserverless/templates/dbname_pgpass_tpl.properties similarity index 100% rename from nuvolaris/templates/dbname_pgpass_tpl.properties rename to openserverless/templates/dbname_pgpass_tpl.properties diff --git a/nuvolaris/templates/dep-attach.yaml b/openserverless/templates/dep-attach.yaml similarity index 98% rename from nuvolaris/templates/dep-attach.yaml rename to openserverless/templates/dep-attach.yaml index fa604871..73691c11 100644 --- a/nuvolaris/templates/dep-attach.yaml +++ b/openserverless/templates/dep-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/enterprise-np.yaml b/openserverless/templates/enterprise-np.yaml similarity index 97% rename from nuvolaris/templates/enterprise-np.yaml rename to openserverless/templates/enterprise-np.yaml index ae37f488..53f98586 100644 --- a/nuvolaris/templates/enterprise-np.yaml +++ b/openserverless/templates/enterprise-np.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - namespace: nuvolaris + namespace: openserverless name: controller spec: type: NodePort diff --git a/nuvolaris/templates/enterprise-sts.yaml b/openserverless/templates/enterprise-sts.yaml similarity index 97% rename from nuvolaris/templates/enterprise-sts.yaml rename to openserverless/templates/enterprise-sts.yaml index 3511f810..7d95ea07 100644 --- a/nuvolaris/templates/enterprise-sts.yaml +++ b/openserverless/templates/enterprise-sts.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: controller - namespace: nuvolaris + namespace: openserverless labels: name: controller app: controller @@ -37,7 +37,7 @@ spec: name: controller app: controller annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: serviceAccountName: openwhisk-core restartPolicy: Always @@ -197,11 +197,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_controller_username" value: "{{couchdb_controller_user}}" diff --git a/nuvolaris/templates/etcd-policy.yaml b/openserverless/templates/etcd-policy.yaml similarity index 84% rename from nuvolaris/templates/etcd-policy.yaml rename to openserverless/templates/etcd-policy.yaml index afa8231b..3b97c008 100644 --- a/nuvolaris/templates/etcd-policy.yaml +++ b/openserverless/templates/etcd-policy.yaml @@ -18,12 +18,12 @@ apiVersion: policy/v1 kind: PodDisruptionBudget metadata: - name: nuvolaris-etcd - namespace: nuvolaris + name: openserverless-etcd + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd spec: minAvailable: 51% selector: matchLabels: - app.kubernetes.io/name: nuvolaris-etcd \ No newline at end of file + app.kubernetes.io/name: openserverless-etcd \ No newline at end of file diff --git a/nuvolaris/templates/etcd-sts.yaml b/openserverless/templates/etcd-sts.yaml similarity index 82% rename from nuvolaris/templates/etcd-sts.yaml rename to openserverless/templates/etcd-sts.yaml index 3e55856d..414139a0 100644 --- a/nuvolaris/templates/etcd-sts.yaml +++ b/openserverless/templates/etcd-sts.yaml @@ -18,22 +18,22 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-etcd - namespace: nuvolaris + name: openserverless-etcd + namespace: openserverless labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd spec: replicas: {{etcd_replicas}} - serviceName: nuvolaris-etcd-headless + serviceName: openserverless-etcd-headless selector: matchLabels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd template: metadata: labels: - app.kubernetes.io/name: nuvolaris-etcd + app.kubernetes.io/name: openserverless-etcd annotations: - serviceName: nuvolaris-etcd + serviceName: openserverless-etcd spec: containers: - name: {{container}} @@ -48,7 +48,7 @@ spec: imagePullPolicy: IfNotPresent volumeClaimTemplates: - metadata: - name: nuvolaris-etc-data + name: openserverless-etc-data spec: accessModes: - "ReadWriteOnce" diff --git a/nuvolaris/templates/etcd_manage_user_tpl.sh b/openserverless/templates/etcd_manage_user_tpl.sh similarity index 100% rename from nuvolaris/templates/etcd_manage_user_tpl.sh rename to openserverless/templates/etcd_manage_user_tpl.sh diff --git a/nuvolaris/templates/ferretdb-sts.yaml b/openserverless/templates/ferretdb-sts.yaml similarity index 81% rename from nuvolaris/templates/ferretdb-sts.yaml rename to openserverless/templates/ferretdb-sts.yaml index c09bb4fb..e1be3e6a 100644 --- a/nuvolaris/templates/ferretdb-sts.yaml +++ b/openserverless/templates/ferretdb-sts.yaml @@ -18,23 +18,23 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-mongodb + name: openserverless-mongodb labels: app: mongodb - namespace: nuvolaris + namespace: openserverless spec: - serviceName: nuvolaris-mongodb-svc + serviceName: openserverless-mongodb-svc replicas: 1 selector: matchLabels: - app: nuvolaris-mongodb + app: openserverless-mongodb template: metadata: annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" labels: - app: nuvolaris-mongodb - name: nuvolaris-mongodb + app: openserverless-mongodb + name: openserverless-mongodb spec: securityContext: fsGroup: 1001 diff --git a/nuvolaris/templates/generic-ingress-tpl.yaml b/openserverless/templates/generic-ingress-tpl.yaml similarity index 96% rename from nuvolaris/templates/generic-ingress-tpl.yaml rename to openserverless/templates/generic-ingress-tpl.yaml index cf16ad3c..e0886f34 100644 --- a/nuvolaris/templates/generic-ingress-tpl.yaml +++ b/openserverless/templates/generic-ingress-tpl.yaml @@ -44,7 +44,7 @@ metadata: nginx.ingress.kubernetes.io/rewrite-target: {{rewrite_target}} {% endif %} {% if (needs_rewrite or needs_prefix) and apply_traefik_prefix_middleware %} - traefik.ingress.kubernetes.io/router.middlewares: nuvolaris-{{middleware_ingress_name}}@kubernetescrd + traefik.ingress.kubernetes.io/router.middlewares: openserverless-{{middleware_ingress_name}}@kubernetescrd {% endif %} spec: ingressClassName: "{{ingress_class}}" diff --git a/nuvolaris/templates/generic-openshift-route-tpl.yaml b/openserverless/templates/generic-openshift-route-tpl.yaml similarity index 100% rename from nuvolaris/templates/generic-openshift-route-tpl.yaml rename to openserverless/templates/generic-openshift-route-tpl.yaml diff --git a/nuvolaris/templates/generic-secret-docker-tpl.yaml b/openserverless/templates/generic-secret-docker-tpl.yaml similarity index 100% rename from nuvolaris/templates/generic-secret-docker-tpl.yaml rename to openserverless/templates/generic-secret-docker-tpl.yaml diff --git a/nuvolaris/templates/generic-secret-htpassword-tpl.yaml b/openserverless/templates/generic-secret-htpassword-tpl.yaml similarity index 100% rename from nuvolaris/templates/generic-secret-htpassword-tpl.yaml rename to openserverless/templates/generic-secret-htpassword-tpl.yaml diff --git a/nuvolaris/templates/index.html b/openserverless/templates/index.html similarity index 100% rename from nuvolaris/templates/index.html rename to openserverless/templates/index.html diff --git a/nuvolaris/templates/ingress.yaml b/openserverless/templates/ingress.yaml similarity index 100% rename from nuvolaris/templates/ingress.yaml rename to openserverless/templates/ingress.yaml diff --git a/nuvolaris/templates/invoker-sts.yaml b/openserverless/templates/invoker-sts.yaml similarity index 97% rename from nuvolaris/templates/invoker-sts.yaml rename to openserverless/templates/invoker-sts.yaml index e84a38db..9a76bb0e 100644 --- a/nuvolaris/templates/invoker-sts.yaml +++ b/openserverless/templates/invoker-sts.yaml @@ -20,7 +20,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: invoker - namespace: nuvolaris + namespace: openserverless labels: name: invoker app: invoker @@ -37,7 +37,7 @@ spec: name: invoker app: invoker annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: serviceAccountName: openwhisk-invoker restartPolicy: Always @@ -76,7 +76,7 @@ spec: - name: "WHISK_API_HOST_PORT" value: "{{controller_port}}" - name: "WHISK_API_HOST_NAME" - value: "{{controller_host}}.nuvolaris.svc.cluster.local" + value: "{{controller_host}}.openserverless.svc.cluster.local" # Needed by invoker to configure the container factory & container pool - name: "CONFIG_whisk_docker_containerFactory_useRunc" @@ -199,11 +199,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_invoker_username" @@ -279,7 +279,7 @@ spec: # apparently this is needed for the invoker - name: "CONFIG_whisk_helm_release" - value: "helm_nuvolaris" + value: "helm_openserverless" # kubernetes - name: "CONFIG_whisk_kubernetes_timeouts_run" diff --git a/nuvolaris/templates/invoker-svc.yaml b/openserverless/templates/invoker-svc.yaml similarity index 100% rename from nuvolaris/templates/invoker-svc.yaml rename to openserverless/templates/invoker-svc.yaml diff --git a/nuvolaris/templates/kafka-000-pvc.yaml b/openserverless/templates/kafka-000-pvc.yaml similarity index 97% rename from nuvolaris/templates/kafka-000-pvc.yaml rename to openserverless/templates/kafka-000-pvc.yaml index d40f177c..49908cd8 100644 --- a/nuvolaris/templates/kafka-000-pvc.yaml +++ b/openserverless/templates/kafka-000-pvc.yaml @@ -20,7 +20,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: kafka-pvc-data - namespace: nuvolaris + namespace: openserverless labels: app: kafka spec: diff --git a/nuvolaris/templates/kafka-001-sts.yaml b/openserverless/templates/kafka-001-sts.yaml similarity index 97% rename from nuvolaris/templates/kafka-001-sts.yaml rename to openserverless/templates/kafka-001-sts.yaml index a91d501a..0e1d43b8 100644 --- a/nuvolaris/templates/kafka-001-sts.yaml +++ b/openserverless/templates/kafka-001-sts.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: kafka - namespace: nuvolaris + namespace: openserverless labels: name: kafka app: kafka @@ -36,7 +36,7 @@ spec: name: kafka app: kafka annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always volumes: diff --git a/nuvolaris/templates/kvrocks-cm.yaml b/openserverless/templates/kvrocks-cm.yaml similarity index 99% rename from nuvolaris/templates/kvrocks-cm.yaml rename to openserverless/templates/kvrocks-cm.yaml index 060c623e..944ac5d7 100644 --- a/nuvolaris/templates/kvrocks-cm.yaml +++ b/openserverless/templates/kvrocks-cm.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: kvrocks-cm - namespace: nuvolaris + namespace: openserverless data: kvrocks.conf: | ################################ GENERAL ##################################### @@ -126,7 +126,7 @@ data: # Master-Salve replication would check db name is matched. if not, the slave should # refuse to sync the db from master. Don't use the default value, set the db-name to identify # the cluster. - db-name nuvolaris-redis.db + db-name openserverless-redis.db # The working directory # diff --git a/nuvolaris/templates/kvrocks_manage_user_tpl.txt b/openserverless/templates/kvrocks_manage_user_tpl.txt similarity index 100% rename from nuvolaris/templates/kvrocks_manage_user_tpl.txt rename to openserverless/templates/kvrocks_manage_user_tpl.txt diff --git a/nuvolaris/templates/milvus-cfg-base.yaml b/openserverless/templates/milvus-cfg-base.yaml similarity index 94% rename from nuvolaris/templates/milvus-cfg-base.yaml rename to openserverless/templates/milvus-cfg-base.yaml index 2190c803..38f80354 100644 --- a/nuvolaris/templates/milvus-cfg-base.yaml +++ b/openserverless/templates/milvus-cfg-base.yaml @@ -19,8 +19,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless data: default.yaml: |+ # Copyright (C) 2019-2021 Zilliz. All rights reserved. @@ -42,7 +42,7 @@ data: password: {{milvus_etcd_root_password}} endpoints: {% for idx in etcd_range -%} - - {{etcd_container}}-{{idx}}.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2379 + - {{etcd_container}}-{{idx}}.openserverless-etcd-headless.openserverless.svc.cluster.local:2379 {% endfor %} @@ -66,7 +66,7 @@ data: messageQueue: pulsar pulsar: - address: nuvolaris-milvus-pulsarv3-proxy + address: openserverless-milvus-pulsarv3-proxy port: 6650 maxMessageSize: 104857600 diff --git a/nuvolaris/templates/milvus-cfg-slim-base.yaml b/openserverless/templates/milvus-cfg-slim-base.yaml similarity index 95% rename from nuvolaris/templates/milvus-cfg-slim-base.yaml rename to openserverless/templates/milvus-cfg-slim-base.yaml index 103a1915..0ede540e 100644 --- a/nuvolaris/templates/milvus-cfg-slim-base.yaml +++ b/openserverless/templates/milvus-cfg-slim-base.yaml @@ -19,8 +19,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: nuvolaris-milvus - namespace: nuvolaris + name: openserverless-milvus + namespace: openserverless data: default.yaml: |+ # Copyright (C) 2019-2021 Zilliz. All rights reserved. @@ -42,7 +42,7 @@ data: password: {{milvus_etcd_root_password}} endpoints: {% for idx in etcd_range -%} - - {{etcd_container}}-{{idx}}.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2379 + - {{etcd_container}}-{{idx}}.openserverless-etcd-headless.openserverless.svc.cluster.local:2379 {% endfor %} metastore: diff --git a/nuvolaris/templates/milvus.yaml b/openserverless/templates/milvus.yaml similarity index 88% rename from nuvolaris/templates/milvus.yaml rename to openserverless/templates/milvus.yaml index d6a05617..3c9437ef 100644 --- a/nuvolaris/templates/milvus.yaml +++ b/openserverless/templates/milvus.yaml @@ -19,11 +19,11 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: nuvolaris-milvus-standalone - namespace: nuvolaris + name: openserverless-milvus-standalone + namespace: openserverless labels: app.kubernetes.io/name: milvus - app.kubernetes.io/instance: nuvolaris-milvus + app.kubernetes.io/instance: openserverless-milvus component: "standalone" spec: replicas: {{replicas}} diff --git a/nuvolaris/templates/mongodb-auth-nuvolaris.yaml b/openserverless/templates/mongodb-auth-openserverless.yaml similarity index 86% rename from nuvolaris/templates/mongodb-auth-nuvolaris.yaml rename to openserverless/templates/mongodb-auth-openserverless.yaml index 014f9487..bd3ef58a 100644 --- a/nuvolaris/templates/mongodb-auth-nuvolaris.yaml +++ b/openserverless/templates/mongodb-auth-openserverless.yaml @@ -18,8 +18,8 @@ apiVersion: v1 kind: Secret metadata: - name: mongodb-nuvolaris-auth - namespace: nuvolaris + name: mongodb-openserverless-auth + namespace: openserverless type: Opaque stringData: - mongodb_nuvolaris_psw: {{mongo_nuvolaris_password}} + mongodb_openserverless_psw: {{mongo_openserverless_password}} diff --git a/nuvolaris/templates/mongodb-auth.yaml b/openserverless/templates/mongodb-auth.yaml similarity index 97% rename from nuvolaris/templates/mongodb-auth.yaml rename to openserverless/templates/mongodb-auth.yaml index 94edf7b5..8c04f3ac 100644 --- a/nuvolaris/templates/mongodb-auth.yaml +++ b/openserverless/templates/mongodb-auth.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: Secret metadata: name: mongodb-admin-auth - namespace: nuvolaris + namespace: openserverless type: Opaque stringData: mongodb_admin_psw: {{mongo_admin_password}} diff --git a/nuvolaris/templates/mongodb-cm.yaml b/openserverless/templates/mongodb-cm.yaml similarity index 79% rename from nuvolaris/templates/mongodb-cm.yaml rename to openserverless/templates/mongodb-cm.yaml index d783272e..5d3de463 100644 --- a/nuvolaris/templates/mongodb-cm.yaml +++ b/openserverless/templates/mongodb-cm.yaml @@ -18,17 +18,17 @@ apiVersion: v1 kind: ConfigMap metadata: name: mongodb-cm - namespace: nuvolaris + namespace: openserverless data: mongodb-js: |- - db = db.getSiblingDB('nuvolaris'); + db = db.getSiblingDB('openserverless'); db.createUser({ - user: "{{mongo_nuvolaris_user}}", - pwd: "{{mongo_nuvolaris_password}}", + user: "{{mongo_openserverless_user}}", + pwd: "{{mongo_openserverless_password}}", roles: [ - {role: "readWrite", db: "nuvolaris"} + {role: "readWrite", db: "openserverless"} ] }); - db.nuv_test_collection.insertOne({"message":"Welcome to nuvolaris!"}) \ No newline at end of file + db.nuv_test_collection.insertOne({"message":"Welcome to openserverless!"}) \ No newline at end of file diff --git a/nuvolaris/templates/mongodb-config.yaml b/openserverless/templates/mongodb-config.yaml similarity index 83% rename from nuvolaris/templates/mongodb-config.yaml rename to openserverless/templates/mongodb-config.yaml index d2d4ca37..a5947b93 100644 --- a/nuvolaris/templates/mongodb-config.yaml +++ b/openserverless/templates/mongodb-config.yaml @@ -18,8 +18,8 @@ apiVersion: mongodbcommunity.mongodb.com/v1 kind: MongoDBCommunity metadata: - name: nuvolaris-mongodb - namespace: nuvolaris + name: openserverless-mongodb + namespace: openserverless spec: members: 1 type: ReplicaSet @@ -39,15 +39,15 @@ spec: - name: userAdminAnyDatabase db: admin scramCredentialsSecretName: mongodb-admin-scram - - name: {{mongo_nuvolaris_user}} - db: nuvolaris + - name: {{mongo_openserverless_user}} + db: openserverless passwordSecretRef: # a reference to the secret that will be used to generate the user's password - name: mongodb-nuvolaris-auth - key: mongodb_nuvolaris_psw + name: mongodb-openserverless-auth + key: mongodb_openserverless_psw roles: - name: readWrite - db: nuvolaris - scramCredentialsSecretName: mongodb-nuvolaris-scram + db: openserverless + scramCredentialsSecretName: mongodb-openserverless-scram additionalMongodConfig: storage.wiredTiger.engineConfig.journalCompressor: zlib statefulSet: @@ -56,9 +56,9 @@ spec: metadata: labels: name: mongodb - nuvolaris.mongodb.flavour: operator + openserverless.mongodb.flavour: operator annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: containers: - name: mongodb-agent diff --git a/nuvolaris/templates/mongodb-sts.yaml b/openserverless/templates/mongodb-sts.yaml similarity index 89% rename from nuvolaris/templates/mongodb-sts.yaml rename to openserverless/templates/mongodb-sts.yaml index 3833e847..77375690 100644 --- a/nuvolaris/templates/mongodb-sts.yaml +++ b/openserverless/templates/mongodb-sts.yaml @@ -18,24 +18,24 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-mongodb + name: openserverless-mongodb labels: app: mongodb - namespace: nuvolaris + namespace: openserverless spec: - serviceName: nuvolaris-mongodb-svc + serviceName: openserverless-mongodb-svc replicas: 1 selector: matchLabels: - app: nuvolaris-mongodb + app: openserverless-mongodb template: metadata: labels: name: mongodb - app: nuvolaris-mongodb - nuvolaris.mongodb.flavour: standalone + app: openserverless-mongodb + openserverless.mongodb.flavour: standalone annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: containers: - image: mongo:5.0.11 diff --git a/nuvolaris/templates/mongodb_manage_user_tpl.js b/openserverless/templates/mongodb_manage_user_tpl.js similarity index 94% rename from nuvolaris/templates/mongodb_manage_user_tpl.js rename to openserverless/templates/mongodb_manage_user_tpl.js index 875e60df..902a6c7b 100644 --- a/nuvolaris/templates/mongodb_manage_user_tpl.js +++ b/openserverless/templates/mongodb_manage_user_tpl.js @@ -28,7 +28,7 @@ db.createUser({ {role: "readWrite", db: "{{subject}}"} ] }); -db.nuv_test_collection.insertOne({"message":"Welcome to nuvolaris!"}); +db.nuv_test_collection.insertOne({"message":"Welcome to openserverless!"}); {% endif %} {% if mode == 'delete'%} diff --git a/nuvolaris/templates/nginx-static-cm.yaml b/openserverless/templates/nginx-static-cm.yaml similarity index 99% rename from nuvolaris/templates/nginx-static-cm.yaml rename to openserverless/templates/nginx-static-cm.yaml index fa1a0640..b542f45c 100644 --- a/nuvolaris/templates/nginx-static-cm.yaml +++ b/openserverless/templates/nginx-static-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: nginx-static-conf-cm - namespace: nuvolaris + namespace: openserverless data: default.conf: | server { diff --git a/nuvolaris/templates/nginx-static-sts.yaml b/openserverless/templates/nginx-static-sts.yaml similarity index 89% rename from nuvolaris/templates/nginx-static-sts.yaml rename to openserverless/templates/nginx-static-sts.yaml index 15a81ea4..b7c13b8a 100644 --- a/nuvolaris/templates/nginx-static-sts.yaml +++ b/openserverless/templates/nginx-static-sts.yaml @@ -18,27 +18,27 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-static - namespace: nuvolaris + name: openserverless-static + namespace: openserverless labels: - app: nuvolaris-static + app: openserverless-static spec: - serviceName: nuvolaris-static-svc + serviceName: openserverless-static-svc replicas: 1 selector: matchLabels: - app: nuvolaris-static + app: openserverless-static template: metadata: labels: - app: nuvolaris-static + app: openserverless-static spec: initContainers: - name: check-minio image: busybox:1.36.0 command: ['sh', '-c', "until nslookup {{storage_hostname}}; do echo waiting for storage; sleep 2; done"] containers: - - name: nuvolaris-static + - name: openserverless-static image: nginxinc/nginx-unprivileged:1.24 ports: - containerPort: 8080 diff --git a/nuvolaris/templates/opaque-secret-tpl.yaml b/openserverless/templates/opaque-secret-tpl.yaml similarity index 100% rename from nuvolaris/templates/opaque-secret-tpl.yaml rename to openserverless/templates/opaque-secret-tpl.yaml diff --git a/nuvolaris/templates/pgpass_tpl.properties b/openserverless/templates/pgpass_tpl.properties similarity index 100% rename from nuvolaris/templates/pgpass_tpl.properties rename to openserverless/templates/pgpass_tpl.properties diff --git a/nuvolaris/templates/postgres-backup-sts.yaml b/openserverless/templates/postgres-backup-sts.yaml similarity index 75% rename from nuvolaris/templates/postgres-backup-sts.yaml rename to openserverless/templates/postgres-backup-sts.yaml index 0378811e..1f19c3dc 100644 --- a/nuvolaris/templates/postgres-backup-sts.yaml +++ b/openserverless/templates/postgres-backup-sts.yaml @@ -18,25 +18,25 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: nuvolaris-postgres-backup - namespace: nuvolaris + name: openserverless-postgres-backup + namespace: openserverless spec: - serviceName: nuvolaris-postgres-backup + serviceName: openserverless-postgres-backup replicas: 1 selector: matchLabels: - name: nuvolaris-postgres-backup + name: openserverless-postgres-backup template: metadata: labels: - name: nuvolaris-postgres-backup - app: nuvolaris-postgres-backup + name: openserverless-postgres-backup + app: openserverless-postgres-backup annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always containers: - - name: nuvolaris-postgres-backup + - name: openserverless-postgres-backup image: ghcr.io/nuvolaris/pg-dumper:16.3.2405222002 imagePullPolicy: IfNotPresent command: ["/bin/bash","-c","/root/backup_start.sh"] @@ -47,30 +47,30 @@ spec: valueFrom: secretKeyRef: key: superUserPassword - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret - name: KUBEGRES_RESOURCE_NAME - value: nuvolaris-postgres + value: openserverless-postgres - name: BACKUP_DESTINATION_FOLDER value: {{dir}} - name: BACKUP_SOURCE_DB_HOST_NAME - value: nuvolaris-postgres-replica + value: openserverless-postgres-replica - name: BACKUP_IMPORT_DB_HOST_NAME - value: nuvolaris-postgres + value: openserverless-postgres - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: key: superUserPassword - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret - name: POSTGRES_REPLICATION_PASSWORD valueFrom: secretKeyRef: key: replicationUserPassword - name: postgres-nuvolaris-secret - - name: POSTGRES_NUVOLARIS_DB_PASSWORD + name: postgres-openserverless-secret + - name: POSTGRES_OPENSERVERLESS_DB_PASSWORD valueFrom: secretKeyRef: - key: nuvolarisUserPassword - name: postgres-nuvolaris-secret + key: openserverlessUserPassword + name: postgres-openserverless-secret volumeMounts: - mountPath: /tmp/backup_database.sh name: config diff --git a/nuvolaris/templates/postgres.yaml b/openserverless/templates/postgres.yaml similarity index 81% rename from nuvolaris/templates/postgres.yaml rename to openserverless/templates/postgres.yaml index 5e05f4e1..58525b48 100644 --- a/nuvolaris/templates/postgres.yaml +++ b/openserverless/templates/postgres.yaml @@ -19,15 +19,15 @@ apiVersion: kubegres.reactive-tech.io/v1 kind: Kubegres metadata: - name: nuvolaris-postgres - namespace: nuvolaris + name: openserverless-postgres + namespace: openserverless spec: replicas: {{replicas}} image: pgvector/pgvector:pg16 database: size: {{size}}Gi storageClassName: {{storageClass}} - customConfig: nuvolaris-postgres-conf + customConfig: openserverless-postgres-conf failover: isDisabled: {{not failover}} scheduler: @@ -39,21 +39,21 @@ spec: - weight: 100 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: NotIn values: - {{affinity_invoker_node_label}} - weight: 80 preference: matchExpressions: - - key: nuvolaris-role + - key: openserverless-role operator: In values: - {{affinity_core_node_label}} {% endif %} tolerations: {% if tolerations %} - - key: "nuvolaris-role" + - key: "openserverless-role" operator: "Equal" value: {{toleration_role}} effect: "NoSchedule" @@ -62,15 +62,15 @@ spec: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret key: superUserPassword - name: POSTGRES_REPLICATION_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret + name: postgres-openserverless-secret key: replicationUserPassword - - name: POSTGRES_NUVOLARIS_DB_PASSWORD + - name: POSTGRES_OPENSERVERLESS_DB_PASSWORD valueFrom: secretKeyRef: - name: postgres-nuvolaris-secret - key: nuvolarisUserPassword \ No newline at end of file + name: postgres-openserverless-secret + key: openserverlessUserPassword \ No newline at end of file diff --git a/nuvolaris/templates/postgres_manage_user_extension_tpl.sql b/openserverless/templates/postgres_manage_user_extension_tpl.sql similarity index 100% rename from nuvolaris/templates/postgres_manage_user_extension_tpl.sql rename to openserverless/templates/postgres_manage_user_extension_tpl.sql diff --git a/nuvolaris/templates/postgres_manage_user_schema_tpl.sql b/openserverless/templates/postgres_manage_user_schema_tpl.sql similarity index 100% rename from nuvolaris/templates/postgres_manage_user_schema_tpl.sql rename to openserverless/templates/postgres_manage_user_schema_tpl.sql diff --git a/nuvolaris/templates/postgres_manage_user_tpl.sql b/openserverless/templates/postgres_manage_user_tpl.sql similarity index 100% rename from nuvolaris/templates/postgres_manage_user_tpl.sql rename to openserverless/templates/postgres_manage_user_tpl.sql diff --git a/nuvolaris/templates/postgres_terminate_tpl.sql b/openserverless/templates/postgres_terminate_tpl.sql similarity index 100% rename from nuvolaris/templates/postgres_terminate_tpl.sql rename to openserverless/templates/postgres_terminate_tpl.sql diff --git a/nuvolaris/templates/pv-create.yaml b/openserverless/templates/pv-create.yaml similarity index 100% rename from nuvolaris/templates/pv-create.yaml rename to openserverless/templates/pv-create.yaml diff --git a/nuvolaris/templates/pvc-attach.yaml b/openserverless/templates/pvc-attach.yaml similarity index 97% rename from nuvolaris/templates/pvc-attach.yaml rename to openserverless/templates/pvc-attach.yaml index 7a74a933..ed4f8f6a 100644 --- a/nuvolaris/templates/pvc-attach.yaml +++ b/openserverless/templates/pvc-attach.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: {{pvcName}} - namespace: nuvolaris + namespace: openserverless spec: storageClassName: {{storageClass}} resources: diff --git a/nuvolaris/templates/pvc-create.yaml b/openserverless/templates/pvc-create.yaml similarity index 97% rename from nuvolaris/templates/pvc-create.yaml rename to openserverless/templates/pvc-create.yaml index b2a468bd..90306966 100644 --- a/nuvolaris/templates/pvc-create.yaml +++ b/openserverless/templates/pvc-create.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: {{pvcName}} - namespace: nuvolaris + namespace: openserverless finalizers: - kubernetes.io/pvc-protection spec: diff --git a/nuvolaris/templates/quota-cronjob-attach.yaml b/openserverless/templates/quota-cronjob-attach.yaml similarity index 97% rename from nuvolaris/templates/quota-cronjob-attach.yaml rename to openserverless/templates/quota-cronjob-attach.yaml index 414dacac..3c0c6cc9 100644 --- a/nuvolaris/templates/quota-cronjob-attach.yaml +++ b/openserverless/templates/quota-cronjob-attach.yaml @@ -19,7 +19,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: schedule: "{{schedule}}" jobTemplate: diff --git a/nuvolaris/templates/redis-conf.yaml b/openserverless/templates/redis-conf.yaml similarity index 98% rename from nuvolaris/templates/redis-conf.yaml rename to openserverless/templates/redis-conf.yaml index b6eec567..84e12ec5 100644 --- a/nuvolaris/templates/redis-conf.yaml +++ b/openserverless/templates/redis-conf.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: redis-cm - namespace: nuvolaris + namespace: openserverless data: redis-conf: | requirepass {{redis_password}} diff --git a/nuvolaris/templates/redis-set.yaml b/openserverless/templates/redis-set.yaml similarity index 95% rename from nuvolaris/templates/redis-set.yaml rename to openserverless/templates/redis-set.yaml index d4bf217f..8bee1d8f 100644 --- a/nuvolaris/templates/redis-set.yaml +++ b/openserverless/templates/redis-set.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: redis - namespace: nuvolaris + namespace: openserverless spec: replicas: 1 selector: @@ -32,7 +32,7 @@ spec: name: redis app: redis annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: restartPolicy: Always {% if applypodsecurity %} diff --git a/nuvolaris/templates/redis_manage_user_tpl.txt b/openserverless/templates/redis_manage_user_tpl.txt similarity index 100% rename from nuvolaris/templates/redis_manage_user_tpl.txt rename to openserverless/templates/redis_manage_user_tpl.txt diff --git a/nuvolaris/templates/redis_quota_checker.lua b/openserverless/templates/redis_quota_checker.lua similarity index 100% rename from nuvolaris/templates/redis_quota_checker.lua rename to openserverless/templates/redis_quota_checker.lua diff --git a/nuvolaris/templates/redis_quota_checker.sh b/openserverless/templates/redis_quota_checker.sh similarity index 100% rename from nuvolaris/templates/redis_quota_checker.sh rename to openserverless/templates/redis_quota_checker.sh diff --git a/nuvolaris/templates/resources-sts-attach.yaml b/openserverless/templates/resources-sts-attach.yaml similarity index 97% rename from nuvolaris/templates/resources-sts-attach.yaml rename to openserverless/templates/resources-sts-attach.yaml index a9f223ec..9590520b 100644 --- a/nuvolaris/templates/resources-sts-attach.yaml +++ b/openserverless/templates/resources-sts-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/runtimes-job-container-attach.yaml b/openserverless/templates/runtimes-job-container-attach.yaml similarity index 97% rename from nuvolaris/templates/runtimes-job-container-attach.yaml rename to openserverless/templates/runtimes-job-container-attach.yaml index d5b45ff1..850d0279 100644 --- a/nuvolaris/templates/runtimes-job-container-attach.yaml +++ b/openserverless/templates/runtimes-job-container-attach.yaml @@ -19,7 +19,7 @@ apiVersion: batch/v1 kind: Job metadata: name: preload-runtimes - namespace: nuvolaris + namespace: openserverless spec: template: metadata: diff --git a/nuvolaris/templates/security-dep-attach.yaml b/openserverless/templates/security-dep-attach.yaml similarity index 97% rename from nuvolaris/templates/security-dep-attach.yaml rename to openserverless/templates/security-dep-attach.yaml index 83724d7d..de692ccc 100644 --- a/nuvolaris/templates/security-dep-attach.yaml +++ b/openserverless/templates/security-dep-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/security-global-attach.yaml b/openserverless/templates/security-global-attach.yaml similarity index 97% rename from nuvolaris/templates/security-global-attach.yaml rename to openserverless/templates/security-global-attach.yaml index 56f4f03e..adfba2d7 100644 --- a/nuvolaris/templates/security-global-attach.yaml +++ b/openserverless/templates/security-global-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: {{kind}} metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/security-set-attach.yaml b/openserverless/templates/security-set-attach.yaml similarity index 97% rename from nuvolaris/templates/security-set-attach.yaml rename to openserverless/templates/security-set-attach.yaml index 0a6f51ba..90a21087 100644 --- a/nuvolaris/templates/security-set-attach.yaml +++ b/openserverless/templates/security-set-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/set-attach.yaml b/openserverless/templates/set-attach.yaml similarity index 97% rename from nuvolaris/templates/set-attach.yaml rename to openserverless/templates/set-attach.yaml index 4d35909e..28fc3750 100644 --- a/nuvolaris/templates/set-attach.yaml +++ b/openserverless/templates/set-attach.yaml @@ -19,7 +19,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless spec: template: spec: diff --git a/nuvolaris/templates/standalone-sts.yaml b/openserverless/templates/standalone-sts.yaml similarity index 95% rename from nuvolaris/templates/standalone-sts.yaml rename to openserverless/templates/standalone-sts.yaml index 611f5028..7523ff23 100644 --- a/nuvolaris/templates/standalone-sts.yaml +++ b/openserverless/templates/standalone-sts.yaml @@ -21,7 +21,7 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: controller - namespace: nuvolaris + namespace: openserverless labels: name: controller app: controller @@ -38,9 +38,9 @@ spec: name: controller app: controller annotations: - whisks.nuvolaris.org/annotate-version: "true" + whisks.openserverless.org/annotate-version: "true" spec: - serviceAccountName: nuvolaris-openwhisk-core + serviceAccountName: openserverless-openwhisk-core restartPolicy: Always containers: - name: controller @@ -186,11 +186,11 @@ spec: - name: "CONFIG_whisk_couchdb_provider" value: "CouchDB" - name: "CONFIG_whisk_couchdb_databases_WhiskActivation" - value: "nuvolaris_activations" + value: "openserverless_activations" - name: "CONFIG_whisk_couchdb_databases_WhiskEntity" - value: "nuvolaris_whisks" + value: "openserverless_whisks" - name: "CONFIG_whisk_couchdb_databases_WhiskAuth" - value: "nuvolaris_subjects" + value: "openserverless_subjects" - name: "CONFIG_whisk_couchdb_controller_username" value: "{{couchdb_controller_user}}" @@ -237,7 +237,7 @@ spec: value: "false" - name: "CONFIG_whisk_kubernetes_actionNamespace" - value: "nuvolaris" + value: "openserverless" - name: "CONFIG_whisk_helm_release" value: "release" @@ -253,7 +253,7 @@ spec: value: "3233" - name: "WHISK_API_HOST_NAME" - value: "controller.nuvolaris.svc.cluster.local" + value: "controller.openserverless.svc.cluster.local" {% if usePrivateRegistry %} - name: "CONFIG_whisk_kubernetes_podTemplate" diff --git a/nuvolaris/templates/subject.json b/openserverless/templates/subject.json similarity index 100% rename from nuvolaris/templates/subject.json rename to openserverless/templates/subject.json diff --git a/nuvolaris/templates/test.json b/openserverless/templates/test.json similarity index 100% rename from nuvolaris/templates/test.json rename to openserverless/templates/test.json diff --git a/nuvolaris/templates/testcm.yaml b/openserverless/templates/testcm.yaml similarity index 96% rename from nuvolaris/templates/testcm.yaml rename to openserverless/templates/testcm.yaml index 2039a417..cd986e90 100644 --- a/nuvolaris/templates/testcm.yaml +++ b/openserverless/templates/testcm.yaml @@ -20,4 +20,4 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{name}} - namespace: nuvolaris + namespace: openserverless diff --git a/nuvolaris/templates/traefik-middleware-tpl.yaml b/openserverless/templates/traefik-middleware-tpl.yaml similarity index 100% rename from nuvolaris/templates/traefik-middleware-tpl.yaml rename to openserverless/templates/traefik-middleware-tpl.yaml diff --git a/nuvolaris/templates/user_metadata.json b/openserverless/templates/user_metadata.json similarity index 100% rename from nuvolaris/templates/user_metadata.json rename to openserverless/templates/user_metadata.json diff --git a/nuvolaris/templates/whisk-system-manifest-tpl.yaml b/openserverless/templates/whisk-system-manifest-tpl.yaml similarity index 100% rename from nuvolaris/templates/whisk-system-manifest-tpl.yaml rename to openserverless/templates/whisk-system-manifest-tpl.yaml diff --git a/nuvolaris/templates/workflow-job.yaml b/openserverless/templates/workflow-job.yaml similarity index 100% rename from nuvolaris/templates/workflow-job.yaml rename to openserverless/templates/workflow-job.yaml diff --git a/nuvolaris/templates/zookeeper-001-pvc.yaml b/openserverless/templates/zookeeper-001-pvc.yaml similarity index 97% rename from nuvolaris/templates/zookeeper-001-pvc.yaml rename to openserverless/templates/zookeeper-001-pvc.yaml index 1c3795d7..d7bf1b6c 100644 --- a/nuvolaris/templates/zookeeper-001-pvc.yaml +++ b/openserverless/templates/zookeeper-001-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zookeeper-pvc-data - namespace: nuvolaris + namespace: openserverless spec: storageClassName: {{storage_class}} accessModes: diff --git a/nuvolaris/templates/zookeeper-002-pvc.yaml b/openserverless/templates/zookeeper-002-pvc.yaml similarity index 97% rename from nuvolaris/templates/zookeeper-002-pvc.yaml rename to openserverless/templates/zookeeper-002-pvc.yaml index b6047b1f..e20d4ba7 100644 --- a/nuvolaris/templates/zookeeper-002-pvc.yaml +++ b/openserverless/templates/zookeeper-002-pvc.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: zookeeper-pvc-datalog - namespace: nuvolaris + namespace: openserverless spec: storageClassName: {{storage_class}} accessModes: diff --git a/nuvolaris/testutil.py b/openserverless/testutil.py similarity index 93% rename from nuvolaris/testutil.py rename to openserverless/testutil.py index ec0b2cb7..33f31e02 100644 --- a/nuvolaris/testutil.py +++ b/openserverless/testutil.py @@ -33,7 +33,7 @@ # the output is always space trimmed for easier check def grep(input, word, field=None, sort=False): r""" - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> tu.grep("a\nb\nc\n", "b") b >>> tu.grep(b"a\nb\n c\n", r"a|c") @@ -75,7 +75,7 @@ def fread(file): # or just print the output of the fuction def catch(f): """ - >>> import nuvolaris.testutil as tu + >>> import openserverless.testutil as tu >>> tu.catch(lambda: "ok") ok >>> def error(): @@ -110,7 +110,7 @@ def load_yaml(file): # mocking and spying kube support class MockKube: """ - >>> from nuvolaris.testutil import * + >>> from openserverless.testutil import * >>> m = MockKube() >>> m.invoke() >>> m.config("", "ok") @@ -203,18 +203,18 @@ def load_image_env(): def set_apihost_from_kubeconfig(cfg): # assume for k3s and microk8s, - # the nuvolaris apihost is the same as the kube api server + # the openserverless apihost is the same as the kube api server r = run("kubectl config view -o json | jq -r '.clusters[0].cluster.server'", shell=True, capture_output=True) server = r.stdout.decode("ascii").strip() hostname = urlparse(server).hostname - kube = cfg.get("nuvolaris.kube") + kube = cfg.get("openserverless.kube") if kube is None: return if kube in ["k3s", "microk8s"]: - cfg.put("nuvolaris.apihost", hostname) + cfg.put("openserverless.apihost", hostname) if kube == "openshift": - hostname1 = ".".join(["nuvolaris", "apps"] + hostname.split(".")[1:]) - cfg.put("nuvolaris.apihost", hostname1) + hostname1 = ".".join(["openserverless", "apps"] + hostname.split(".")[1:]) + cfg.put("openserverless.apihost", hostname1) def json2flatdict(data): @@ -276,7 +276,7 @@ def retry(fn, value, max=10, delay=1): def generate_ow_uid(): """ - >>> import nuvolaris.testutil as util + >>> import openserverless.testutil as util >>> len(util.generate_ow_uid()) 36 """ @@ -284,7 +284,7 @@ def generate_ow_uid(): def generate_ow_key(): """ - >>> import nuvolaris.testutil as util + >>> import openserverless.testutil as util >>> len(util.generate_ow_key()) 64 """ @@ -292,7 +292,7 @@ def generate_ow_key(): def generate_ow_auth(): """ - >>> import nuvolaris.testutil as util + >>> import openserverless.testutil as util >>> len(util.generate_ow_auth()) 101 """ diff --git a/nuvolaris/time_util.py b/openserverless/time_util.py similarity index 97% rename from nuvolaris/time_util.py rename to openserverless/time_util.py index a2f79a9f..2fd8848b 100644 --- a/nuvolaris/time_util.py +++ b/openserverless/time_util.py @@ -20,7 +20,7 @@ def duration_in_second(string): """ Conveniently parse a string represting a finite time unit in multiple format (s, m, h, d, sec, min, hour, day) and convert it into seconds. - >>> import nuvolaris.time_util as tu + >>> import openserverless.time_util as tu >>> tu.duration_in_second("1s") 1 >>> tu.duration_in_second("1m") diff --git a/nuvolaris/user_config.py b/openserverless/user_config.py similarity index 98% rename from nuvolaris/user_config.py rename to openserverless/user_config.py index d1a37bd6..9d9c30c7 100644 --- a/nuvolaris/user_config.py +++ b/openserverless/user_config.py @@ -17,7 +17,7 @@ # import flatdict, json, os import logging -import nuvolaris.config as cfg +import openserverless.config as cfg class UserConfig: _config = {} diff --git a/nuvolaris/user_handlers.py b/openserverless/user_handlers.py similarity index 88% rename from nuvolaris/user_handlers.py rename to openserverless/user_handlers.py index 0ffaf1fc..7b2422d6 100644 --- a/nuvolaris/user_handlers.py +++ b/openserverless/user_handlers.py @@ -15,28 +15,28 @@ # specific language governing permissions and limitations # under the License. # -# Provides extra kopf handlers to manage nuvolaris users +# Provides extra kopf handlers to manage openserverless users import logging from datetime import datetime import kopf -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.endpoint as endpoint -import nuvolaris.ferretdb as mdb -import nuvolaris.kube as kube -import nuvolaris.milvus_standalone as milvus -import nuvolaris.minio_deploy as minio_deploy -import nuvolaris.postgres_operator as postgres -import nuvolaris.redis as redis -import nuvolaris.storage_static as static -import nuvolaris.user_patcher as user_patcher -import nuvolaris.userdb_util as userdb -import nuvolaris.seaweedfs_deploy as seaweedfs -from nuvolaris.quota_checker import REDIS_DB_QUOTA_ANNOTATION -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.endpoint as endpoint +import openserverless.ferretdb as mdb +import openserverless.kube as kube +import openserverless.milvus_standalone as milvus +import openserverless.minio_deploy as minio_deploy +import openserverless.postgres_operator as postgres +import openserverless.redis as redis +import openserverless.storage_static as static +import openserverless.user_patcher as user_patcher +import openserverless.userdb_util as userdb +import openserverless.seaweedfs_deploy as seaweedfs +from openserverless.quota_checker import REDIS_DB_QUOTA_ANNOTATION +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def get_ucfg(spec): @@ -44,7 +44,7 @@ def get_ucfg(spec): ucfg.dump_config() return ucfg -@kopf.on.create('nuvolaris.org', 'v1', 'whisksusers') +@kopf.on.create('openserverless.org', 'v1', 'whisksusers') def whisk_user_create(spec, name, patch, **kwargs): logging.info(f"*** whisk_user_create {name}") conditions = [] @@ -113,7 +113,7 @@ def whisk_user_create(spec, name, patch, **kwargs): patch.status['conditions']=conditions return state -@kopf.on.delete('nuvolaris.org', 'v1', 'whisksusers') +@kopf.on.delete('openserverless.org', 'v1', 'whisksusers') def whisk_user_delete(spec, name, **kwargs): logging.info(f"*** whisk_user_delete {name}") @@ -157,7 +157,7 @@ def whisk_user_delete(spec, name, **kwargs): res = userdb.delete_user_metadata(ucfg.get('namespace')) -@kopf.on.update('nuvolaris.org', 'v1', 'whisksusers') +@kopf.on.update('openserverless.org', 'v1', 'whisksusers') def whisk_user_update(spec, status, namespace, diff, name, **kwargs): logging.info(f"*** detected an update of wsku/{name} under namespace {namespace}") @@ -168,7 +168,7 @@ def whisk_user_update(spec, status, namespace, diff, name, **kwargs): user_patcher.patch(ucfg,user_metadata,diff, status, owner, name) -@kopf.on.resume('nuvolaris.org', 'v1', 'whisksusers') +@kopf.on.resume('openserverless.org', 'v1', 'whisksusers') def whisk_user_resume(spec, name, namespace,annotations, **kwargs): logging.info(f"*** detected an update of wsku/{name} under namespace {namespace}") ucfg = get_ucfg(spec) diff --git a/nuvolaris/user_metadata.py b/openserverless/user_metadata.py similarity index 92% rename from nuvolaris/user_metadata.py rename to openserverless/user_metadata.py index 9e403f8c..410b2733 100644 --- a/nuvolaris/user_metadata.py +++ b/openserverless/user_metadata.py @@ -19,9 +19,9 @@ import logging from datetime import datetime -import nuvolaris.bcrypt_util as bu -import nuvolaris.util as util -from nuvolaris.user_config import UserConfig +import openserverless.bcrypt_util as bu +import openserverless.util as util +from openserverless.user_config import UserConfig class UserMetadata: @@ -75,7 +75,7 @@ def get_metadata(self): def add_safely_from_cm(self,metadata_key,json_path): try: - value = util.get_value_from_config_map("nuvolaris", json_path) + value = util.get_value_from_config_map("openserverless", json_path) if value: self.add_metadata(metadata_key, value) except Exception as e: diff --git a/nuvolaris/user_patcher.py b/openserverless/user_patcher.py similarity index 83% rename from nuvolaris/user_patcher.py rename to openserverless/user_patcher.py index 563e5931..ec2ccfee 100644 --- a/nuvolaris/user_patcher.py +++ b/openserverless/user_patcher.py @@ -16,15 +16,15 @@ # under the License. # import logging, time -import nuvolaris.kopf_util as kopf_util -import nuvolaris.userdb_util as userdb +import openserverless.kopf_util as kopf_util +import openserverless.userdb_util as userdb -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata def patch(ucfg: UserConfig, user_metadata: UserMetadata, diff, status, owner=None, name=None): """ - Implements the patching logic of the nuvolaris operator to handle chanages on the nuvolaris wsku + Implements the patching logic of the openserverless operator to handle chanages on the openserverless wsku resources. """ logging.info(status) diff --git a/nuvolaris/userdb_util.py b/openserverless/userdb_util.py similarity index 68% rename from nuvolaris/userdb_util.py rename to openserverless/userdb_util.py index e9e0f3a5..7a09f4a7 100644 --- a/nuvolaris/userdb_util.py +++ b/openserverless/userdb_util.py @@ -18,12 +18,12 @@ import json import logging -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as couchdb_util -import nuvolaris.util as util -from nuvolaris.nuvolaris_metadata import NuvolarisMetadata -from nuvolaris.user_metadata import UserMetadata -import nuvolaris.bcrypt_util as bu +import openserverless.couchdb as cdb +import openserverless.couchdb_util as couchdb_util +import openserverless.util as util +from openserverless.openserverless_metadata import OpenServerlessMetadata +from openserverless.user_metadata import UserMetadata +import openserverless.bcrypt_util as bu USER_META_DBN = "users_metadata" @@ -41,33 +41,33 @@ def save_user_metadata(user_metadata: UserMetadata): Add a generic user metadata into the internal CouchDB """ metadata = user_metadata.get_metadata() - logging.info(f"Storing Nuvolaris metadata for {metadata['login']}") + logging.info(f"Storing OpenServerless metadata for {metadata['login']}") try: db = couchdb_util.CouchDB() return _add_metadata(db, metadata) except Exception as e: - logging.error(f"failed to store Nuvolaris metadata for {metadata['login']}. Cause: {e}") + logging.error(f"failed to store OpenServerless metadata for {metadata['login']}. Cause: {e}") return None -def save_nuvolaris_metadata(nuvolaris_metadata: NuvolarisMetadata): +def save_openserverless_metadata(openserverless_metadata: OpenServerlessMetadata): """ - Add nuvolaris user metadata into the internal CouchDB + Add openserverless user metadata into the internal CouchDB """ - metadata = nuvolaris_metadata.get_metadata() - logging.info(f"Storing Nuvolaris metadata for {metadata['login']}") + metadata = openserverless_metadata.get_metadata() + logging.info(f"Storing OpenServerless metadata for {metadata['login']}") try: db = couchdb_util.CouchDB() return _add_metadata(db, metadata) except Exception as e: - logging.error(f"failed to store Nuvolaris metadata for {metadata['login']}. Cause: {e}") + logging.error(f"failed to store OpenServerless metadata for {metadata['login']}. Cause: {e}") return None def delete_user_metadata(login): - logging.info(f"removing Nuvolaris metadata for user {login}") + logging.info(f"removing OpenServerless metadata for user {login}") try: db = couchdb_util.CouchDB() @@ -81,15 +81,15 @@ def delete_user_metadata(login): logging.info(f"removing user metadata documents {doc['_id']}") return db.delete_doc(USER_META_DBN, doc['_id']) - logging.warn(f"Nuvolaris metadata for user {login} not found!") + logging.warn(f"OpenServerless metadata for user {login} not found!") return None except Exception as e: - logging.error(f"failed to remove Nuvolaris metadata for user {login}. Reason: {e}") + logging.error(f"failed to remove OpenServerless metadata for user {login}. Reason: {e}") return None def update_user_metadata_password(login, password): - logging.info(f"updating Nuvolaris password for user {login}") + logging.info(f"updating OpenServerless password for user {login}") try: db = couchdb_util.CouchDB() @@ -104,15 +104,15 @@ def update_user_metadata_password(login, password): doc['password'] = bu.hash_password(password) return db.update_doc(USER_META_DBN, doc) - logging.warn(f"Nuvolaris metadata for user {login} not found!") + logging.warn(f"OpenServerless metadata for user {login} not found!") return None except Exception as e: - logging.error(f"failed to update credentials for quota Nuvolaris user {login}. Reason: {e}") + logging.error(f"failed to update credentials for quota OpenServerless user {login}. Reason: {e}") return None def update_user_metadata_quota(login, quota: list): - logging.info(f"updating Nuvolaris quota for user {login}") + logging.info(f"updating OpenServerless quota for user {login}") try: db = couchdb_util.CouchDB() @@ -127,8 +127,8 @@ def update_user_metadata_quota(login, quota: list): doc['quota'] = quota return db.update_doc(USER_META_DBN, doc) - logging.warn(f"Nuvolaris metadata for user {login} not found!") + logging.warn(f"OpenServerless metadata for user {login} not found!") return None except Exception as e: - logging.error(f"failed to update quota for Nuvolaris user {login}. Reason: {e}") + logging.error(f"failed to update quota for OpenServerless user {login}. Reason: {e}") return None diff --git a/nuvolaris/util.py b/openserverless/util.py similarity index 85% rename from nuvolaris/util.py rename to openserverless/util.py index aa7667d4..df70d493 100644 --- a/nuvolaris/util.py +++ b/openserverless/util.py @@ -30,10 +30,10 @@ import urllib3 from urllib3.exceptions import NewConnectionError, MaxRetryError, ProtocolError -import nuvolaris.apihost_util as apihost_util -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.template as template +import openserverless.apihost_util as apihost_util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.template as template # Implements truncated exponential backoff from # https://cloud.google.com/storage/docs/retry-strategy#exponential-backoff @@ -93,22 +93,22 @@ def get_default_storage_provisioner(): def get_ingress_namespace(runtime): """ Attempt to determine the namespace where the ingress-nginx-controller service has been deployed - checking the nuvolaris.ingresslb + checking the openserverless.ingresslb - When set to 'auto' it will attempt to calculate it according to the kubernetes runtime - When set to <> 'auto' it will return the configured value. The configured value should be in the form / - >>> import nuvolaris.config as cfg - >>> cfg.put('nuvolaris.ingresslb','auto') + >>> import openserverless.config as cfg + >>> cfg.put('openserverless.ingresslb','auto') True >>> get_ingress_namespace('microk8s') 'ingress' >>> get_ingress_namespace('kind') 'ingress-nginx' - >>> cfg.put('nuvolaris.ingresslb','ingress-nginx-azure/ingress-nginx-controller') + >>> cfg.put('openserverless.ingresslb','ingress-nginx-azure/ingress-nginx-controller') True >>> get_ingress_namespace('kind') 'ingress-nginx-azure' """ - ingresslb_value = cfg.get('nuvolaris.ingresslb') or 'auto' + ingresslb_value = cfg.get('openserverless.ingresslb') or 'auto' if 'auto' != ingresslb_value: ingress_namespace = ingresslb_value.split('/')[0] @@ -123,22 +123,22 @@ def get_ingress_namespace(runtime): def get_ingress_service_name(runtime): """ Attempt to determine the namespace where the ingress-nginx-controller service has been deployed - checking the nuvolaris.ingresslb + checking the openserverless.ingresslb - When set to 'auto' it will attempt to calculate it according to the kubernetes runtime - When set to <> 'auto' it will return the configured value. The configured value should be in the form / - >>> import nuvolaris.config as cfg - >>> cfg.put('nuvolaris.ingresslb','auto') + >>> import openserverless.config as cfg + >>> cfg.put('openserverless.ingresslb','auto') True >>> get_ingress_service_name('microk8s') 'service/ingress-nginx-controller' >>> get_ingress_service_name('kind') 'service/ingress-nginx-controller' - >>> cfg.put('nuvolaris.ingresslb','ingress-nginx-azure/ingress-nginx-controller-custom') + >>> cfg.put('openserverless.ingresslb','ingress-nginx-azure/ingress-nginx-controller-custom') True >>> get_ingress_service_name('kind') 'service/ingress-nginx-controller-custom' """ - ingresslb_value = cfg.get('nuvolaris.ingresslb') or 'auto' + ingresslb_value = cfg.get('openserverless.ingresslb') or 'auto' if 'auto' != ingresslb_value: ingress_srv_name = f"service/{ingresslb_value.split('/')[1]}" @@ -153,7 +153,7 @@ def get_ingress_class(runtime): - When set to 'auto' it will attempt to calculate it according to the kubernetes runtime - When set to <> 'auto' it will return the configured value. """ - ingress_class = cfg.get('nuvolaris.ingressclass') or 'auto' + ingress_class = cfg.get('openserverless.ingressclass') or 'auto' if 'auto' != ingress_class: logging.warn(f"skipping ingress class auto detection and returning {ingress_class}") @@ -226,7 +226,7 @@ def get_ingress_yaml(runtime): # wait for a pod name @nuv_retry() -def get_pod_name(jsonpath,namespace="nuvolaris"): +def get_pod_name(jsonpath,namespace="openserverless"): pod_name = kube.kubectl("get", "pods", namespace=namespace, jsonpath=jsonpath) if(pod_name): return pod_name[0] @@ -234,7 +234,7 @@ def get_pod_name(jsonpath,namespace="nuvolaris"): raise Exception(f"could not find any pod matching jsonpath={jsonpath}") # helper method waiting for a pod ready using the given jsonpath to retrieve the pod name -def wait_for_pod_ready(pod_name_jsonpath, timeout="600s", namespace="nuvolaris"): +def wait_for_pod_ready(pod_name_jsonpath, timeout="600s", namespace="openserverless"): try: pod_name = get_pod_name(pod_name_jsonpath, namespace) logging.info(f"checking pod {pod_name}") @@ -307,11 +307,11 @@ def get_mongodb_config_data(): data = { 'mongo_admin_user': cfg.get('mongodb.admin.user') or "whisk_user", 'mongo_admin_password': cfg.get('mongodb.admin.password') or "0therPa55", - 'mongo_nuvolaris_user': cfg.get('mongodb.nuvolaris.user') or "nuvolaris", - 'mongo_nuvolaris_password': cfg.get('mongodb.nuvolaris.password') or "s0meP@ass3", + 'mongo_openserverless_user': cfg.get('mongodb.openserverless.user') or "openserverless", + 'mongo_openserverless_password': cfg.get('mongodb.openserverless.password') or "s0meP@ass3", 'size': cfg.get('mongodb.volume-size') or 10, 'pvcName': 'mongodb-data', - 'storageClass':cfg.get("nuvolaris.storageclass"), + 'storageClass':cfg.get("openserverless.storageclass"), 'pvcAccessMode':'ReadWriteOnce' } return data @@ -389,7 +389,7 @@ def get_standalone_config_data(): def validate_namespace(namespace: str) -> bool: """ - >>> import nuvolaris.util as util + >>> import openserverless.util as util >>> util.validate_namespace("demouser") True >>> util.validate_namespace('x;id;#') @@ -408,7 +408,7 @@ def validate_database_name(database: str) -> bool: Validates a user provided database name. Database names are interpolated into shell commands executed inside the database pods, so they must be restricted to a safe character set. - >>> import nuvolaris.util as util + >>> import openserverless.util as util >>> util.validate_database_name("demodb") True >>> util.validate_database_name("demo_db1") @@ -431,7 +431,7 @@ def validate_bucket_name(bucket: str) -> bool: Validates a user provided bucket name against the S3 bucket naming rules. Bucket names are interpolated into shell commands executed inside the storage pods, so they must be restricted to a safe character set. - >>> import nuvolaris.util as util + >>> import openserverless.util as util >>> util.validate_bucket_name("demo-bucket") True >>> util.validate_bucket_name("demo.bucket1") @@ -454,8 +454,8 @@ def validate_bucket_name(bucket: str) -> bool: def validate_ow_auth(auth): """ - >>> import nuvolaris.testutil as tutil - >>> import nuvolaris.util as util + >>> import openserverless.testutil as tutil + >>> import openserverless.util as util >>> auth = tutil.generate_ow_auth() >>> util.validate_ow_auth(auth) True @@ -491,7 +491,7 @@ def check(f, what, res): # return redis configuration parameters with default values if not configured def get_redis_config_data(): # ensure prefix key contains : at the end to be compliant with REDIS script ACL creator - prefix = cfg.get("redis.nuvolaris.prefix") or "nuvolaris:" + prefix = cfg.get("redis.openserverless.prefix") or "openserverless:" if(not prefix.endswith(":")): prefix = f"{prefix}:" @@ -502,10 +502,10 @@ def get_redis_config_data(): "container": "redis", "dir": "/bitnami/redis/data", "size": cfg.get("redis.volume-size", "REDIS_VOLUME_SIZE", 10), - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "redis_password":cfg.get("redis.default.password") or "s0meP@ass3", - "namespace":"nuvolaris", - "password":cfg.get("redis.nuvolaris.password") or "s0meP@ass3", + "namespace":"openserverless", + "password":cfg.get("redis.openserverless.password") or "s0meP@ass3", "prefix": prefix, "persistence": cfg.get("redis.persistence-enabled") or False, "maxmemory": cfg.get("redis.maxmemory") or "1000mb" @@ -514,7 +514,7 @@ def get_redis_config_data(): redis_affinity_tolerations_data(data) return data -def get_service(jsonpath,namespace="nuvolaris"): +def get_service(jsonpath,namespace="openserverless"): services= kube.kubectl("get", "svc", namespace=namespace, jsonpath=jsonpath) if(services): return services[0] @@ -527,13 +527,13 @@ def get_minio_config_data(): "applypodsecurity":get_enable_pod_security(), "name":"minio-deployment", "container":"minio", - "minio_host": cfg.get('minio.host') or 'nuvolaris-minio', + "minio_host": cfg.get('minio.host') or 'openserverless-minio', "minio_volume_size": cfg.get('minio.volume-size') or "5", "minio_root_user": cfg.get('minio.admin.user') or "minio", "minio_root_password": cfg.get('minio.admin.password') or "minio123", - "storage_class": cfg.get("nuvolaris.storageclass"), - "minio_nuv_user": cfg.get('minio.nuvolaris.user') or "nuvolaris", - "minio_nuv_password": cfg.get('minio.nuvolaris.password') or "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", + "storage_class": cfg.get("openserverless.storageclass"), + "minio_nuv_user": cfg.get('minio.openserverless.user') or "openserverless", + "minio_nuv_password": cfg.get('minio.openserverless.password') or "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", "minio_s3_ingress_enabled": cfg.get('minio.ingress.s3-enabled') or False, "minio_console_ingress_enabled": cfg.get('minio.ingress.console-enabled') or False, "minio_s3_ingress_hostname": cfg.get('minio.ingress.s3-hostname') or "auto", @@ -547,11 +547,11 @@ def get_postgres_config_data(): data = { 'postgres_root_password': cfg.get('postgres.admin.password') or "0therPa55", 'postgres_root_replica_password': cfg.get('postgres.admin.password') or "0therPa55sd", - 'postgres_nuvolaris_user': "nuvolaris", - 'postgres_nuvolaris_password': cfg.get('postgres.nuvolaris.password') or "s0meP@ass3", + 'postgres_openserverless_user': "openserverless", + 'postgres_openserverless_password': cfg.get('postgres.openserverless.password') or "s0meP@ass3", 'size': cfg.get('postgres.volume-size') or 10, 'replicas': cfg.get('postgres.replicas') or 2, - 'storageClass': cfg.get('nuvolaris.storageclass'), + 'storageClass': cfg.get('openserverless.storageclass'), 'failover': cfg.get('postgres.failover') or False, 'backup': cfg.get('postgres.backup.enabled') or False, 'schedule': cfg.get('postgres.backup.schedule') or '30 * * * *' @@ -562,18 +562,18 @@ def get_postgres_config_data(): def get_postgres_backup_data(): data = { 'size': cfg.get('postgres.volume-size') or 10, - 'storageClass': cfg.get('nuvolaris.storageclass'), + 'storageClass': cfg.get('openserverless.storageclass'), 'schedule': cfg.get('postgres.backup.schedule') or '30 * * * *', - 'name': 'nuvolaris-postgres-backup', + 'name': 'openserverless-postgres-backup', 'dir':'/var/lib/backup', - 'container':'nuvolaris-postgres-backup' + 'container':'openserverless-postgres-backup' } postgres_affinity_tolerations_data(data) return data # wait for a service matching the given jsonpath name @nuv_retry() -def wait_for_service(jsonpath,namespace="nuvolaris"): +def wait_for_service(jsonpath,namespace="openserverless"): service_names = kube.kubectl("get", "svc", namespace=namespace, jsonpath=jsonpath) if(service_names): return service_names[0] @@ -583,14 +583,14 @@ def wait_for_service(jsonpath,namespace="nuvolaris"): def get_controller_http_timeout(): return cfg.get("configs.limits.time.limit-max") or "5min" -def get_apihost_from_config_map(namespace="nuvolaris"): +def get_apihost_from_config_map(namespace="openserverless"): annotations= kube.kubectl("get", "cm/config", namespace=namespace, jsonpath='{.metadata.annotations.apihost}') if(annotations): return annotations[0] raise Exception("Could not find apihost annotation inside internal cm/config config Map") -def get_value_from_config_map(namespace="nuvolaris", path='{.metadata.annotations.apihost}'): +def get_value_from_config_map(namespace="openserverless", path='{.metadata.annotations.apihost}'): annotations= kube.kubectl("get", "cm/config", namespace=namespace, jsonpath=path) if(annotations): return annotations[0] @@ -604,11 +604,11 @@ def get_enable_pod_security(): basis and/or storage class. @TODO: find a better way to determine when this function should return true. """ - runtime = cfg.get('nuvolaris.kube') - storage_class = cfg.get('nuvolaris.storageclass') + runtime = cfg.get('openserverless.kube') + storage_class = cfg.get('openserverless.storageclass') return runtime in ["eks","gke","aks","generic"] or (runtime in ["k3s"] and "rook" in storage_class) -def get_runtimes_json_from_config_map(namespace="nuvolaris", path=r'{.data.runtimes\.json}'): +def get_runtimes_json_from_config_map(namespace="openserverless", path=r'{.data.runtimes\.json}'): """ Return the configured runtimes.json from the config map cm/openwhisk-runtimes """ runtimes= kube.kubectl("get", "cm/openwhisk-runtimes", namespace=namespace, jsonpath=path) @@ -620,31 +620,31 @@ def get_runtimes_json_from_config_map(namespace="nuvolaris", path=r'{.data.runti # return static nginx configuration parameters with default values if not configured def get_storage_static_config_data(): data = { - "name":"nuvolaris-static", - "container":"nuvolaris-static", + "name":"openserverless-static", + "container":"openserverless-static", "size":1, - "storageClass": cfg.get('nuvolaris.storageclass'), + "storageClass": cfg.get('openserverless.storageclass'), "dir":"/var/cache/nginx", "applypodsecurity": get_enable_pod_security() } if cfg.get('components.minio'): - minio_host=cfg.get('minio.host') or "nuvolaris-minio" + minio_host=cfg.get('minio.host') or "openserverless-minio" minio_port=cfg.get('minio.port') or "9000" - data['storage_url']=f"http://{minio_host}.nuvolaris.svc.cluster.local:{minio_port}" + data['storage_url']=f"http://{minio_host}.openserverless.svc.cluster.local:{minio_port}" if cfg.get('components.seaweedfs'): seaweedfs_api_host = cfg.get("seaweedfs.host") or "seaweedfs" seaweedfs_api_port = cfg.get("seaweedfs.port") or "9000" - data['storage_url']=f"http://{seaweedfs_api_host}.nuvolaris.svc.cluster.local:{seaweedfs_api_port}" + data['storage_url']=f"http://{seaweedfs_api_host}.openserverless.svc.cluster.local:{seaweedfs_api_port}" storage_static_affinity_tolerations_data(data) return data # populate common affinity data def common_affinity_tolerations_data(data): - data["affinity"] = cfg.get('nuvolaris.affinity') or False - data["tolerations"] = cfg.get('nuvolaris.tolerations') or False + data["affinity"] = cfg.get('openserverless.affinity') or False + data["tolerations"] = cfg.get('openserverless.tolerations') or False data["affinity_invoker_node_label"] = "invoker" data["affinity_core_node_label"] = "core" data["toleration_role"] = "core" @@ -667,12 +667,12 @@ def minio_affinity_tolerations_data(data): # populate specific affinity data for minio def storage_static_affinity_tolerations_data(data): common_affinity_tolerations_data(data) - data["pod_anti_affinity_name"] = "nuvolaris-static" + data["pod_anti_affinity_name"] = "openserverless-static" # populate specific affinity data for postgres def postgres_affinity_tolerations_data(data): common_affinity_tolerations_data(data) - data["pod_anti_affinity_name"] = "nuvolaris-postgres" + data["pod_anti_affinity_name"] = "openserverless-postgres" # populate specific affinity data for ferretdb def ferretb_affinity_tolerations_data(data): @@ -695,7 +695,7 @@ def postgres_manager_affinity_tolerations_data(): def postgres_backup_affinity_tolerations_data(data): common_affinity_tolerations_data(data) - data["pod_anti_affinity_name"] = "nuvolaris-postgres-backup" + data["pod_anti_affinity_name"] = "openserverless-postgres-backup" # populate specific affinity data for registry def registry_affinity_tolerations_data(data): @@ -709,10 +709,10 @@ def seaweedfs_affinity_tolerations_data(data): # wait for a pod name using a label selector and eventually an optional jsonpath @nuv_retry() -def get_pod_name_by_selector(selector, jsonpath, namespace="nuvolaris"): +def get_pod_name_by_selector(selector, jsonpath, namespace="openserverless"): """ get pods matching the given selector filtering them using the given jsonpath. - param: selector (eg app="nuvolaris-postgres") + param: selector (eg app="openserverless-postgres") param: jsonpath (eg "{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") return: 1st mathing pod name """ @@ -724,10 +724,10 @@ def get_pod_name_by_selector(selector, jsonpath, namespace="nuvolaris"): # wait for a svc name using a label selector and eventually an optional jsonpath @nuv_retry() -def get_service_by_selector(selector,jsonpath,namespace="nuvolaris"): +def get_service_by_selector(selector,jsonpath,namespace="openserverless"): """ get services matching the given selector filtering them using the given jsonpath - param: selector (eg app="nuvolaris-postgres") + param: selector (eg app="openserverless-postgres") param: jsonpath (eg "{.items[?(@.metadata.labels.replicationRole == 'primary')].metadata.name}") return: 1st mathing service name """ @@ -739,7 +739,7 @@ def get_service_by_selector(selector,jsonpath,namespace="nuvolaris"): def get_kvrocks_config_data(): # ensure prefix key contains : at the end to be compliant with REDIS script ACL creator - prefix = cfg.get("redis.nuvolaris.prefix") or "nuvolaris:" + prefix = cfg.get("redis.openserverless.prefix") or "openserverless:" if(not prefix.endswith(":")): prefix = f"{prefix}:" @@ -750,10 +750,10 @@ def get_kvrocks_config_data(): "container": "redis", "dir": "/var/lib/kvrocks/data", "size": cfg.get("redis.volume-size", "REDIS_VOLUME_SIZE", 10), - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "redis_password":cfg.get("redis.default.password") or "s0meP@ass3", - "namespace":"nuvolaris", - "password":cfg.get("redis.nuvolaris.password") or "s0meP@ass3", + "namespace":"openserverless", + "password":cfg.get("redis.openserverless.password") or "s0meP@ass3", "prefix": prefix, "persistence": True, "maxmemory": cfg.get("redis.maxmemory") or "1000mb", @@ -771,7 +771,7 @@ def get_object_storage_class(): """ Get the object storage class attempting to get the default storage class defined on the configured kubernetes environment """ - storage_class = kube.kubectl("get", "storageclass", jsonpath="{.items[?(@.parameters.objectStoreName=='nuvolaris-s3-store')].metadata.name}") + storage_class = kube.kubectl("get", "storageclass", jsonpath="{.items[?(@.parameters.objectStoreName=='openserverless-s3-store')].metadata.name}") if(storage_class): return storage_class[0] @@ -781,7 +781,7 @@ def get_object_storage_rgw_url(): """ Get the object store RGW service URL, to be used to configure the static nginx services when running on top of a CEPH OBJECT STORE """ - rgw_urls = kube.kubectl("get", "cephobjectstores",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.name=='nuvolaris-s3-store')].status.info.endpoint}") + rgw_urls = kube.kubectl("get", "cephobjectstores",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.name=='openserverless-s3-store')].status.info.endpoint}") if(rgw_urls): return rgw_urls[0] @@ -791,7 +791,7 @@ def get_object_storage_rgw_srv_name(): """ Get the object store RGW service URL, to be used to configure the static nginx services when running on top of a CEPH OBJECT STORE """ - rgw_urls = kube.kubectl("get", "svc",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.labels.rgw=='nuvolaris-s3-store')].metadata.name}") + rgw_urls = kube.kubectl("get", "svc",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.labels.rgw=='openserverless-s3-store')].metadata.name}") if(rgw_urls): return rgw_urls[0] @@ -801,7 +801,7 @@ def get_object_storage_rgw_srv_http_port(): """ Get the object store RGW service URL, to be used to configure the static nginx services when running on top of a CEPH OBJECT STORE """ - rgw_ports = kube.kubectl("get", "svc",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.labels.rgw=='nuvolaris-s3-store')].spec.ports[?(@.name=='http')].port}") + rgw_ports = kube.kubectl("get", "svc",namespace="rook-ceph",jsonpath="{.items[?(@.metadata.labels.rgw=='openserverless-s3-store')].spec.ports[?(@.name=='http')].port}") if(rgw_ports): return rgw_ports[0] @@ -815,7 +815,7 @@ def get_cosi_config_data(): "rgwservice_name": cfg.get('cosi.rgwservice_name'), "rgwservice_port": cfg.get('cosi.rgwservice_port'), "cluster_namespace": cfg.get('cosi.namespace') or "rook-ceph", - "object_store_name": cfg.get('cosi.object_store_name') or "nuvolaris-s3-store", + "object_store_name": cfg.get('cosi.object_store_name') or "openserverless-s3-store", "max_bucket_limit": cfg.get('cosi.max_bucket_limit') or 5, } return data @@ -845,21 +845,21 @@ def b64_decode(encoded_str:str): # populate specific affinity data for redis def etcd_affinity_tolerations_data(data): common_affinity_tolerations_data(data) - data["pod_anti_affinity_name"] = "nuvolaris-etcd" + data["pod_anti_affinity_name"] = "openserverless-etcd" def get_etcd_initial_clusters(name: str, replicas = 1): """ Calculate the proper setup for ETCD initial clusters - >>> print(get_etcd_initial_clusters("nuvolaris-etcd")) - nuvolaris-etcd-0=http://nuvolaris-etcd-0.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380 - >>> print(get_etcd_initial_clusters("nuvolaris-etcd",2)) - nuvolaris-etcd-0=http://nuvolaris-etcd-0.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380,nuvolaris-etcd-1=http://nuvolaris-etcd-1.nuvolaris-etcd-headless.nuvolaris.svc.cluster.local:2380 + >>> print(get_etcd_initial_clusters("openserverless-etcd")) + openserverless-etcd-0=http://openserverless-etcd-0.openserverless-etcd-headless.openserverless.svc.cluster.local:2380 + >>> print(get_etcd_initial_clusters("openserverless-etcd",2)) + openserverless-etcd-0=http://openserverless-etcd-0.openserverless-etcd-headless.openserverless.svc.cluster.local:2380,openserverless-etcd-1=http://openserverless-etcd-1.openserverless-etcd-headless.openserverless.svc.cluster.local:2380 """ etc_initial_clusters = "" for idx in range(replicas): if len(etc_initial_clusters) > 0: etc_initial_clusters+="," - etc_initial_clusters += f"{name}-{idx}=http://{name}-{idx}.{name}-headless.nuvolaris.svc.cluster.local:2380" + etc_initial_clusters += f"{name}-{idx}=http://{name}-{idx}.{name}-headless.openserverless.svc.cluster.local:2380" return etc_initial_clusters.strip() @@ -868,15 +868,15 @@ def get_etcd_config_data(): data = { "applypodsecurity":get_enable_pod_security(), - "name": "nuvolaris-etcd", - "container": "nuvolaris-etcd", + "name": "openserverless-etcd", + "container": "openserverless-etcd", "size": cfg.get("etcd.volume-size", "STORAGE_SIZE_ETCD", 5), - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "root_password":cfg.get("etcd.root.password") or "s0meP@ass3wd", "etcd_replicas":get_etcd_replica(), "etcd_auto_compaction_retention": cfg.get("etcd.auto_compaction_retention") or "1", "etcd_quota_backend_bytes": cfg.get("etcd.quota-backend-bytes") or "2147483648", - "namespace":"nuvolaris", + "namespace":"openserverless", "container_cpu_req": cfg.get('etcd.resources.cpu-req') or "250m", "container_cpu_lim": cfg.get('etcd.resources.cpu-lim') or "375m", "container_mem_req": cfg.get('etcd.resources.mem-req') or "256Mi", @@ -899,9 +899,9 @@ def milvus_manager_affinity_tolerations_data(data): def milvus_standalone_affinity_tolerations_data(data): common_affinity_tolerations_data(data) - data["pod_anti_affinity_name"] = "nuvolaris-milvus" - data["name"] = "nuvolaris-milvus-standalone" - data["container-name"] = "nuvolaris-milvus" + data["pod_anti_affinity_name"] = "openserverless-milvus" + data["name"] = "openserverless-milvus-standalone" + data["container-name"] = "openserverless-milvus" return data # return milvus configuration parameter with default valued if not configured @@ -915,25 +915,25 @@ def get_milvus_config_data(): 'milvus_s3_password': cfg.get('milvus.password.s3') or "s0meP@ass3", 'milvus_bucket_name': 'vectors', 'milvus_bucket_quota': cfg.get('milvus.volume-size.bucket') or 10240, - 'milvus_bucket_prefix': 'milvus/nuvolaris-milvus', + 'milvus_bucket_prefix': 'milvus/openserverless-milvus', 'size': cfg.get('milvus.volume-size.cluster') or 10, 'zookeeper_size': cfg.get('milvus.volume-size.zookeeper') or 10, 'bookie_journal_size': cfg.get('milvus.volume-size.journal') or 25, 'bookie_ledgers_size': cfg.get('milvus.volume-size.ledgers') or 50, 'replicas': cfg.get('milvus.replicas') or 1, - 'storageClass': cfg.get('nuvolaris.storageclass'), + 'storageClass': cfg.get('openserverless.storageclass'), 'etcd_replicas':get_etcd_replica(), - 'etcd_container': 'nuvolaris-etcd', + 'etcd_container': 'openserverless-etcd', 'milvus_root_password': cfg.get('milvus.password.root') or "An0therPa55", - 'nuvolaris_password': cfg.get('milvus.nuvolaris.password') or "Nuv0therPa55", + 'openserverless_password': cfg.get('milvus.openserverless.password') or "Nuv0therPa55", 'milvus_max_role_num': cfg.get('milvus.proxy.max-role-num') or 10, 'milvus_max_user_num': cfg.get('milvus.proxy.max-user-num') or 100, 'milvus_max_database_num': cfg.get('milvus.root-coord.max-database-num') or 64, - 'slim': cfg.get('nuvolaris.slim') or False, + 'slim': cfg.get('openserverless.slim') or False, } if cfg.get('components.minio'): - data["bucket_server_hostname"]="nuvolaris-minio" + data["bucket_server_hostname"]="openserverless-minio" data["bucket_server_port"]="9000" if cfg.get('components.seaweedfs'): @@ -955,7 +955,7 @@ def get_registry_config_data(): "dir":"/var/lib/registry", "pvcName":"registry-pvc", "size": cfg.get("registry.volume-size", "REGISTRY_VOLUME_SIZE", 20), - "storageClass": cfg.get("nuvolaris.storageclass"), + "storageClass": cfg.get("openserverless.storageclass"), "repoHostname": cfg.get('registry.hostname') or "auto", "ingressEnabled": cfg.get('registry.ingress.enabled') or False, "registryUsername": cfg.get('registry.auth.username') or "openserverless", @@ -964,7 +964,7 @@ def get_registry_config_data(): } # always add the internal SvcHostname - data['repoSvcHostname'] = "nuvolaris-registry-svc:5000" + data['repoSvcHostname'] = "openserverless-registry-svc:5000" registry_affinity_tolerations_data(data) return data @@ -982,10 +982,10 @@ def get_seaweedfs_config_data(): "seaweedfs_host": cfg.get('seaweedfs.host') or 'seaweedfs', "size": cfg.get('seaweedfs.volume-size') or "60", "default_bucket_quota": cfg.get('seaweedfs.default-bucket-quota') or "1024", - "storage_class": cfg.get("nuvolaris.storageclass"), + "storage_class": cfg.get("openserverless.storageclass"), "pvcName":"seaweedfs-pvc", - "seaweedfs_nuv_user": cfg.get('seaweedfs.nuvolaris.user') or "nuvolaris", - "seaweedfs_nuv_password": cfg.get('seaweedfs.nuvolaris.password') or "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", + "seaweedfs_nuv_user": cfg.get('seaweedfs.openserverless.user') or "openserverless", + "seaweedfs_nuv_password": cfg.get('seaweedfs.openserverless.password') or "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", "seaweedfs_s3_ingress_enabled": cfg.get('seaweedfs.ingress.s3-enabled') or False, "seaweedfs_console_ingress_enabled": cfg.get('seaweedfs.ingress.console-enabled') or False, "seaweedfs_s3_ingress_hostname": cfg.get('seaweedfs.ingress.s3-hostname') or "auto", diff --git a/nuvolaris/whisk_actions_deployer.py b/openserverless/whisk_actions_deployer.py similarity index 94% rename from nuvolaris/whisk_actions_deployer.py rename to openserverless/whisk_actions_deployer.py index cca2cbed..63d45194 100644 --- a/nuvolaris/whisk_actions_deployer.py +++ b/openserverless/whisk_actions_deployer.py @@ -20,14 +20,14 @@ import logging import json -import nuvolaris.config as cfg -import nuvolaris.template as ntp -import nuvolaris.util as util -import nuvolaris.kustomize as kust +import openserverless.config as cfg +import openserverless.template as ntp +import openserverless.util as util +import openserverless.kustomize as kust import os -from nuvolaris.whisk_system_util import WhiskSystemClient -from nuvolaris.util import nuv_retry +from openserverless.whisk_system_util import WhiskSystemClient +from openserverless.util import nuv_retry from subprocess import CompletedProcess def get_couchdb_inputs(): @@ -65,9 +65,9 @@ def prepare_secrets_action(): return secrets def prepare_content_action(): - minio_host= cfg.get("minio.host") or "nuvolaris-minio" + minio_host= cfg.get("minio.host") or "openserverless-minio" minio_port= cfg.get("minio.port") or "9000" - minio_full_host = f"{minio_host}.nuvolaris.svc.cluster.local" + minio_full_host = f"{minio_host}.openserverless.svc.cluster.local" content_inputs=[] content_inputs.append({"key":"minio_host", "value":minio_full_host}) diff --git a/nuvolaris/whisk_system_util.py b/openserverless/whisk_system_util.py similarity index 98% rename from nuvolaris/whisk_system_util.py rename to openserverless/whisk_system_util.py index 7764a349..35ca5c10 100644 --- a/nuvolaris/whisk_system_util.py +++ b/openserverless/whisk_system_util.py @@ -18,7 +18,7 @@ # this module wraps a wsk client communicating with the internal OW controller using admin credentials import logging import subprocess -import nuvolaris.config as cfg +import openserverless.config as cfg class WhiskSystemClient: def __init__(self, auth): diff --git a/nuvolaris/workflows.py b/openserverless/workflows.py similarity index 89% rename from nuvolaris/workflows.py rename to openserverless/workflows.py index 2a891349..ad502162 100644 --- a/nuvolaris/workflows.py +++ b/openserverless/workflows.py @@ -17,9 +17,9 @@ # import kopf import logging, time, yaml, json, flatdict, os, os.path, random, string -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.template as tpl +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.template as tpl def status(): jpath = '{.items[*].metadata.name}' @@ -45,12 +45,12 @@ def generate_job(name, spec, action): environ = [ { "name": "_WORKFLOW_", "value": ""}, # to be replaced with name - MUST BE FIRST! - { "name": "_NAMESPACE_", "value": "nuvolaris" }, + { "name": "_NAMESPACE_", "value": "openserverless" }, { "name": "_INSTANCE_", "value": name }, { "name": "_JOB_", "value": job_name }, { "name": "_ACTION_", "value": action }, { "name": "_APIHOST_", "value": cfg.get("config.apihost", defval="undefined-apihost") }, - { "name": "_AUTH_", "value": cfg.get("openwhisk.namespaces.nuvolaris", defval="undefined-auth") } + { "name": "_AUTH_", "value": cfg.get("openwhisk.namespaces.openserverless", defval="undefined-auth") } ] if "env" in spec: @@ -74,7 +74,7 @@ def generate_job(name, spec, action): return tpl.expand_template('workflow-job.yaml', data) # tested by an integration test -@kopf.on.create('nuvolaris.org', 'v1', 'workflows') +@kopf.on.create('openserverless.org', 'v1', 'workflows') def workflows_create(spec, name, **kwargs): logging.info(f"*** workflows_create {name}") try: @@ -84,7 +84,7 @@ def workflows_create(spec, name, **kwargs): kube.apply(generate_job(name, spec, "create")) return status() -@kopf.on.delete('nuvolaris.org', 'v1', 'workflows') +@kopf.on.delete('openserverless.org', 'v1', 'workflows') def workflows_delete(spec, name, **kwargs): logging.info(f"*** workflows_delete {name}") job_name = f"{name}-create" diff --git a/nuvolaris/zookeeper.py b/openserverless/zookeeper.py similarity index 86% rename from nuvolaris/zookeeper.py rename to openserverless/zookeeper.py index 0ba51979..597ac018 100644 --- a/nuvolaris/zookeeper.py +++ b/openserverless/zookeeper.py @@ -16,11 +16,11 @@ # under the License. # import kopf, logging, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.enterprise_util as cfg_util -import nuvolaris.util as util +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.enterprise_util as cfg_util +import openserverless.util as util def get_zookeeper_pod_name(): pod_name = kube.kubectl("get", "pods", jsonpath="{.items[?(@.metadata.labels.app == 'zookeeper')].metadata.name}") @@ -60,8 +60,8 @@ def create(owner=None): # dynamically detect zookeeper pod and wait for readiness util.wait_for_pod_ready("{.items[?(@.metadata.labels.app == 'zookeeper')].metadata.name}") - cfg.put("nuvolaris.zookeeper.url",get_zookeeper_connect_data()) - logging.info(f"zookeeper connection string is {cfg.get('nuvolaris.zookeeper.url')}") + cfg.put("openserverless.zookeeper.url",get_zookeeper_connect_data()) + logging.info(f"zookeeper connection string is {cfg.get('openserverless.zookeeper.url')}") logging.info("*** configured zookeeper") return res diff --git a/profile.ipy b/profile.ipy index f59c7beb..8c920160 100644 --- a/profile.ipy +++ b/profile.ipy @@ -21,19 +21,19 @@ import logging logging.basicConfig(level=logging.DEBUG) import sys, os, os.path, yaml, json -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.templates as tpl +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.templates as tpl import requests as req -import nuvolaris.testutil as tu +import openserverless.testutil as tu -k='kubectl -n nuvolaris' -ka='kubectl -n nuvolaris apply' -kd='kubectl -n nuvolaris delete' -kde='kubectl -n nuvolaris describe' -kg='kubectl -n nuvolaris get' +k='kubectl -n openserverless' +ka='kubectl -n openserverless apply' +kd='kubectl -n openserverless delete' +kde='kubectl -n openserverless describe' +kg='kubectl -n openserverless get' kns='kubectl config set-context --current --namespace' def yd(r): diff --git a/pyproject.toml b/pyproject.toml index 7bb2e669..813f791d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ # under the License. # [tool.poetry] -name = "nuvolaris" +name = "openserverless" version = "2.0.0" description = "Apache OpenServerless operator" authors = ["Michele Sciabarra ","Francesco Timperi Tiberi "] @@ -42,9 +42,9 @@ bcrypt = "^4.2.1" ipython = "^8.15.0" [tool.poetry.scripts] -dbinit = "nuvolaris.couchdb:init" -actionexecutor = "nuvolaris.actionexecutor:start" -quota_checker = "nuvolaris.quota_checker:start" +dbinit = "openserverless.couchdb:init" +actionexecutor = "openserverless.actionexecutor:start" +quota_checker = "openserverless.quota_checker:start" [build-system] requires = ["poetry-core>=1.5.0"] diff --git a/run.sh b/run.sh index 38f9f114..aed48f9d 100755 --- a/run.sh +++ b/run.sh @@ -26,10 +26,10 @@ then mkdir -p deploy cd .. fi # start the operator if possible -KOPF="${VIRTUAL_ENV:-/home/nuvolaris/.venv}/bin/kopf" -if kubectl -n nuvolaris get cm/config +KOPF="${VIRTUAL_ENV:-/home/openserverless/.venv}/bin/kopf" +if kubectl -n openserverless get cm/config then if test -x "$KOPF" - then exec "$KOPF" run -n nuvolaris -m nuvolaris nuvolaris/main.py nuvolaris/user_handlers.py nuvolaris/workflows.py "$@" + then exec "$KOPF" run -n openserverless -m openserverless openserverless/main.py openserverless/user_handlers.py openserverless/workflows.py "$@" else echo "kopf not found at $KOPF - run 'task setup' first." fi else echo "You need to 'kubectl apply -f deploy/permissions' before starting the operator." diff --git a/tests/aks/whisk.yaml b/tests/aks/whisk.yaml index a44700ae..839e3bc9 100644 --- a/tests/aks/whisk.yaml +++ b/tests/aks/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: auto components: @@ -50,7 +50,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,6 +115,6 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/config_test.ipy b/tests/config_test.ipy index 82c2ec05..b4e3111c 100644 --- a/tests/config_test.ipy +++ b/tests/config_test.ipy @@ -16,7 +16,7 @@ # under the License. # -import nuvolaris.config as cfg +import openserverless.config as cfg cfg.clean() assert(len(cfg.getall("")) == 0) @@ -35,11 +35,11 @@ assert(len(cfg.keys("a.c")) == 2) assert(cfg.configure({"a":1})) assert(cfg.get("a") == 1 ) -labels = [{"nuvolaris.io/hello": "world", "something": "else" }, {}, {"nothing":"here"}] -cfg.put("nuvolaris.kube","auto") +labels = [{"openserverless.io/hello": "world", "something": "else" }, {}, {"nothing":"here"}] +cfg.put("openserverless.kube","auto") cfg.detect_labels(labels) -assert(cfg.get("nuvolaris.hello") == "world") -assert(cfg.get("nuvolaris.kube") == "generic") +assert(cfg.get("openserverless.hello") == "world") +assert(cfg.get("openserverless.kube") == "generic") assert(len(cfg.getall("")) == 3) diff --git a/tests/couchdb_test.ipy b/tests/couchdb_test.ipy index 0e9bf27f..2e804c66 100644 --- a/tests/couchdb_test.ipy +++ b/tests/couchdb_test.ipy @@ -15,19 +15,19 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.testutil as tu -import nuvolaris.couchdb as cdb +import openserverless.config as cfg +import openserverless.testutil as tu +import openserverless.couchdb as cdb tu.load_image_env() assert(cfg.configure(tu.load_sample_config())) cfg.detect() #cfg.put("couchdb.host", "couchdb") cdb.create(None) -r = %system kubectl -n nuvolaris wait --for=condition=complete job/couchdb-init --timeout="600s" +r = %system kubectl -n openserverless wait --for=condition=complete job/couchdb-init --timeout="600s" assert(r[0].find("condition met") != -1) -r = %system kubectl -n nuvolaris logs -l job=couchdb-init | grep "OK: enable_db_compaction: subjects" +r = %system kubectl -n openserverless logs -l job=couchdb-init | grep "OK: enable_db_compaction: subjects" assert(r[1].find("OK:") != -1) diff --git a/tests/cron_test.ipy b/tests/cron_test.ipy index d8910f24..f9695219 100644 --- a/tests/cron_test.ipy +++ b/tests/cron_test.ipy @@ -16,8 +16,8 @@ # under the License. # -import nuvolaris.cronjob as cron -import nuvolaris.kube as kube +import openserverless.cronjob as cron +import openserverless.kube as kube assert(cron.create()) assert(kube.get("cronjob.batch/cron-init")) diff --git a/tests/eks/config_test.ipy b/tests/eks/config_test.ipy index c4f27a0b..a666d49a 100644 --- a/tests/eks/config_test.ipy +++ b/tests/eks/config_test.ipy @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg +import openserverless.config as cfg cfg.clean() -assert(cfg.detect_labels()['nuvolaris.kube']=="eks") -assert(cfg.detect_storage()["nuvolaris.storageclass"]=="gp2") +assert(cfg.detect_labels()['openserverless.kube']=="eks") +assert(cfg.detect_storage()["openserverless.storageclass"]=="gp2") diff --git a/tests/eks/whisk-full.yaml b/tests/eks/whisk-full.yaml index 6a8433fd..cb755e3d 100644 --- a/tests/eks/whisk-full.yaml +++ b/tests/eks/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: apihost: eks.n9s.cc password: nuvpassw0rd components: @@ -53,7 +53,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -119,7 +119,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -128,8 +128,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -138,8 +138,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -150,7 +150,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -165,5 +165,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 \ No newline at end of file diff --git a/tests/eks/whisk-user.yaml b/tests/eks/whisk-user.yaml index ce3cc798..9a593acf 100644 --- a/tests/eks/whisk-user.yaml +++ b/tests/eks/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/eks/whisk.yaml b/tests/eks/whisk.yaml index afb05198..1293754a 100644 --- a/tests/eks/whisk.yaml +++ b/tests/eks/whisk.yaml @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd - apihost: nuvolaris.ftt.eks.n9s.cc + apihost: openserverless.ftt.eks.n9s.cc components: # start openwhisk controller openwhisk: true @@ -50,7 +50,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,6 +115,6 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/etcd_test.ipy b/tests/etcd_test.ipy index 07c9780e..e5216570 100644 --- a/tests/etcd_test.ipy +++ b/tests/etcd_test.ipy @@ -17,14 +17,14 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.etcd as etcd -import nuvolaris.kube as kube +import openserverless.config as cfg +import openserverless.etcd as etcd +import openserverless.kube as kube cfg.clean() cfg.detect_labels() cfg.detect_storage() assert(etcd.create()) -assert(kube.get("po/nuvolaris-etcd-0")) +assert(kube.get("po/openserverless-etcd-0")) assert(etcd.delete()) diff --git a/tests/generic/whisk-full.yaml b/tests/generic/whisk-full.yaml index 8a374f4c..966145c8 100644 --- a/tests/generic/whisk-full.yaml +++ b/tests/generic/whisk-full.yaml @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd - #apihost: apidev.nuvolaris.io + #apihost: apidev.openserverless.io #apiport: 80 #protocol: http components: @@ -54,7 +54,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -103,7 +103,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -112,8 +112,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -122,8 +122,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -134,7 +134,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -149,5 +149,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 \ No newline at end of file diff --git a/tests/generic/whisk.yaml b/tests/generic/whisk.yaml index c5441f80..78c5a093 100644 --- a/tests/generic/whisk.yaml +++ b/tests/generic/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: auto kube: auto @@ -51,7 +51,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,5 +115,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/gke/whisk.yaml b/tests/gke/whisk.yaml index 82961a4b..520c826f 100644 --- a/tests/gke/whisk.yaml +++ b/tests/gke/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: api.gke.nuvtest.net components: @@ -50,7 +50,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,6 +115,6 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/invoker_test.ipy b/tests/invoker_test.ipy index 5e0edf84..36d0451b 100644 --- a/tests/invoker_test.ipy +++ b/tests/invoker_test.ipy @@ -15,19 +15,19 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.invoker as invoker -import nuvolaris.kafka as kafka -import nuvolaris.kube as kube -import nuvolaris.testutil as tu -import nuvolaris.zookeeper as zookeeper +import openserverless.config as cfg +import openserverless.invoker as invoker +import openserverless.kafka as kafka +import openserverless.kube as kube +import openserverless.testutil as tu +import openserverless.zookeeper as zookeeper # test assert(cfg.configure(tu.load_sample_config(name="whisk-full"))) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) assert(zookeeper.create()) @@ -38,11 +38,11 @@ zookeeper_version = kube.kubectl("get", f"pods/{pod_name}", jsonpath="{.spec.con assert(zookeeper_version[0] == "ghcr.io/nuvolaris/zookeeper:3.4.14") # check the url is stored into the configuration -assert(cfg.get("nuvolaris.zookeeper.url") == "zookeeper-0.zookeeper:2181") +assert(cfg.get("openserverless.zookeeper.url") == "zookeeper-0.zookeeper:2181") assert(kafka.create()) # check the url is stored into the configuration -assert(cfg.get("nuvolaris.kafka.url") == "kafka:9092") +assert(cfg.get("openserverless.kafka.url") == "kafka:9092") assert(invoker.create()) diff --git a/tests/k3s/config_test.ipy b/tests/k3s/config_test.ipy index 6250fd9a..376b74d1 100644 --- a/tests/k3s/config_test.ipy +++ b/tests/k3s/config_test.ipy @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg +import openserverless.config as cfg cfg.clean() -assert(cfg.detect_labels()['nuvolaris.kube'] == "k3s") -assert(cfg.detect_storage()['nuvolaris.storageclass'] in ["local-path"]) +assert(cfg.detect_labels()['openserverless.kube'] == "k3s") +assert(cfg.detect_storage()['openserverless.storageclass'] in ["local-path"]) diff --git a/tests/k3s/ingress_test.ipy b/tests/k3s/ingress_test.ipy index ade53d20..a8536a28 100644 --- a/tests/k3s/ingress_test.ipy +++ b/tests/k3s/ingress_test.ipy @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -!kubectl config set-context --current --namespace nuvolaris +!kubectl config set-context --current --namespace openserverless import requests as req -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.testutil as tu +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.testutil as tu -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all host = %system kubectl config view -o json | jq -r '.clusters[0].cluster.server' | sed -e 's|^.*//\(.*\):.*$|\1|' host = host[0] diff --git a/tests/k3s/minimal.yaml b/tests/k3s/minimal.yaml index f7ac1ecb..d656af2c 100644 --- a/tests/k3s/minimal.yaml +++ b/tests/k3s/minimal.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: $APIHOST components: @@ -46,7 +46,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: volume-size: 10 admin: @@ -64,8 +64,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 kafka: host: kafka @@ -77,7 +77,7 @@ spec: acme-server-url: https://acme-v02.api.letsencrypt.org/directory minio: volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin configs: diff --git a/tests/k3s/whisk-full.yaml b/tests/k3s/whisk-full.yaml index d6b6c9d4..63804a5d 100644 --- a/tests/k3s/whisk-full.yaml +++ b/tests/k3s/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: apihost: localhost password: nuvpassw0rd components: @@ -54,7 +54,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -122,7 +122,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -131,8 +131,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -141,8 +141,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -168,5 +168,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 \ No newline at end of file diff --git a/tests/k3s/whisk-user.yaml b/tests/k3s/whisk-user.yaml index 2869ac87..a98dbbdc 100644 --- a/tests/k3s/whisk-user.yaml +++ b/tests/k3s/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/k3s/whisk.yaml b/tests/k3s/whisk.yaml index bd554f18..95885838 100644 --- a/tests/k3s/whisk.yaml +++ b/tests/k3s/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: apihost: localhost password: nuvpassw0rd components: @@ -58,7 +58,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -126,7 +126,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -135,8 +135,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -150,8 +150,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -177,7 +177,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 etcd: volume-size: 5 diff --git a/tests/kafka_test.ipy b/tests/kafka_test.ipy index 2e0f8330..03b7a859 100644 --- a/tests/kafka_test.ipy +++ b/tests/kafka_test.ipy @@ -15,18 +15,18 @@ # specific language governing permissions and limitations # under the License. # -%system kubectl -n nuvolaris delete all --all -%system kubectl -n nuvolaris delete pvc --all +%system kubectl -n openserverless delete all --all +%system kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kafka as kafka -import nuvolaris.kube as kube -import nuvolaris.testutil as tu -import nuvolaris.zookeeper as zookeeper +import openserverless.config as cfg +import openserverless.kafka as kafka +import openserverless.kube as kube +import openserverless.testutil as tu +import openserverless.zookeeper as zookeeper # test assert(cfg.configure(tu.load_sample_config(name="whisk-full"))) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) assert(zookeeper.create()) @@ -37,7 +37,7 @@ zookeeper_version = kube.kubectl("get", f"pods/{pod_name}", jsonpath="{.spec.con assert(zookeeper_version[0] == "ghcr.io/nuvolaris/zookeeper:3.4.14") # check the url is stored into the configuration -assert(cfg.get("nuvolaris.zookeeper.url") == "zookeeper-0.zookeeper:2181") +assert(cfg.get("openserverless.zookeeper.url") == "zookeeper-0.zookeeper:2181") assert(kafka.create()) @@ -45,7 +45,7 @@ pod_name = kafka.get_kafka_pod_name() assert(pod_name) # check the url is stored into the configuration -assert(cfg.get("nuvolaris.kafka.url") == "kafka:9092") +assert(cfg.get("openserverless.kafka.url") == "kafka:9092") assert(kafka.delete()) assert(zookeeper.delete()) \ No newline at end of file diff --git a/tests/kind/action_executor_test.ipy b/tests/kind/action_executor_test.ipy index c5d83969..68e7e902 100644 --- a/tests/kind/action_executor_test.ipy +++ b/tests/kind/action_executor_test.ipy @@ -15,14 +15,14 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.actionexecutor as ae -import nuvolaris.config as cfg -import nuvolaris.couchdb as cb -import nuvolaris.couchdb_util as cu -import nuvolaris.testutil as tu +import openserverless.actionexecutor as ae +import openserverless.config as cfg +import openserverless.couchdb as cb +import openserverless.couchdb_util as cu +import openserverless.testutil as tu # init assert(cfg.configure(tu.load_sample_config())) @@ -31,7 +31,7 @@ assert(cfg.put("couchdb.host", "localhost")) #!nuv action create hello-cron-action tests/hello.js -a cron "*/2 * * * *" cb.create(None) -!kubectl -n nuvolaris wait --for=condition=ready pod couchdb-0 +!kubectl -n openserverless wait --for=condition=ready pod couchdb-0 db = cu.CouchDB() assert(db.wait_db_ready(60)) diff --git a/tests/kind/bcrypt_util_test.ipy b/tests/kind/bcrypt_util_test.ipy index d8fa638e..2c16cb92 100644 --- a/tests/kind/bcrypt_util_test.ipy +++ b/tests/kind/bcrypt_util_test.ipy @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.bcrypt_util as bu +import openserverless.bcrypt_util as bu password = "MySecurePassword123!" hashed = bu.hash_password(password) diff --git a/tests/kind/config_test.ipy b/tests/kind/config_test.ipy index e5f0454e..8d770da3 100644 --- a/tests/kind/config_test.ipy +++ b/tests/kind/config_test.ipy @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.testutil as tu #print("kind") cfg.clean() -assert(cfg.detect_labels()['nuvolaris.kube'] == "kind") -assert(cfg.detect_storage()['nuvolaris.storageclass'] == "standard") +assert(cfg.detect_labels()['openserverless.kube'] == "kind") +assert(cfg.detect_storage()['openserverless.storageclass'] == "standard") # check hostpath cfg.configure(tu.load_sample_config()) diff --git a/tests/kind/config_user_test.ipy b/tests/kind/config_user_test.ipy index 7a0d708b..510180aa 100644 --- a/tests/kind/config_user_test.ipy +++ b/tests/kind/config_user_test.ipy @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.user_config as user_cfg -import nuvolaris.testutil as tu +import openserverless.user_config as user_cfg +import openserverless.testutil as tu spec = tu.load_sample_user_config() cfg = user_cfg.UserConfig(spec) diff --git a/tests/kind/couchdb_compactions_test.ipy b/tests/kind/couchdb_compactions_test.ipy index 300647bc..d6ae17d7 100644 --- a/tests/kind/couchdb_compactions_test.ipy +++ b/tests/kind/couchdb_compactions_test.ipy @@ -16,27 +16,27 @@ # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cdbu -import nuvolaris.kube as kube -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cdbu +import openserverless.kube as kube +import openserverless.testutil as tu assert(cfg.configure(tu.load_sample_config())) cfg.put("couchdb.host", "localhost") -assert(cfg.detect_labels()["nuvolaris.kube"] == "kind") -assert(cfg.detect_storage()["nuvolaris.storageclass"] == "standard") +assert(cfg.detect_labels()["openserverless.kube"] == "kind") +assert(cfg.detect_storage()["openserverless.storageclass"] == "standard") assert(cfg.get("couchdb.host") == "localhost") !kubectl apply -f tests/kind/whisk.yaml wsk = kube.get("wsk/controller") cdb.create(wsk) -import nuvolaris.couchdb_util -db = nuvolaris.couchdb_util.CouchDB() +import openserverless.couchdb_util +db = openserverless.couchdb_util.CouchDB() assert(db.wait_db_ready(60)) assert(db.configure_single_node()) @@ -50,5 +50,5 @@ assert(cdb.add_initial_subjects(db)) assert(cdb.init_compactions_config(db)) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all diff --git a/tests/kind/couchdb_lib_test.ipy b/tests/kind/couchdb_lib_test.ipy index 776a5957..b1d5bca4 100644 --- a/tests/kind/couchdb_lib_test.ipy +++ b/tests/kind/couchdb_lib_test.ipy @@ -16,27 +16,27 @@ # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cdbu -import nuvolaris.kube as kube -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cdbu +import openserverless.kube as kube +import openserverless.testutil as tu assert(cfg.configure(tu.load_sample_config())) cfg.put("couchdb.host", "localhost") -assert(cfg.detect_labels()["nuvolaris.kube"] == "kind") -assert(cfg.detect_storage()["nuvolaris.storageclass"] == "standard") +assert(cfg.detect_labels()["openserverless.kube"] == "kind") +assert(cfg.detect_storage()["openserverless.storageclass"] == "standard") assert(cfg.get("couchdb.host") == "localhost") !kubectl apply -f tests/kind/whisk.yaml wsk = kube.get("wsk/controller") cdb.create(wsk) -import nuvolaris.couchdb_util -db = nuvolaris.couchdb_util.CouchDB() +import openserverless.couchdb_util +db = openserverless.couchdb_util.CouchDB() assert(db.wait_db_ready(60)) assert(db.configure_single_node()) @@ -57,13 +57,13 @@ assert(cdb.init_activations(db)) assert(cdb.init_actions(db)) assert(cdb.add_initial_subjects(db)) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all """ -import nuvolaris.couchdb_util as cu -import nuvolaris.couchdb as cdb -import nuvolaris.testutil as tu +import openserverless.couchdb_util as cu +import openserverless.couchdb as cdb +import openserverless.testutil as tu import requests as req cdb.init() # TODO check the database after the init diff --git a/tests/kind/couchdb_util_test.ipy b/tests/kind/couchdb_util_test.ipy index a09b063d..2b311023 100644 --- a/tests/kind/couchdb_util_test.ipy +++ b/tests/kind/couchdb_util_test.ipy @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cu -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cu +import openserverless.testutil as tu -!kubectl apply -f deploy/nuvolaris-permissions/nuvolaris-common.yaml +!kubectl apply -f deploy/openserverless-permissions/openserverless-common.yaml # init assert(cfg.configure(tu.load_sample_config())) cfg.detect() @@ -31,7 +31,7 @@ cfg.put("couchdb.host", "localhost") assert(cfg.get("couchdb.host") == "localhost") cdb.create(None) -!kubectl -n nuvolaris wait --for=condition=ready pod couchdb-0 +!kubectl -n openserverless wait --for=condition=ready pod couchdb-0 db = cu.CouchDB() diff --git a/tests/kind/dbinit.ipy b/tests/kind/dbinit.ipy index 3e502e74..891bdac8 100644 --- a/tests/kind/dbinit.ipy +++ b/tests/kind/dbinit.ipy @@ -15,12 +15,12 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.couchdb as cdb -import nuvolaris.config as cfg -import nuvolaris.testutil as tu +import openserverless.couchdb as cdb +import openserverless.config as cfg +import openserverless.testutil as tu import os, json -os.environ["NUVOLARIS_CONFIG"] = json.dumps(tu.load_sample_config()) +os.environ["OPENSERVERLESS_CONFIG"] = json.dumps(tu.load_sample_config()) os.environ["COUCHDB_SERVICE_HOST"] = "localhost" cfg.detect() @@ -28,5 +28,5 @@ cdb.create(None) assert(not cdb.init()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all diff --git a/tests/kind/dbonly.yaml b/tests/kind/dbonly.yaml index 743cca71..2ed0c780 100644 --- a/tests/kind/dbonly.yaml +++ b/tests/kind/dbonly.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -39,7 +39,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 diff --git a/tests/kind/ferretdb_test.ipy b/tests/kind/ferretdb_test.ipy index 72438bdf..de9ceaf5 100644 --- a/tests/kind/ferretdb_test.ipy +++ b/tests/kind/ferretdb_test.ipy @@ -15,14 +15,14 @@ # specific language governing permissions and limitations # under the License. # -#!kubectl -n nuvolaris delete all --all -#!kubectl -n nuvolaris delete pvc --all +#!kubectl -n openserverless delete all --all +#!kubectl -n openserverless delete pvc --all # -#import nuvolaris.config as cfg -#import nuvolaris.ferretdb as mdb -#import nuvolaris.kube as kube -#import nuvolaris.postgres_operator as postgres -#import nuvolaris.testutil as tu +#import openserverless.config as cfg +#import openserverless.ferretdb as mdb +#import openserverless.kube as kube +#import openserverless.postgres_operator as postgres +#import openserverless.testutil as tu # ## test #assert(cfg.configure(tu.load_sample_config())) @@ -30,12 +30,12 @@ #assert(postgres.create()) #assert(mdb.create()) # -#while not kube.wait("pod/nuvolaris-mongodb-0", "condition=ready"): pass +#while not kube.wait("pod/openserverless-mongodb-0", "condition=ready"): pass # -#assert(kube.get("service/nuvolaris-mongodb-svc")) +#assert(kube.get("service/openserverless-mongodb-svc")) #assert(kube.kubectl("get", f"cm/config", jsonpath="{.metadata.annotations.mongodb_url}")) #assert(mdb.delete()) #assert(postgres.delete()) # -#!kubectl -n nuvolaris delete all --all -#!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +#!kubectl -n openserverless delete all --all +#!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/milvus_standalone_slim_test.ipy b/tests/kind/milvus_standalone_slim_test.ipy index 2480dbeb..7c02d48a 100644 --- a/tests/kind/milvus_standalone_slim_test.ipy +++ b/tests/kind/milvus_standalone_slim_test.ipy @@ -19,27 +19,27 @@ import os -import nuvolaris.config as cfg -import nuvolaris.milvus_standalone as milvus -import nuvolaris.minio_deploy as minio -import nuvolaris.seaweedfs_deploy as seaweedfs -import nuvolaris.etcd as etcd -import nuvolaris.testutil as tu -from nuvolaris.milvus_simple_client import MilvusSimpleClient as MilvusClient -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.config as cfg +import openserverless.milvus_standalone as milvus +import openserverless.minio_deploy as minio +import openserverless.seaweedfs_deploy as seaweedfs +import openserverless.etcd as etcd +import openserverless.testutil as tu +from openserverless.milvus_simple_client import MilvusSimpleClient as MilvusClient +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata #tu.enable_debug_logging() ### Initial cleanup -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config("kind/whisk-slim"))) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) -assert(cfg.get("nuvolaris.slim") == True) +assert(cfg.detect_storage()["openserverless.storageclass"]) +assert(cfg.get("openserverless.slim") == True) assert(cfg.get("components.milvus") == True) is_minio = cfg.get('components.minio') or False @@ -118,6 +118,6 @@ if is_seaweedfs: assert(seaweedfs.delete()) # final cleanup -tu.run_proc("kubectl -n nuvolaris delete all --all") +tu.run_proc("kubectl -n openserverless delete all --all") # etcd pvc in particular -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") diff --git a/tests/kind/milvus_standalone_test.ipy b/tests/kind/milvus_standalone_test.ipy index 4011c4ed..26acc2ea 100644 --- a/tests/kind/milvus_standalone_test.ipy +++ b/tests/kind/milvus_standalone_test.ipy @@ -19,27 +19,27 @@ import os -import nuvolaris.config as cfg -import nuvolaris.etcd as etcd -import nuvolaris.milvus_standalone as milvus -import nuvolaris.minio_deploy as minio -import nuvolaris.seaweedfs_deploy as seaweedfs -import nuvolaris.testutil as tu -from nuvolaris.milvus_simple_client import MilvusSimpleClient as MilvusClient -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.config as cfg +import openserverless.etcd as etcd +import openserverless.milvus_standalone as milvus +import openserverless.minio_deploy as minio +import openserverless.seaweedfs_deploy as seaweedfs +import openserverless.testutil as tu +from openserverless.milvus_simple_client import MilvusSimpleClient as MilvusClient +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata #tu.enable_debug_logging() ### Initial cleanup -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) -assert(cfg.get("nuvolaris.slim") == None or cfg.get("nuvolaris.slim") == False) +assert(cfg.detect_storage()["openserverless.storageclass"]) +assert(cfg.get("openserverless.slim") == None or cfg.get("openserverless.slim") == False) assert(cfg.get("components.milvus") == True) is_minio = cfg.get('components.minio') or False @@ -115,5 +115,5 @@ if is_minio: if is_seaweedfs: assert(seaweedfs.delete()) -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") diff --git a/tests/kind/minimal.yaml b/tests/kind/minimal.yaml index 534e37b5..71bdc31e 100644 --- a/tests/kind/minimal.yaml +++ b/tests/kind/minimal.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -49,7 +49,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -69,8 +69,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -89,7 +89,7 @@ spec: acme-server-url: https://acme-staging-v02.api.letsencrypt.org/directory minio: volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin configs: diff --git a/tests/kind/minio_quota_test.ipy b/tests/kind/minio_quota_test.ipy index f7a0d7c8..dcb96360 100644 --- a/tests/kind/minio_quota_test.ipy +++ b/tests/kind/minio_quota_test.ipy @@ -17,19 +17,19 @@ # import os -import nuvolaris.config as cfg -import nuvolaris.minio_deploy as minio -import nuvolaris.minio_util as mutil -import nuvolaris.testutil as tu -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.minio_deploy as minio +import openserverless.minio_util as mutil +import openserverless.testutil as tu +import openserverless.util as util import json -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) os.environ['MINIO_API_HOST']='localhost' assert(minio.create()) diff --git a/tests/kind/minio_static_test.ipy b/tests/kind/minio_static_test.ipy index 3ccbdb32..eda93738 100644 --- a/tests/kind/minio_static_test.ipy +++ b/tests/kind/minio_static_test.ipy @@ -18,18 +18,18 @@ import os -import nuvolaris.config as cfg -import nuvolaris.minio_deploy as minio -import nuvolaris.storage_static as static -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.minio_deploy as minio +import openserverless.storage_static as static +import openserverless.testutil as tu -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) # for this test minioClient should see this env variable os.environ['MINIO_API_HOST']='localhost' diff --git a/tests/kind/minio_test.ipy b/tests/kind/minio_test.ipy index 827898ad..0764bf82 100644 --- a/tests/kind/minio_test.ipy +++ b/tests/kind/minio_test.ipy @@ -17,18 +17,18 @@ # import os -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.minio_deploy as minio -import nuvolaris.testutil as tu -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.minio_deploy as minio +import openserverless.testutil as tu +import openserverless.util as util -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) # for this test minioClient should see this env variable os.environ['MINIO_API_HOST']='localhost' diff --git a/tests/kind/minio_util_test.ipy b/tests/kind/minio_util_test.ipy index a8b3eff6..16be1a21 100644 --- a/tests/kind/minio_util_test.ipy +++ b/tests/kind/minio_util_test.ipy @@ -17,20 +17,20 @@ # import os -import nuvolaris.config as cfg -import nuvolaris.minio_deploy as minio -import nuvolaris.minio_util as mutil -import nuvolaris.testutil as tu -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.minio_deploy as minio +import openserverless.minio_util as mutil +import openserverless.testutil as tu +import openserverless.util as util tu.enable_debug_logging() -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) os.environ['MINIO_API_HOST']='localhost' assert(minio.create()) diff --git a/tests/kind/mongodb_op_test.ipy b/tests/kind/mongodb_op_test.ipy index 3bc6fcb0..84ec513c 100644 --- a/tests/kind/mongodb_op_test.ipy +++ b/tests/kind/mongodb_op_test.ipy @@ -15,27 +15,27 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.mongodb as mdb -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.mongodb as mdb +import openserverless.testutil as tu # test assert(cfg.configure(tu.load_sample_config())) cfg.detect_storage() assert(cfg.put("mongodb.useOperator", True)) assert(mdb.create()) -while not kube.wait("pod/nuvolaris-mongodb-0", "condition=ready"): pass -assert(kube.get("service/nuvolaris-mongodb-svc")) -assert(kube.get("mdbc/nuvolaris-mongodb")) +while not kube.wait("pod/openserverless-mongodb-0", "condition=ready"): pass +assert(kube.get("service/openserverless-mongodb-svc")) +assert(kube.get("mdbc/openserverless-mongodb")) -!kubectl get secret -n nuvolaris -ojson nuvolaris-mongodb-nuvolaris-nuvolaris | jq -r '.data | with_entries(.value |= @base64d)' +!kubectl get secret -n openserverless -ojson openserverless-mongodb-openserverless-openserverless | jq -r '.data | with_entries(.value |= @base64d)' assert(kube.kubectl("get", f"cm/config", jsonpath="{.metadata.annotations.mongodb_url}")) assert(mdb.delete()) -#!kubectl -n nuvolaris delete all --all -#!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +#!kubectl -n openserverless delete all --all +#!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/mongodb_std_test.ipy b/tests/kind/mongodb_std_test.ipy index 6ef4e9d7..0cf7261f 100644 --- a/tests/kind/mongodb_std_test.ipy +++ b/tests/kind/mongodb_std_test.ipy @@ -15,28 +15,28 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.mongodb as mdb -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.mongodb as mdb +import openserverless.testutil as tu # test assert(cfg.configure(tu.load_sample_config())) cfg.detect_storage() assert(cfg.put("mongodb.useOperator", False)) assert(mdb.create()) -while not kube.wait("pod/nuvolaris-mongodb-0", "condition=ready"): pass -assert(kube.get("service/nuvolaris-mongodb-svc")) +while not kube.wait("pod/openserverless-mongodb-0", "condition=ready"): pass +assert(kube.get("service/openserverless-mongodb-svc")) -flavour = kube.kubectl("get", "pod/nuvolaris-mongodb-0", jsonpath=r"{.metadata.labels.nuvolaris\.mongodb\.flavour}") +flavour = kube.kubectl("get", "pod/openserverless-mongodb-0", jsonpath=r"{.metadata.labels.openserverless\.mongodb\.flavour}") assert("standalone"==flavour[0]) assert(kube.kubectl("get", f"cm/config", jsonpath="{.metadata.annotations.mongodb_url}")) assert(mdb.delete()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/mongodb_user_test.ipy b/tests/kind/mongodb_user_test.ipy index 005f0807..235877ba 100644 --- a/tests/kind/mongodb_user_test.ipy +++ b/tests/kind/mongodb_user_test.ipy @@ -15,24 +15,24 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.mongodb as mdb -import nuvolaris.testutil as tu -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.mongodb as mdb +import openserverless.testutil as tu +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata # test assert(cfg.configure(tu.load_sample_config())) assert(cfg.put("mongodb.useOperator", False)) assert(mdb.create()) -while not kube.wait("pod/nuvolaris-mongodb-0", "condition=ready"): pass -assert(kube.get("service/nuvolaris-mongodb-svc")) +while not kube.wait("pod/openserverless-mongodb-0", "condition=ready"): pass +assert(kube.get("service/openserverless-mongodb-svc")) -flavour = kube.kubectl("get", "pod/nuvolaris-mongodb-0", jsonpath=r"{.metadata.labels.nuvolaris\.mongodb\.flavour}") +flavour = kube.kubectl("get", "pod/openserverless-mongodb-0", jsonpath=r"{.metadata.labels.openserverless\.mongodb\.flavour}") assert("standalone"==flavour[0]) spec = tu.load_sample_config("whisk-user") @@ -45,5 +45,5 @@ assert(mdb.create_db_user(ucfg, udata)) assert(mdb.delete_db_user(ucfg.get('namespace'),ucfg.get('mongodb.database'))) assert(mdb.delete()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/monitoring_test.ipy b/tests/kind/monitoring_test.ipy index c7ce0f57..a3d1ae8d 100644 --- a/tests/kind/monitoring_test.ipy +++ b/tests/kind/monitoring_test.ipy @@ -15,17 +15,17 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.monitoring as monitoring -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.monitoring as monitoring +import openserverless.testutil as tu # test assert(cfg.configure(tu.load_sample_config("whisk-full"))) cfg.detect_storage() -assert(cfg.get("nuvolaris.storageclass")) +assert(cfg.get("openserverless.storageclass")) assert(monitoring.create()) assert(monitoring.delete()) \ No newline at end of file diff --git a/tests/kind/nuvolaris_subject_test.ipy b/tests/kind/openserverless_subject_test.ipy similarity index 69% rename from tests/kind/nuvolaris_subject_test.ipy rename to tests/kind/openserverless_subject_test.ipy index 242b67d7..e3a42bd7 100644 --- a/tests/kind/nuvolaris_subject_test.ipy +++ b/tests/kind/openserverless_subject_test.ipy @@ -16,30 +16,30 @@ # under the License. # -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cdbu -import nuvolaris.testutil as tu -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.testutil as tu +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cdbu +import openserverless.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.testutil as tu import time from kopf.testing import KopfRunner -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_labels()["nuvolaris.kube"] == "kind") -assert(cfg.detect_storage()["nuvolaris.storageclass"] == "standard") +assert(cfg.detect_labels()["openserverless.kube"] == "kind") +assert(cfg.detect_storage()["openserverless.storageclass"] == "standard") assert(cfg.put("couchdb.host", "localhost")) tu.run_proc("kubectl apply -f tests/kind/whisk.yaml") wsk = kube.get("wsk/controller") cdb.create(wsk) -import nuvolaris.couchdb_util -db = nuvolaris.couchdb_util.CouchDB() +import openserverless.couchdb_util +db = openserverless.couchdb_util.CouchDB() assert(db.wait_db_ready(60)) assert(db.configure_single_node()) @@ -51,7 +51,7 @@ assert(cdb.init_activations(db)) assert(cdb.init_actions(db)) assert(cdb.add_initial_subjects(db)) -with KopfRunner(['run', '-A', '--verbose', 'nuvolaris/user_handlers.py']) as runner: +with KopfRunner(['run', '-A', '--verbose', 'openserverless/user_handlers.py']) as runner: # do something while the operator is running. tu.run_proc("kubectl apply -f tests/whisk-user.yaml") time.sleep(1) # give it some time to react and to sleep and to retry @@ -64,6 +64,6 @@ with KopfRunner(['run', '-A', '--verbose', 'nuvolaris/user_handlers.py']) as run assert runner.exit_code == 0 assert runner.exception is None -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") diff --git a/tests/kind/openwhisk_enterprise_test.ipy b/tests/kind/openwhisk_enterprise_test.ipy index d48d0478..7aabe445 100644 --- a/tests/kind/openwhisk_enterprise_test.ipy +++ b/tests/kind/openwhisk_enterprise_test.ipy @@ -15,21 +15,21 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all - -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.invoker as invoker -import nuvolaris.kafka as kafka -import nuvolaris.kube as kube -import nuvolaris.openwhisk as ow -import nuvolaris.testutil as tu -import nuvolaris.zookeeper as zookeeper +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all + +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.invoker as invoker +import openserverless.kafka as kafka +import openserverless.kube as kube +import openserverless.openwhisk as ow +import openserverless.testutil as tu +import openserverless.zookeeper as zookeeper # test assert(cfg.configure(tu.load_sample_config(name="whisk-full"))) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) assert(cfg.put("controller.image","ghcr.io/nuvolaris/openwhisk-controller")) assert(cfg.put("controller.tag","0.3.0-morpheus.22122609")) assert(cfg.put("invoker.image","ghcr.io/nuvolaris/openwhisk-controller")) @@ -43,8 +43,8 @@ assert(cfg.put("couchdb.host", "localhost")) wsk = kube.get("wsk/controller") cdb.create(wsk) -import nuvolaris.couchdb_util -db = nuvolaris.couchdb_util.CouchDB() +import openserverless.couchdb_util +db = openserverless.couchdb_util.CouchDB() assert(db.wait_db_ready(60)) @@ -66,7 +66,7 @@ zookeeper_version = kube.kubectl("get", f"pods/{pod_name}", jsonpath="{.spec.con assert(zookeeper_version[0] == "ghcr.io/nuvolaris/zookeeper:3.4.14") # check the url is stored into the configuration -assert(cfg.get("nuvolaris.zookeeper.url") == "zookeeper-0.zookeeper:2181") +assert(cfg.get("openserverless.zookeeper.url") == "zookeeper-0.zookeeper:2181") assert(kafka.create()) @@ -74,7 +74,7 @@ pod_name = kafka.get_kafka_pod_name() assert(pod_name) # check the url is stored into the configuration -assert(cfg.get("nuvolaris.kafka.url") == "kafka:9092") +assert(cfg.get("openserverless.kafka.url") == "kafka:9092") assert(invoker.create()) assert(ow.create()) @@ -84,5 +84,5 @@ assert(invoker.delete()) assert(kafka.delete()) assert(zookeeper.delete()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/postgres_op_test.ipy b/tests/kind/postgres_op_test.ipy index 47f94bab..1d273ce8 100644 --- a/tests/kind/postgres_op_test.ipy +++ b/tests/kind/postgres_op_test.ipy @@ -15,14 +15,14 @@ # specific language governing permissions and limitations # under the License. # -#!kubectl -n nuvolaris delete kubegres --all -#!kubectl -n nuvolaris delete all --all -#!kubectl -n nuvolaris delete pvc --all +#!kubectl -n openserverless delete kubegres --all +#!kubectl -n openserverless delete all --all +#!kubectl -n openserverless delete pvc --all # -#import nuvolaris.config as cfg -#import nuvolaris.kube as kube -#import nuvolaris.postgres_operator as pdb -#import nuvolaris.testutil as tu +#import openserverless.config as cfg +#import openserverless.kube as kube +#import openserverless.postgres_operator as pdb +#import openserverless.testutil as tu # ## test #assert(cfg.configure(tu.load_sample_config())) @@ -32,5 +32,5 @@ #assert(kube.kubectl("get", f"cm/config", jsonpath="{.metadata.annotations.postgres_host}")) #assert(pdb.delete()) # -#!kubectl -n nuvolaris delete all --all -#!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +#!kubectl -n openserverless delete all --all +#!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/kind/registry_test.ipy b/tests/kind/registry_test.ipy index 5e74e2a2..ce37b9a2 100644 --- a/tests/kind/registry_test.ipy +++ b/tests/kind/registry_test.ipy @@ -17,21 +17,21 @@ # import os -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.registry_deploy as registry_deploy -import nuvolaris.testutil as tu -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.registry_deploy as registry_deploy +import openserverless.testutil as tu +import openserverless.util as util import logging logging.basicConfig(level=logging.DEBUG) -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) # for this test minioClient should see this env variable assert(registry_deploy.create()) diff --git a/tests/kind/runtimes_preloader_test.ipy b/tests/kind/runtimes_preloader_test.ipy index c57528c8..afbee5e8 100644 --- a/tests/kind/runtimes_preloader_test.ipy +++ b/tests/kind/runtimes_preloader_test.ipy @@ -15,21 +15,21 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg -import nuvolaris.util as util -import nuvolaris.runtimes_util as rutil -import nuvolaris.testutil as tu -import nuvolaris.kube as kube +import openserverless.config as cfg +import openserverless.util as util +import openserverless.runtimes_util as rutil +import openserverless.testutil as tu +import openserverless.kube as kube import json def cleanup(): try: - get_ipython().system("kubectl -n nuvolaris delete all --all") - get_ipython().system("kubectl -n nuvolaris delete pvc --all") + get_ipython().system("kubectl -n openserverless delete all --all") + get_ipython().system("kubectl -n openserverless delete pvc --all") except NameError: import subprocess - subprocess.run(["kubectl", "-n", "nuvolaris", "delete", "all", "--all"], check=True) - subprocess.run(["kubectl", "-n", "nuvolaris", "delete", "pvc", "--all"], check=True) + subprocess.run(["kubectl", "-n", "openserverless", "delete", "all", "--all"], check=True) + subprocess.run(["kubectl", "-n", "openserverless", "delete", "pvc", "--all"], check=True) cleanup() diff --git a/tests/kind/seaweedfs_test.ipy b/tests/kind/seaweedfs_test.ipy index d7b7e0e8..f43a0ffd 100644 --- a/tests/kind/seaweedfs_test.ipy +++ b/tests/kind/seaweedfs_test.ipy @@ -17,17 +17,17 @@ # import os -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.seaweedfs_deploy as seaweedfs_deploy -import nuvolaris.testutil as tu -import nuvolaris.util as util +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.seaweedfs_deploy as seaweedfs_deploy +import openserverless.testutil as tu +import openserverless.util as util import logging logging.basicConfig(level=logging.DEBUG) -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") # for this test seaweedfsClient should see this env variable os.environ['SEAWEEDFS_API_HOST']='localhost' @@ -35,7 +35,7 @@ os.environ['SEAWEEDFS_API_PORT']='9090' # test assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) # for this test minioClient should see this env variable assert(seaweedfs_deploy.create()) diff --git a/tests/kind/userdb_util_test.ipy b/tests/kind/userdb_util_test.ipy index 84d4272f..55a6be32 100644 --- a/tests/kind/userdb_util_test.ipy +++ b/tests/kind/userdb_util_test.ipy @@ -17,32 +17,32 @@ # import json -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cdbu -import nuvolaris.kube as kube -import nuvolaris.testutil as tu -import nuvolaris.user_config as user_config -import nuvolaris.user_metadata as user_metadata -import nuvolaris.userdb_util as userdb -import nuvolaris.bcrypt_util as bu -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cdbu +import openserverless.kube as kube +import openserverless.testutil as tu +import openserverless.user_config as user_config +import openserverless.user_metadata as user_metadata +import openserverless.userdb_util as userdb +import openserverless.bcrypt_util as bu +import openserverless.testutil as tu -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") assert(cfg.configure(tu.load_sample_config())) -assert(cfg.detect_labels()["nuvolaris.kube"] == "kind") -assert(cfg.detect_storage()["nuvolaris.storageclass"] == "standard") +assert(cfg.detect_labels()["openserverless.kube"] == "kind") +assert(cfg.detect_storage()["openserverless.storageclass"] == "standard") assert(cfg.put("couchdb.host", "localhost")) tu.run_proc("kubectl apply -f tests/kind/whisk.yaml") wsk = kube.get("wsk/controller") cdb.create(wsk) -import nuvolaris.couchdb_util -db = nuvolaris.couchdb_util.CouchDB() +import openserverless.couchdb_util +db = openserverless.couchdb_util.CouchDB() assert(db.wait_db_ready(60)) assert(db.configure_single_node()) @@ -85,6 +85,6 @@ docs = list(response['docs']) assert(len(docs) == 0) # cleanup -tu.run_proc("kubectl -n nuvolaris delete all --all") -tu.run_proc("kubectl -n nuvolaris delete pvc --all") +tu.run_proc("kubectl -n openserverless delete all --all") +tu.run_proc("kubectl -n openserverless delete pvc --all") diff --git a/tests/kind/whisk-affinity.yaml b/tests/kind/whisk-affinity.yaml index 6ef09034..b6a02eae 100644 --- a/tests/kind/whisk-affinity.yaml +++ b/tests/kind/whisk-affinity.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -47,10 +47,10 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP # controller: # image: "ghcr.io/nuvolaris/openwhisk-controller:0.3.0-morpheus.22122609" - nuvolaris: + openserverless: password: nuvpassw0rd storageclass: auto #standard provisioner: auto #rancher.io/local-path @@ -105,8 +105,8 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: - #prefix: nuvolaris + openserverless: + #prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -114,8 +114,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -124,8 +124,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -133,5 +133,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/kind/whisk-full-affinity.yaml b/tests/kind/whisk-full-affinity.yaml index 6ddba3f0..96915494 100644 --- a/tests/kind/whisk-full-affinity.yaml +++ b/tests/kind/whisk-full-affinity.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd affinity: true tolerations: true @@ -55,7 +55,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -144,8 +144,8 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: - prefix: nuvolaris + openserverless: + prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -153,8 +153,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -163,8 +163,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -175,7 +175,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -190,7 +190,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/kind/whisk-full-mf.yaml b/tests/kind/whisk-full-mf.yaml index 2a25aa73..55de7928 100644 --- a/tests/kind/whisk-full-mf.yaml +++ b/tests/kind/whisk-full-mf.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -53,7 +53,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -139,8 +139,8 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: - prefix: nuvolaris + openserverless: + prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -148,8 +148,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -158,8 +158,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -170,7 +170,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -185,7 +185,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/kind/whisk-full-storage.yaml b/tests/kind/whisk-full-storage.yaml index 7109aca5..ef603cf3 100644 --- a/tests/kind/whisk-full-storage.yaml +++ b/tests/kind/whisk-full-storage.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: couchdb: true @@ -42,10 +42,10 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP cosi: bucket_storageclass: rook-ceph-bucket - rgwservice_name: rook-ceph-rgw-nuvolaris-s3-store + rgwservice_name: rook-ceph-rgw-openserverless-s3-store rgwservice_port: "80" namespace: rook-ceph ingress: @@ -141,8 +141,8 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: - prefix: nuvolaris + openserverless: + prefix: openserverless password: s0meP@ass4 mongodb: host: mongodb @@ -150,8 +150,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -165,8 +165,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -177,7 +177,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -192,7 +192,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 backup: enabled: true diff --git a/tests/kind/whisk-full.yaml b/tests/kind/whisk-full.yaml index 9d23f704..20adf7c9 100644 --- a/tests/kind/whisk-full.yaml +++ b/tests/kind/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -59,7 +59,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -157,8 +157,8 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: - prefix: nuvolaris + openserverless: + prefix: openserverless password: s0meP@ass4 mongodb: host: mongodb @@ -166,8 +166,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -181,8 +181,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -193,7 +193,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -208,7 +208,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 backup: enabled: true diff --git a/tests/kind/whisk-gpt-user.yaml b/tests/kind/whisk-gpt-user.yaml index 06b72511..e5198ef8 100644 --- a/tests/kind/whisk-gpt-user.yaml +++ b/tests/kind/whisk-gpt-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: gptuser - namespace: nuvolaris + namespace: openserverless spec: email: gptuser@nuvolaris.io password: apassw0rd diff --git a/tests/kind/whisk-mf-demo.yaml b/tests/kind/whisk-mf-demo.yaml index f5d54718..ce9e4c70 100644 --- a/tests/kind/whisk-mf-demo.yaml +++ b/tests/kind/whisk-mf-demo.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -47,8 +47,8 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: password: nuvpassw0rd storageclass: auto #standard provisioner: auto #rancher.io/local-path @@ -108,8 +108,8 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: - #prefix: nuvolaris + openserverless: + #prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -117,8 +117,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -127,8 +127,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -136,5 +136,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/kind/whisk-minimal.yaml b/tests/kind/whisk-minimal.yaml index 6b8afcce..9093c957 100644 --- a/tests/kind/whisk-minimal.yaml +++ b/tests/kind/whisk-minimal.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -57,8 +57,8 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: password: nuvpassw0rd storageclass: auto #standard provisioner: auto #rancher.io/local-path @@ -112,8 +112,8 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: - #prefix: nuvolaris + openserverless: + #prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -121,8 +121,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -131,8 +131,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG milvus: volume-size: @@ -149,15 +149,15 @@ spec: mode: internal volume-size: 20 auth: - username: nuvolaris + username: openserverless password: 4pwdregistry hostname: auto ingress: enabled: false seaweedfs: volume-size: 60 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG ingress: s3-enabled: true diff --git a/tests/kind/whisk-slim.yaml b/tests/kind/whisk-slim.yaml index 8357bb40..565be5c8 100644 --- a/tests/kind/whisk-slim.yaml +++ b/tests/kind/whisk-slim.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -57,8 +57,8 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: password: nuvpassw0rd storageclass: auto #standard provisioner: auto #rancher.io/local-path @@ -113,8 +113,8 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: - #prefix: nuvolaris + openserverless: + #prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -122,8 +122,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -132,8 +132,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -141,7 +141,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 etcd: volume-size: 5 @@ -165,15 +165,15 @@ spec: mode: internal volume-size: 20 auth: - username: nuvolaris + username: openserverless password: 4pwdregistry hostname: auto ingress: enabled: false seaweedfs: volume-size: 60 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG ingress: s3-enabled: true diff --git a/tests/kind/whisk-user.yaml b/tests/kind/whisk-user.yaml index 4d170e3b..30b126f6 100644 --- a/tests/kind/whisk-user.yaml +++ b/tests/kind/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/kind/whisk-user2.yaml b/tests/kind/whisk-user2.yaml index 68d24c5f..2069b563 100644 --- a/tests/kind/whisk-user2.yaml +++ b/tests/kind/whisk-user2.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt2 - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/kind/whisk.yaml b/tests/kind/whisk.yaml index b4b04fdb..e795d605 100644 --- a/tests/kind/whisk.yaml +++ b/tests/kind/whisk.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -53,10 +53,10 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP # controller: # image: "ghcr.io/nuvolaris/openwhisk-controller:0.3.0-morpheus.22122609" - nuvolaris: + openserverless: password: nuvpassw0rd storageclass: auto #standard provisioner: auto #rancher.io/local-path @@ -111,8 +111,8 @@ spec: volume-size: 2 default: password: s0meP@ass3 - nuvolaris: - #prefix: nuvolaris + openserverless: + #prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -120,8 +120,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -130,8 +130,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 2 @@ -139,7 +139,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 backup: enabled: true @@ -153,7 +153,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: https://hooks.slack.com/services/RND/VALUE gmail: enabled: false @@ -182,7 +182,7 @@ spec: mode: internal volume-size: 20 auth: - username: nuvolaris + username: openserverless password: 4pwdregistry hostname: auto ingress: diff --git a/tests/kind/wskadmin.ipy b/tests/kind/wskadmin.ipy index 050c93b4..09fee999 100644 --- a/tests/kind/wskadmin.ipy +++ b/tests/kind/wskadmin.ipy @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.couchdb as cdb -import nuvolaris.couchdb_util as cu -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.couchdb as cdb +import openserverless.couchdb_util as cu +import openserverless.testutil as tu scf = tu.load_sample_config() assert(cfg.configure(scf)) @@ -38,5 +38,5 @@ assert(not cdb.init()) db = cu.CouchDB() assert(db.get_doc("subjects", "msciab")["subject"] == "msciab") -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all diff --git a/tests/kube_test.txt b/tests/kube_test.txt index 5c2a66bd..885799db 100644 --- a/tests/kube_test.txt +++ b/tests/kube_test.txt @@ -16,7 +16,7 @@ # under the License. # ->>> import nuvolaris.kube as kube, nuvolaris.testutil as tu +>>> import openserverless.kube as kube, openserverless.testutil as tu >>> tu.grep(kube.kubectl("get", "ns"), "kube-system", field=0) kube-system >>> kube.returncode @@ -35,11 +35,11 @@ name: test >>> tu.grep(kube.kubectl("delete", "cm/test"), "configmap") configmap "test" deleted ->>> import nuvolaris.kube as kube, nuvolaris.testutil as tu, nuvolaris.kustomize as nku ->>> obj = {"apiVersion": "v1", "kind": "Namespace", "metadata":{"name":"nuvolaris"}} +>>> import openserverless.kube as kube, openserverless.testutil as tu, openserverless.kustomize as nku +>>> obj = {"apiVersion": "v1", "kind": "Namespace", "metadata":{"name":"openserverless"}} >>> _ = kube.apply(obj) >>> print(kube.apply(obj).strip()) -namespace/nuvolaris unchanged +namespace/openserverless unchanged >>> obj = nku.kustom_list("test") >>> print(kube.apply(obj).strip()) service/test-svc created @@ -48,22 +48,22 @@ pod/test-pod created service "test-svc" deleted pod "test-pod" deleted ->>> from nuvolaris.testutil import nprint ->>> from nuvolaris.kube import kubectl ->>> from nuvolaris.kube import patch +>>> from openserverless.testutil import nprint +>>> from openserverless.kube import kubectl +>>> from openserverless.kube import patch >>> nprint(kubectl("apply", "-f", "deploy/test/_crd.yaml")) -customresourcedefinition.apiextensions.k8s.io/samples.nuvolaris.org created +customresourcedefinition.apiextensions.k8s.io/samples.openserverless.org created >>> nprint(kubectl("apply", "-f", "deploy/test/_obj.yaml")) -sample.nuvolaris.org/obj created +sample.openserverless.org/obj created >>> nprint(kubectl("get", "sample/obj")) NAME MESSAGE obj >>> nprint(patch("sample/obj", {"spec": {"message": "hello"}})) -sample.nuvolaris.org/obj patched +sample.openserverless.org/obj patched >>> nprint(kubectl("get", "sample/obj")) NAME MESSAGE obj hello >>> nprint(kubectl("delete", "-f", "deploy/test/_obj.yaml")) -sample.nuvolaris.org "obj" deleted +sample.openserverless.org "obj" deleted >>> nprint(kubectl("delete", "-f", "deploy/test/_crd.yaml")) -customresourcedefinition.apiextensions.k8s.io "samples.nuvolaris.org" deleted +customresourcedefinition.apiextensions.k8s.io "samples.openserverless.org" deleted diff --git a/tests/kvrocks_test.ipy b/tests/kvrocks_test.ipy index d4a94ab9..f8f5ad7d 100644 --- a/tests/kvrocks_test.ipy +++ b/tests/kvrocks_test.ipy @@ -17,9 +17,9 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.kvrocks as kvrocks +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.kvrocks as kvrocks cfg.clean() cfg.detect_labels() diff --git a/tests/kvrocks_user_test.ipy b/tests/kvrocks_user_test.ipy index f5b85c78..43b55320 100644 --- a/tests/kvrocks_user_test.ipy +++ b/tests/kvrocks_user_test.ipy @@ -17,15 +17,15 @@ # under the License. # -import nuvolaris.testutil as tu -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.kvrocks as kvrocks -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.kvrocks as kvrocks +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all cfg.clean() cfg.detect_labels() @@ -46,5 +46,5 @@ assert(kvrocks.create_db_user(ucfg, udata)) assert(kvrocks.delete_db_user(ucfg.get('namespace'))) assert(kvrocks.delete()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/lks/config_test.ipy b/tests/lks/config_test.ipy index f809e161..6edd7e33 100644 --- a/tests/lks/config_test.ipy +++ b/tests/lks/config_test.ipy @@ -15,9 +15,9 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg +import openserverless.config as cfg cfg.clean() -assert(cfg.detect_labels()['nuvolaris.kube'] == "lks") -assert(cfg.detect_storage()['nuvolaris.storageclass'] == "linode-block-storage-retain") +assert(cfg.detect_labels()['openserverless.kube'] == "lks") +assert(cfg.detect_storage()['openserverless.storageclass'] == "linode-block-storage-retain") diff --git a/tests/lks/whisk-full.yaml b/tests/lks/whisk-full.yaml index e3b4c307..3c641075 100644 --- a/tests/lks/whisk-full.yaml +++ b/tests/lks/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -51,7 +51,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -100,7 +100,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -109,8 +109,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -119,8 +119,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -131,7 +131,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -146,5 +146,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 \ No newline at end of file diff --git a/tests/lks/whisk.yaml b/tests/lks/whisk.yaml index 4e8ac6fb..3c813f6a 100644 --- a/tests/lks/whisk.yaml +++ b/tests/lks/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -49,7 +49,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -85,7 +85,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -94,8 +94,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -104,8 +104,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -113,6 +113,6 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/main_test.ipy b/tests/main_test.ipy index f4ace210..2b5f76b9 100755 --- a/tests/main_test.ipy +++ b/tests/main_test.ipy @@ -23,8 +23,8 @@ # - openwhisk with couchdb and the volumes hostpath # - openwhisk with couchdb and the volumes -import nuvolaris.config as cfg -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.testutil as tu #kube.mocker.config("apply", "ok") cfg.configure(tu.load_sample_config()) diff --git a/tests/microk8s/config_test.ipy b/tests/microk8s/config_test.ipy index b09891b6..586bbd01 100644 --- a/tests/microk8s/config_test.ipy +++ b/tests/microk8s/config_test.ipy @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg +import openserverless.config as cfg cfg.clean() -assert(cfg.detect_labels()['nuvolaris.kube'] == "microk8s") -assert(cfg.detect_storage()['nuvolaris.storageclass'] in ["microk8s-hostpath", "mayastor", "mayastor-3"]) +assert(cfg.detect_labels()['openserverless.kube'] == "microk8s") +assert(cfg.detect_storage()['openserverless.storageclass'] in ["microk8s-hostpath", "mayastor", "mayastor-3"]) diff --git a/tests/microk8s/ingress_test.ipy b/tests/microk8s/ingress_test.ipy index ade53d20..a8536a28 100644 --- a/tests/microk8s/ingress_test.ipy +++ b/tests/microk8s/ingress_test.ipy @@ -15,15 +15,15 @@ # specific language governing permissions and limitations # under the License. # -!kubectl config set-context --current --namespace nuvolaris +!kubectl config set-context --current --namespace openserverless import requests as req -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus -import nuvolaris.testutil as tu +import openserverless.kube as kube +import openserverless.kustomize as kus +import openserverless.testutil as tu -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all host = %system kubectl config view -o json | jq -r '.clusters[0].cluster.server' | sed -e 's|^.*//\(.*\):.*$|\1|' host = host[0] diff --git a/tests/microk8s/monitoring-ingress.yaml b/tests/microk8s/monitoring-ingress.yaml index 0e56726c..ce322c23 100644 --- a/tests/microk8s/monitoring-ingress.yaml +++ b/tests/microk8s/monitoring-ingress.yaml @@ -22,7 +22,7 @@ metadata: #cert-manager.io/cluster-issuer: letsencrypt-issuer kubernetes.io/ingress.class: public name: monitoring - namespace: nuvolaris + namespace: openserverless spec: rules: - host: monitoring.44.203.144.96.nip.io @@ -30,7 +30,7 @@ spec: paths: - backend: service: - name: nuvolaris-prometheus-server + name: openserverless-prometheus-server port: number: 9999 path: / diff --git a/tests/microk8s/whisk-full.yaml b/tests/microk8s/whisk-full.yaml index 0c1e5c7b..2a5e9f0e 100644 --- a/tests/microk8s/whisk-full.yaml +++ b/tests/microk8s/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: auto #apiport: 80 @@ -56,7 +56,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -116,7 +116,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -125,8 +125,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -135,8 +135,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -147,7 +147,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -162,5 +162,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 \ No newline at end of file diff --git a/tests/microk8s/whisk-user.yaml b/tests/microk8s/whisk-user.yaml index 861b600b..22e15406 100644 --- a/tests/microk8s/whisk-user.yaml +++ b/tests/microk8s/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/microk8s/whisk.yaml b/tests/microk8s/whisk.yaml index 57cb7656..4bdba5e3 100644 --- a/tests/microk8s/whisk.yaml +++ b/tests/microk8s/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: auto components: @@ -50,7 +50,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,6 +115,6 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/mongo.yaml b/tests/mongo.yaml index da245214..2e28c24e 100644 --- a/tests/mongo.yaml +++ b/tests/mongo.yaml @@ -24,5 +24,5 @@ packages: function: mongo.js docker: ghcr.io/nuvolaris/action-nodejs-v14:0.3.0-morpheus.22081008 inputs: - dburi: "mongodb://nuvolaris:s0meP%40ass3@nuvolaris-mongodb-0.nuvolaris-mongodb-svc.nuvolaris.svc.cluster.local:27017/nuvolaris?replicaSet=nuvolaris-mongodb&ssl=false" + dburi: "mongodb://openserverless:s0meP%40ass3@openserverless-mongodb-0.openserverless-mongodb-svc.openserverless.svc.cluster.local:27017/openserverless?replicaSet=openserverless-mongodb&ssl=false" \ No newline at end of file diff --git a/tests/mongodb_add_user_script.js b/tests/mongodb_add_user_script.js index 70ad5c85..24c29844 100644 --- a/tests/mongodb_add_user_script.js +++ b/tests/mongodb_add_user_script.js @@ -27,4 +27,4 @@ db.createUser({ ] }); -db.nuv_test_collection.insertOne({"message":"Welcome to nuvolaris!"}) \ No newline at end of file +db.nuv_test_collection.insertOne({"message":"Welcome to openserverless!"}) \ No newline at end of file diff --git a/tests/openshift/minimal.yaml b/tests/openshift/minimal.yaml index 6076d20e..cffa6ea4 100644 --- a/tests/openshift/minimal.yaml +++ b/tests/openshift/minimal.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: $APIHOST_OSH apiport: 80 @@ -48,7 +48,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: volume-size: 10 admin: @@ -66,8 +66,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 kafka: host: kafka @@ -84,7 +84,7 @@ spec: acme-server-url: https://acme-v02.api.letsencrypt.org/directory minio: volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin configs: diff --git a/tests/openshift/whisk-full.yaml b/tests/openshift/whisk-full.yaml index 75452ce9..d55629e7 100644 --- a/tests/openshift/whisk-full.yaml +++ b/tests/openshift/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: $APIHOST_OSH components: @@ -52,7 +52,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -88,7 +88,7 @@ spec: volume-size: 5 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -97,8 +97,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -107,8 +107,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG monitoring: prometheus: @@ -119,7 +119,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: ${SLACK_API_URL} gmail: enabled: true @@ -134,5 +134,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/openshift/whisk-user.yaml b/tests/openshift/whisk-user.yaml index 861b600b..22e15406 100644 --- a/tests/openshift/whisk-user.yaml +++ b/tests/openshift/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/openshift/whisk.yaml b/tests/openshift/whisk.yaml index 4994f137..fbb19397 100644 --- a/tests/openshift/whisk.yaml +++ b/tests/openshift/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd apihost: api.apps.nuvolaris-testing.oshgcp.nuvtest.net #$APIHOST_OSH components: @@ -50,7 +50,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -87,7 +87,7 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: + openserverless: prefix: nuv password: s0meP@ass3 mongodb: @@ -96,8 +96,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -106,8 +106,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -115,5 +115,5 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 diff --git a/tests/openwhisk_test.py b/tests/openwhisk_test.py index cae45aa3..f48a4d48 100644 --- a/tests/openwhisk_test.py +++ b/tests/openwhisk_test.py @@ -16,20 +16,20 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.openwhisk as ow -import nuvolaris.testutil as tu +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.openwhisk as ow +import openserverless.testutil as tu # apihost assert(cfg.configure(tu.load_sample_config(), clean=True)) assert(ow.apihost([]) == "https://pending") -cfg.put("nuvolaris.apihost", "localhost") +cfg.put("openserverless.apihost", "localhost") assert(ow.apihost([]) == 'https://localhost') -cfg.put("nuvolaris.protocol", "http") -cfg.put("nuvolaris.apiport", "3232") +cfg.put("openserverless.protocol", "http") +cfg.put("openserverless.apiport", "3232") assert( ow.apihost([]) == 'http://localhost:3232') a = [ { "hostname": "elb.amazonaws.com"} ] @@ -43,8 +43,8 @@ import doctest doctest.testfile("tests/openwhisk_test.txt", module_relative=False) -!kubectl apply -f deploy/nuvolaris-permissions/nuvolaris-common.yaml -!kubectl apply -f deploy/nuvolaris-permissions/whisk-crd.yaml +!kubectl apply -f deploy/openserverless-permissions/openserverless-common.yaml +!kubectl apply -f deploy/openserverless-permissions/whisk-crd.yaml !kubectl apply -f tests/whisk-dev.yaml wsk = kube.get("wsk/controller") diff --git a/tests/openwhisk_test.txt b/tests/openwhisk_test.txt index 7b990fe4..7655db38 100644 --- a/tests/openwhisk_test.txt +++ b/tests/openwhisk_test.txt @@ -16,10 +16,10 @@ # under the License. # ->>> import nuvolaris.config as cfg ->>> import nuvolaris.testutil as tu ->>> import nuvolaris.openwhisk as ow ->>> import nuvolaris.kube as kube +>>> import openserverless.config as cfg +>>> import openserverless.testutil as tu +>>> import openserverless.openwhisk as ow +>>> import openserverless.kube as kube >>> cfg.configure(tu.load_sample_config(), clean=True) True >>> mck = kube.mocker diff --git a/tests/patcher/openwhisk-runtimes-cm.yaml b/tests/patcher/openwhisk-runtimes-cm.yaml index 66f9c733..9a7bcb2f 100644 --- a/tests/patcher/openwhisk-runtimes-cm.yaml +++ b/tests/patcher/openwhisk-runtimes-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: openwhisk-runtimes - namespace: nuvolaris + namespace: openserverless data: runtimes.json: | { @@ -42,7 +42,7 @@ data: "kind": "nodejs:16", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-nodejs-v16", "tag": "0.3.0-morpheus.22111407" }, @@ -69,7 +69,7 @@ data: "kind": "nodejs:16updated", "default": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-nodejs-v16", "tag": "0.3.0-morpheus.22111407" }, @@ -85,7 +85,7 @@ data: "kind": "python:3", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-python-v310", "tag": "0.3.0-morpheus.23012319" }, @@ -112,7 +112,7 @@ data: "kind": "python:310ai", "default": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-python-v310-ai", "tag": "0.3.0-morpheus.23030312" }, @@ -128,7 +128,7 @@ data: "kind": "java:8", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-java-v8", "tag": "0.3.0-morpheus.22110809" }, diff --git a/tests/patcher/whisk-full-baupanlabs.yaml b/tests/patcher/whisk-full-baupanlabs.yaml index fcc09fbb..94a97e57 100644 --- a/tests/patcher/whisk-full-baupanlabs.yaml +++ b/tests/patcher/whisk-full-baupanlabs.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: apihost: $APIHOST #apiport: 80 #protocol: http @@ -51,7 +51,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abcfO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xKCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb volume-size: 10 @@ -70,8 +70,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 kafka: host: kafka @@ -100,7 +100,7 @@ spec: acme-server-url: https://acme-v02.api.letsencrypt.org/directory minio: volume-size: 5 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin zookeeper: diff --git a/tests/patcher/whisk-full-update.yaml b/tests/patcher/whisk-full-update.yaml index 730605ad..1264e276 100644 --- a/tests/patcher/whisk-full-update.yaml +++ b/tests/patcher/whisk-full-update.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: components: # start openwhisk controller @@ -47,7 +47,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -67,8 +67,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposed: true kafka: @@ -95,7 +95,7 @@ spec: schedule: "* * * * *" minio: volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin zookeeper: diff --git a/tests/patcher/whisk-update.yaml b/tests/patcher/whisk-update.yaml index bb28f572..dfdc565c 100644 --- a/tests/patcher/whisk-update.yaml +++ b/tests/patcher/whisk-update.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd components: # start openwhisk controller @@ -47,7 +47,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -67,8 +67,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -87,7 +87,7 @@ spec: acme-server-url: https://acme-staging-v02.api.letsencrypt.org/directory minio: volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin configs: diff --git a/tests/postgres.js b/tests/postgres.js index 3120877d..690b6ca1 100644 --- a/tests/postgres.js +++ b/tests/postgres.js @@ -24,7 +24,7 @@ async function main(args) { const createTableText = ` CREATE EXTENSION IF NOT EXISTS "pgcrypto"; - CREATE TABLE IF NOT EXISTS nuvolaris_table ( + CREATE TABLE IF NOT EXISTS openserverless_table ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), message varchar(100) ); @@ -37,11 +37,11 @@ async function main(args) { try { await client.query(createTableText) - const message = "Nuvolaris Postgres is up and running!" - await client.query('INSERT INTO nuvolaris_table(message) VALUES($1)', [message]) - const { rows } = await client.query('SELECT * FROM nuvolaris_table') + const message = "OpenServerless Postgres is up and running!" + await client.query('INSERT INTO openserverless_table(message) VALUES($1)', [message]) + const { rows } = await client.query('SELECT * FROM openserverless_table') console.log(rows) - await client.query('DROP table nuvolaris_table'); + await client.query('DROP table openserverless_table'); response.body = rows; } catch (e) { console.log(e); diff --git a/tests/quota_checker_test.ipy b/tests/quota_checker_test.ipy index 184a8a97..8a8163e2 100644 --- a/tests/quota_checker_test.ipy +++ b/tests/quota_checker_test.ipy @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.testutil as tu -import nuvolaris.kube as kube -import nuvolaris.quota_checker_job as job +import openserverless.config as cfg +import openserverless.testutil as tu +import openserverless.kube as kube +import openserverless.quota_checker_job as job # init assert(cfg.configure(tu.load_sample_config())) diff --git a/tests/redis_test.ipy b/tests/redis_test.ipy index 4f91cd52..97460739 100644 --- a/tests/redis_test.ipy +++ b/tests/redis_test.ipy @@ -17,9 +17,9 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.redis as redis +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.redis as redis cfg.clean() cfg.detect_labels() diff --git a/tests/redis_user_test.ipy b/tests/redis_user_test.ipy index e4a7cf74..b6987159 100644 --- a/tests/redis_user_test.ipy +++ b/tests/redis_user_test.ipy @@ -17,15 +17,15 @@ # under the License. # -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.redis as redis -import nuvolaris.testutil as tu -from nuvolaris.user_config import UserConfig -from nuvolaris.user_metadata import UserMetadata +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.redis as redis +import openserverless.testutil as tu +from openserverless.user_config import UserConfig +from openserverless.user_metadata import UserMetadata -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all cfg.clean() cfg.detect_labels() @@ -47,5 +47,5 @@ assert(redis.create_db_user(ucfg, udata)) assert(redis.delete_db_user(ucfg.get('namespace'))) assert(redis.delete()) -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all \ No newline at end of file +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all \ No newline at end of file diff --git a/tests/runtimes.json b/tests/runtimes.json index 7c052e75..4ec0621b 100644 --- a/tests/runtimes.json +++ b/tests/runtimes.json @@ -221,8 +221,8 @@ "attachmentType": "text/plain" }, "image": { - "prefix": "ghcr.io/nuvolaris", - "name": "go-nuvolaris-metaflow", + "prefix": "ghcr.io/openserverless", + "name": "go-openserverless-metaflow", "tag": "bc86ab6" } }, diff --git a/tests/runtimes/openwhisk-runtimes-cm.yaml b/tests/runtimes/openwhisk-runtimes-cm.yaml index b55bcafe..12cfb63c 100644 --- a/tests/runtimes/openwhisk-runtimes-cm.yaml +++ b/tests/runtimes/openwhisk-runtimes-cm.yaml @@ -19,7 +19,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: openwhisk-runtimes - namespace: nuvolaris + namespace: openserverless data: runtimes.json: | { @@ -42,7 +42,7 @@ data: "kind": "nodejs:18", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-nodejs-v18", "tag": "3.0.0-beta.2311231822" }, @@ -83,7 +83,7 @@ data: "kind": "nodejs:16", "default": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-nodejs-v16", "tag": "3.0.0-beta.2311231822" }, @@ -99,7 +99,7 @@ data: "kind": "python:3", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-python-v311", "tag": "3.0.0-beta.2311231822" }, @@ -126,7 +126,7 @@ data: "kind": "python:310", "default": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-python-v310", "tag": "3.0.0-beta.2311231822" }, @@ -140,7 +140,7 @@ data: "kind": "python:310kube", "default": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-python-v310-kube", "tag": "3.0.0-beta.2310270000" }, @@ -156,7 +156,7 @@ data: "kind": "java:8", "default": true, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-java-v8", "tag": "0.3.0-morpheus.22110809" }, @@ -174,7 +174,7 @@ data: "default": true, "deprecated": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-php-v8.2", "tag": "3.0.0-beta.2312062204" }, @@ -188,7 +188,7 @@ data: "default": false, "deprecated": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-php-v8.1", "tag": "3.0.0-beta.2312062204" }, @@ -202,7 +202,7 @@ data: "default": false, "deprecated": false, "image": { - "prefix": "ghcr.io/nuvolaris", + "prefix": "ghcr.io/openserverless", "name": "action-php-v8.0", "tag": "3.0.0-beta.2312062204" }, @@ -252,8 +252,8 @@ data: "attachmentType": "text/plain" }, "image": { - "prefix": "ghcr.io/nuvolaris", - "name": "go-nuvolaris-metaflow", + "prefix": "ghcr.io/openserverless", + "name": "go-openserverless-metaflow", "tag": "bc86ab6" } } diff --git a/tests/volume_test.ipy b/tests/volume_test.ipy index 51c872b2..03f93ac2 100644 --- a/tests/volume_test.ipy +++ b/tests/volume_test.ipy @@ -16,12 +16,12 @@ # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.kustomize as kus +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.kustomize as kus cfg.clean() cfg.detect_labels() @@ -34,7 +34,7 @@ data = {"name": "test-nginx", "container": "test-nginx", "size": "1", "dir": "/usr/share/nginx/html", - "storageClass": cfg.get("nuvolaris.storageclass") + "storageClass": cfg.get("openserverless.storageclass") } #print(data) patch = kus.patchTemplate("test-sts", "set-attach.yaml", data) diff --git a/tests/whisk-full.yaml b/tests/whisk-full.yaml index 16909108..746af2cf 100644 --- a/tests/whisk-full.yaml +++ b/tests/whisk-full.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd affinity: false tolerations: false @@ -53,7 +53,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP limits: actions: sequence-maxLength: 50 @@ -95,8 +95,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposed: true kafka: @@ -123,7 +123,7 @@ spec: s3-hostname: auto console-hostname: auto volume-size: 2 - nuvolaris: + openserverless: root-user: minioadmin root-password: minioadmin zookeeper: @@ -163,7 +163,7 @@ spec: userMemory: "2048m" kubernetes: user_pod_affinity_enabled: true - user_pod_affinity_key : "nuvolaris-role" + user_pod_affinity_key : "openserverless-role" user_pod_affinity_value : "invoker" redis: volume-size: 10 @@ -178,7 +178,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: https://hooks.slack.com/services/RND/VALUE gmail: enabled: false @@ -193,7 +193,7 @@ spec: admin: password: 0therPa55 replica-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 backup: enabled: false diff --git a/tests/whisk-user.yaml b/tests/whisk-user.yaml index 29d2c84f..1c9ef3ea 100644 --- a/tests/whisk-user.yaml +++ b/tests/whisk-user.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: WhiskUser metadata: name: franztt - namespace: nuvolaris + namespace: openserverless spec: email: francesco@nuvolaris.io password: apassw0rd diff --git a/tests/whisk.yaml b/tests/whisk.yaml index 05709584..c918840c 100644 --- a/tests/whisk.yaml +++ b/tests/whisk.yaml @@ -15,13 +15,13 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Whisk metadata: name: controller - namespace: nuvolaris + namespace: openserverless spec: - nuvolaris: + openserverless: password: nuvpassw0rd affinity: false tolerations: false @@ -57,7 +57,7 @@ spec: openwhisk: namespaces: whisk-system: 789c46b1-71f6-4ed5-8c54-816aa4f8c502:abczO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP - nuvolaris: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP + openserverless: cbd68075-dac2-475e-8c07-d62a30c7e683:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP couchdb: host: couchdb port: 5984 @@ -94,8 +94,8 @@ spec: volume-size: 10 default: password: s0meP@ass3 - nuvolaris: - prefix: nuvolaris + openserverless: + prefix: openserverless password: s0meP@ass3 mongodb: host: mongodb @@ -103,8 +103,8 @@ spec: admin: user: whisk_admin password: 0therPa55 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: s0meP@ass3 exposedExternally: False useOperator: False @@ -113,8 +113,8 @@ spec: admin: user: minioadmin password: minioadmin - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG postgres: volume-size: 5 @@ -122,7 +122,7 @@ spec: admin: password: 0therPa55 replicas-password: 0therPa55RR - nuvolaris: + openserverless: password: s0meP@ass3 backup: enabled: false @@ -136,7 +136,7 @@ spec: slack: enabled: true default: true - slack_channel_name: '#monitoring-nuvolaris' + slack_channel_name: '#monitoring-openserverless' slack_api_url: https://hooks.slack.com/services/RND/VALUE gmail: enabled: false @@ -154,15 +154,15 @@ spec: mode: internal volume-size: 20 auth: - username: nuvolaris + username: openserverless password: 4pwdregistry hostname: auto ingress: enabled: false seaweedfs: volume-size: 60 - nuvolaris: - user: nuvolaris + openserverless: + user: openserverless password: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG ingress: s3-enabled: true diff --git a/tests/workflow-test.yaml b/tests/workflow-test.yaml index 4844d8a0..e884415a 100644 --- a/tests/workflow-test.yaml +++ b/tests/workflow-test.yaml @@ -15,11 +15,11 @@ # specific language governing permissions and limitations # under the License. # -apiVersion: nuvolaris.org/v1 +apiVersion: openserverless.org/v1 kind: Workflows metadata: name: workflow-test - namespace: nuvolaris + namespace: openserverless spec: image: ghcr.io/msciabarra/busybox:stable command: diff --git a/tests/workflows_test.ipy b/tests/workflows_test.ipy index 044186db..869cc1ea 100644 --- a/tests/workflows_test.ipy +++ b/tests/workflows_test.ipy @@ -15,10 +15,10 @@ # specific language governing permissions and limitations # under the License. # -import nuvolaris.config as cfg -import nuvolaris.testutil as tu -import nuvolaris.kube as kube -import nuvolaris.workflows as wfx +import openserverless.config as cfg +import openserverless.testutil as tu +import openserverless.kube as kube +import openserverless.workflows as wfx cfg.clean() assert(cfg.configure(tu.load_sample_config())) @@ -30,19 +30,19 @@ job = wfx.generate_job(name, spec, "create") #print(job) kube.apply(job) -!kubectl -n nuvolaris wait --for=condition=complete job/workflow-test-create --timeout=600s +!kubectl -n openserverless wait --for=condition=complete job/workflow-test-create --timeout=600s -l = %system kubectl -n nuvolaris logs job/workflow-test-create -c first +l = %system kubectl -n openserverless logs job/workflow-test-create -c first -check = {"_STEP_=start", "_WORKFLOW_=first","_ACTION_=create", "_NAMESPACE_=nuvolaris", "_INSTANCE_=workflow-test", "_JOB_=workflow-test-create" ,"_APIHOST_=undefined-apihost", "VAL1=alpha", "VAL2=beta"} +check = {"_STEP_=start", "_WORKFLOW_=first","_ACTION_=create", "_NAMESPACE_=openserverless", "_INSTANCE_=workflow-test", "_JOB_=workflow-test-create" ,"_APIHOST_=undefined-apihost", "VAL1=alpha", "VAL2=beta"} assert(len(set(l) & check) == len(check)) -l = %system kubectl -n nuvolaris logs job/workflow-test-create -c second +l = %system kubectl -n openserverless logs job/workflow-test-create -c second check = {"_STEP_=start", "_WORKFLOW_=second","_ACTION_=create", "_APIHOST_=undefined-apihost", "VAL3=gamma"} assert(len(set(l) & check) == len(check)) -!kubectl -n nuvolaris delete all --all +!kubectl -n openserverless delete all --all wfx.workflows_create(spec, "workflow-test") @@ -52,4 +52,4 @@ wfx.workflows_delete(spec, "workflow-test") assert(kube.get("job/workflow-test-delete")['metadata']['name'] == "workflow-test-delete") -!kubectl -n nuvolaris delete all --all +!kubectl -n openserverless delete all --all diff --git a/tests/zookeeper_test.ipy b/tests/zookeeper_test.ipy index ce176d4a..546d9a6a 100644 --- a/tests/zookeeper_test.ipy +++ b/tests/zookeeper_test.ipy @@ -15,17 +15,17 @@ # specific language governing permissions and limitations # under the License. # -!kubectl -n nuvolaris delete all --all -!kubectl -n nuvolaris delete pvc --all +!kubectl -n openserverless delete all --all +!kubectl -n openserverless delete pvc --all -import nuvolaris.config as cfg -import nuvolaris.kube as kube -import nuvolaris.testutil as tu -import nuvolaris.zookeeper as zookeeper +import openserverless.config as cfg +import openserverless.kube as kube +import openserverless.testutil as tu +import openserverless.zookeeper as zookeeper # test assert(cfg.configure(tu.load_sample_config(name="whisk-full"))) -assert(cfg.detect_storage()["nuvolaris.storageclass"]) +assert(cfg.detect_storage()["openserverless.storageclass"]) assert(zookeeper.create()) pod_name = zookeeper.get_zookeeper_pod_name() @@ -35,6 +35,6 @@ zookeeper_version = kube.kubectl("get", f"pods/{pod_name}", jsonpath="{.spec.con assert(zookeeper_version[0] == "ghcr.io/nuvolaris/zookeeper:3.4.14") # check the url is stored into the configuration -assert(cfg.get("nuvolaris.zookeeper.url") == "zookeeper-0.zookeeper:2181") +assert(cfg.get("openserverless.zookeeper.url") == "zookeeper-0.zookeeper:2181") assert(zookeeper.delete()) \ No newline at end of file diff --git a/whisk-system.sh b/whisk-system.sh index e24e7ae3..8214d646 100755 --- a/whisk-system.sh +++ b/whisk-system.sh @@ -19,17 +19,17 @@ echo CONTROLLER: "$CONTROLLER_IMAGE:$CONTROLLER_TAG" echo OPERATOR: "$OPERATOR_IMAGE:$OPERATOR_TAG" -echo preparing nuvolaris system actions.... +echo preparing openserverless system actions.... -mkdir -p ${HOME}/actions/login/nuvolaris +mkdir -p ${HOME}/actions/login/openserverless mkdir -p ${HOME}/deploy/whisk-system -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/nuvolaris/bcrypt_util.py ${HOME}/actions/login/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/openserverless/bcrypt_util.py ${HOME}/actions/login/openserverless cd ${HOME}/actions/login rm -f ${HOME}/deploy/whisk-system/login.zip zip -r ${HOME}/deploy/whisk-system/login.zip * -mkdir -p ${HOME}/actions/secrets/nuvolaris -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/nuvolaris/user_config.py ${HOME}/actions/secrets/nuvolaris +mkdir -p ${HOME}/actions/secrets/openserverless +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/openserverless/user_config.py ${HOME}/actions/secrets/openserverless cd ${HOME}/actions/secrets rm -f ${HOME}/deploy/whisk-system/secrets.zip zip -r ${HOME}/deploy/whisk-system/secrets.zip * @@ -40,49 +40,49 @@ cp ${HOME}/actions/common/minio_util.py ${HOME}/actions/content/common rm -f ${HOME}/deploy/whisk-system/content.zip zip -r ${HOME}/deploy/whisk-system/content.zip * -mkdir -p ${HOME}/actions/devel/redis/nuvolaris +mkdir -p ${HOME}/actions/devel/redis/openserverless mkdir -p ${HOME}/actions/devel/redis/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/redis/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/redis/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/redis/common cd ${HOME}/actions/devel/redis rm -f ${HOME}/deploy/whisk-system/redis.zip zip -r ${HOME}/deploy/whisk-system/redis.zip * -mkdir -p ${HOME}/actions/devel/psql/nuvolaris +mkdir -p ${HOME}/actions/devel/psql/openserverless mkdir -p ${HOME}/actions/devel/psql/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/psql/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/psql/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/psql/common cd ${HOME}/actions/devel/psql rm -f ${HOME}/deploy/whisk-system/psql.zip zip -r ${HOME}/deploy/whisk-system/psql.zip * -mkdir -p ${HOME}/actions/devel/minio/nuvolaris +mkdir -p ${HOME}/actions/devel/minio/openserverless mkdir -p ${HOME}/actions/devel/minio/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/minio/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/minio/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/minio/common cd ${HOME}/actions/devel/minio rm -f ${HOME}/deploy/whisk-system/minio.zip zip -r ${HOME}/deploy/whisk-system/minio.zip * -mkdir -p ${HOME}/actions/devel/ferretdb/nuvolaris +mkdir -p ${HOME}/actions/devel/ferretdb/openserverless mkdir -p ${HOME}/actions/devel/ferretdb/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/ferretdb/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/ferretdb/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/ferretdb/common cd ${HOME}/actions/devel/ferretdb rm -f ${HOME}/deploy/whisk-system/ferretdb.zip zip -r ${HOME}/deploy/whisk-system/ferretdb.zip * -mkdir -p ${HOME}/actions/devel/download/nuvolaris +mkdir -p ${HOME}/actions/devel/download/openserverless mkdir -p ${HOME}/actions/devel/download/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/download/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/download/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/download/common cd ${HOME}/actions/devel/download rm -f ${HOME}/deploy/whisk-system/devel_download.zip zip -r ${HOME}/deploy/whisk-system/devel_download.zip * -mkdir -p ${HOME}/actions/devel/upload/nuvolaris +mkdir -p ${HOME}/actions/devel/upload/openserverless mkdir -p ${HOME}/actions/devel/upload/common -cp ${HOME}/nuvolaris/config.py ${HOME}/nuvolaris/couchdb_util.py ${HOME}/actions/devel/upload/nuvolaris +cp ${HOME}/openserverless/config.py ${HOME}/openserverless/couchdb_util.py ${HOME}/actions/devel/upload/openserverless cp ${HOME}/actions/common/*.py ${HOME}/actions/devel/upload/common cd ${HOME}/actions/devel/upload rm -f ${HOME}/deploy/whisk-system/devel_upload.zip diff --git a/wskadmin.sh b/wskadmin.sh index 9d254236..a2fabcb0 100755 --- a/wskadmin.sh +++ b/wskadmin.sh @@ -21,14 +21,14 @@ configure() { if test -e whisk.properties then return fi - if ! kubectl -n nuvolaris get wsk/controller 2>/dev/null >/dev/null + if ! kubectl -n openserverless get wsk/controller 2>/dev/null >/dev/null then - echo "Nuvolaris not yet configured" + echo "OpenServerless not yet configured" exit 1 fi - DB_USER="$(kubectl -n nuvolaris get wsk/controller -ojsonpath='{.spec.couchdb.admin.user}')" - DB_PASS="$(kubectl -n nuvolaris get wsk/controller -ojsonpath='{.spec.couchdb.admin.password}')" - DB_HOST="$(kubectl -n nuvolaris get wsk/controller -ojsonpath='{.spec.couchdb.host}')" + DB_USER="$(kubectl -n openserverless get wsk/controller -ojsonpath='{.spec.couchdb.admin.user}')" + DB_PASS="$(kubectl -n openserverless get wsk/controller -ojsonpath='{.spec.couchdb.admin.password}')" + DB_HOST="$(kubectl -n openserverless get wsk/controller -ojsonpath='{.spec.couchdb.host}')" cat <whisk.properties whisk.logs.dir=/var/tmp/wsklogs db.host=$DB_HOST @@ -37,10 +37,10 @@ db.password=$DB_PASS db.provider=CouchDB db.protocol=http db.port=5984 -db.prefix=nuvolaris_ -db.whisk.auths=nuvolaris_subjects -db.whisk.actions=nuvolaris_whisks -db.whisk.activations=nuvolaris_activations +db.prefix=openserverless_ +db.whisk.auths=openserverless_subjects +db.whisk.actions=openserverless_whisks +db.whisk.activations=openserverless_activations EOF }