This is an automated email from the ASF dual-hosted git repository.
sciabarracom pushed a change to branch dependabot/pip/idna-3.15
in repository https://gitbox.apache.org/repos/asf/openserverless-operator.git
from 7971990 chore(deps): bump idna from 3.10 to 3.15
add 84e48da fix base image
add b849e6b db fixes
add 8e09c2f gitattributes
add 0045691 fix couchdb boot: ulimit -n 1048576 + readiness probe
add b6e694b kustomize: quote newTag string to avoid all-digit tag misparse
add df1734f fixed licenses and attributes
add 05094b0 chore(asf.yaml): protected branches
add 3d198eb chore(deps): bump urllib3 from 2.3.0 to 2.7.0 (#111)
add e90a7a9 0.9.1 (#113)
add 95eef44 0.9.1 (#115)
add 9a9c625 0.9.1 (#117)
add 7e47d25 aligning workflow (#126)
add ef176c6 aligning .asf (#127)
add 149fad4 0.9.0 (#130)
add 7ac30de build(deps): bump oauthlib from 3.2.2 to 4.0.0 (#136)
add cb50ba4 build(deps): bump urllib3 from 2.3.0 to 2.8.0 (#135)
add c3fce6a build(deps): bump requests from 2.32.4 to 2.33.0 (#128)
add 26768bd build(deps-dev): bump pygments from 2.19.1 to 2.20.0 (#129)
add 1c431b1 Merge branch 'main' into dependabot/pip/idna-3.15
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 17 +
.env.sample | 2 +-
.envrc => .gitattributes | 7 +-
.github/kind.yaml | 2 +-
.github/wait.sh | 27 --
.github/workflows/check.yml | 44 +-
.github/workflows/image.yml | 98 +++--
.github/workflows/trigger-testing.yaml | 94 ----
.gitignore | 2 +-
.gitmodules | 3 -
.licenserc.yaml | 1 +
DESIGN.md | 6 +-
Dockerfile | 143 +++---
LICENSE | 236 +++++++++-
NOTICE | 190 ++++++++
OPERATOR.md | 28 +-
Taskfile.yml | 341 +++++++++------
TaskfileBuild.yml | 2 +-
TaskfileDev.yml | 16 +-
TaskfileOlaris.yml | 4 +-
TaskfileTest.yml | 54 +--
WARN | 120 ++++++
actions/Taskfile.yml | 226 +++++-----
actions/common/authorize.py | 16 +-
actions/devel/download/common/authorize.py | 16 +-
.../{nuvolaris => openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/devel/ferretdb/__main__.py | 2 +-
actions/devel/ferretdb/common/authorize.py | 16 +-
.../{nuvolaris => openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/devel/minio/common/authorize.py | 16 +-
.../nuvolaris => minio/openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/devel/psql/command/psql.py | 47 +-
actions/devel/psql/common/authorize.py | 16 +-
.../nuvolaris => psql/openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/devel/redis/__main__.py | 2 +-
actions/devel/redis/common/authorize.py | 16 +-
actions/devel/redis/nuvolaris/config.py | 258 -----------
actions/devel/redis/nuvolaris/couchdb_util.py | 170 --------
.../nuvolaris => redis/openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/devel/upload/common/authorize.py | 16 +-
actions/devel/upload/nuvolaris/config.py | 258 -----------
actions/devel/upload/nuvolaris/couchdb_util.py | 170 --------
.../nuvolaris => upload/openserverless}/config.py | 54 +--
.../openserverless}/couchdb_util.py | 6 +-
actions/github/callback/__main__.py | 12 +-
actions/github/common/github_client.py | 4 +-
actions/github/common/html_response_generator.py | 30 +-
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 +-
clusters/talos-gcp.yml | 107 -----
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 +-
deploy/milvus-operator/milvus-operator-dep.yaml | 8 +-
deploy/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 +-
...laris.yaml => mongodb-auth-openserverless.yaml} | 6 +-
deploy/mongodb-operator-deploy/mongodb-auth.yaml | 2 +-
deploy/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 +-
.../openserverless-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 | 81 ++--
.../whisk-user-crd.yaml | 31 +-
.../workflows-crd.yaml | 4 +-
.../openwhisk-endpoint/operator-ingress-rbac.yaml | 14 +-
deploy/openwhisk-enterprise/enterprise-np.yaml | 2 +-
deploy/openwhisk-enterprise/enterprise-sts.yaml | 8 +-
deploy/openwhisk-invoker/invoker-conf.yaml | 2 +-
deploy/openwhisk-invoker/invoker-sts.yaml | 14 +-
deploy/openwhisk-standalone/standalone-conf.yaml | 2 +-
deploy/openwhisk-standalone/standalone-ip.yaml | 2 +-
deploy/openwhisk-standalone/standalone-np.yaml | 4 +-
deploy/openwhisk-standalone/standalone-sts.yaml | 14 +-
deploy/postgres-backup/postgres-backup-conf.yaml | 2 +-
deploy/postgres-backup/postgres-backup-sts.yaml | 34 +-
deploy/postgres-operator-deploy/postgres-auth.yaml | 6 +-
deploy/postgres-operator-deploy/postgres-conf.yaml | 14 +-
deploy/postgres-operator-deploy/postgres.yaml | 16 +-
deploy/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 +-
deploy/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 +-
kaniko-build.yaml | 39 --
nuvolaris/config.py | 258 -----------
nuvolaris/couchdb_util.py | 170 --------
nuvolaris/postgres_client.py | 145 -------
nuvolaris/runtimes_util.py | 57 ---
olaris | 1 -
{nuvolaris => openserverless}/__init__.py | 0
{nuvolaris => openserverless}/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 +-
.../nuvolaris => openserverless}/config.py | 54 +--
{nuvolaris => openserverless}/couchdb.py | 42 +-
.../nuvolaris => openserverless}/couchdb_util.py | 6 +-
{nuvolaris => openserverless}/cronjob.py | 12 +-
{nuvolaris => openserverless}/endpoint.py | 50 +--
{nuvolaris => openserverless}/enterprise_util.py | 51 +--
{nuvolaris => openserverless}/etcd.py | 20 +-
{nuvolaris => openserverless}/ferretdb.py | 50 +--
{nuvolaris => openserverless}/files/README.md | 2 +-
...vations_design_document_for_activations_db.json | 0
...uth_design_document_for_subjects_db_v2.0.0.json | 0
.../files/filter_design_document.json | 0
...Cleanup_design_document_for_activations_db.json | 0
...hrottlings_design_document_for_subjects_db.json | 0
.../files/runtimes-nodeonly.json | 0
{nuvolaris => openserverless}/files/runtimes.json | 0
...document_for_activations_db_filters_v2.1.0.json | 0
...document_for_activations_db_filters_v2.1.1.json | 0
..._design_document_for_activations_db_v2.1.0.json | 0
...sks_design_document_for_entities_db_v2.1.0.json | 0
{nuvolaris => openserverless}/ingress.py | 10 +-
{nuvolaris => openserverless}/ingress_data.py | 20 +-
{nuvolaris => openserverless}/invoker.py | 16 +-
{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 | 72 ++--
{nuvolaris => openserverless}/kvrocks.py | 34 +-
{nuvolaris => openserverless}/main.py | 62 +--
.../milvus_admin_client.py | 6 +-
{nuvolaris => openserverless}/milvus_operator.py | 18 +-
.../milvus_simple_client.py | 0
{nuvolaris => openserverless}/milvus_standalone.py | 72 ++--
{nuvolaris => openserverless}/minio_deploy.py | 54 +--
{nuvolaris => openserverless}/minio_ingress.py | 40 +-
{nuvolaris => openserverless}/minio_util.py | 10 +-
{nuvolaris => openserverless}/mongodb.py | 58 ++-
{nuvolaris => openserverless}/mongodb_operator.py | 26 +-
.../mongodb_standalone.py | 10 +-
{nuvolaris => openserverless}/monitoring.py | 10 +-
{nuvolaris => openserverless}/opaque_secret.py | 6 +-
.../openserverless_metadata.py | 16 +-
{nuvolaris => openserverless}/openwhisk.py | 10 +-
.../openwhisk_enterprise.py | 14 +-
.../openwhisk_standalone.py | 15 +-
{nuvolaris => openserverless}/operator_util.py | 44 +-
{nuvolaris => openserverless}/patcher.py | 46 +-
.../policies/minio_rw_policy_tpl.json | 0
openserverless/postgres_client.py | 180 ++++++++
{nuvolaris => openserverless}/postgres_operator.py | 76 ++--
{nuvolaris => openserverless}/quota_checker.py | 20 +-
{nuvolaris => openserverless}/quota_checker_job.py | 12 +-
{nuvolaris => openserverless}/redis.py | 39 +-
{nuvolaris => openserverless}/redis_client.py | 8 +-
{nuvolaris => openserverless}/registry_deploy.py | 50 +--
{nuvolaris => openserverless}/route_data.py | 18 +-
.../runtimes_preloader.py | 19 +-
openserverless/runtimes_util.py | 96 +++++
{nuvolaris => openserverless}/s3_bucket_policy.py | 0
{nuvolaris => openserverless}/s3_client.py | 2 +-
{nuvolaris => openserverless}/seaweedfs_deploy.py | 48 +--
{nuvolaris => openserverless}/seaweedfs_ingress.py | 32 +-
{nuvolaris => openserverless}/seaweedfs_util.py | 20 +-
.../secret_htpasswd_data.py | 9 +-
.../secret_imagepull_data.py | 9 +-
{nuvolaris => openserverless}/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 | 15 +-
.../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 | 12 +-
.../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 +-
.../templates/generic-openshift-route-tpl.yaml | 0
.../templates/generic-secret-docker-tpl.yaml | 0
.../templates/generic-secret-htpassword-tpl.yaml | 0
{nuvolaris => openserverless}/templates/index.html | 0
.../templates/ingress.yaml | 0
.../templates/invoker-sts.yaml | 16 +-
.../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 +-
.../templates/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
.../templates/postgres_manage_user_schema_tpl.sql | 0
.../templates/postgres_manage_user_tpl.sql | 30 +-
.../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 +-
.../templates/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 | 18 +-
.../templates/subject.json | 0
{nuvolaris => openserverless}/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 +-
{nuvolaris => openserverless}/user_handlers.py | 42 +-
{nuvolaris => openserverless}/user_metadata.py | 8 +-
{nuvolaris => openserverless}/user_patcher.py | 10 +-
{nuvolaris => openserverless}/userdb_util.py | 44 +-
{nuvolaris => openserverless}/util.py | 255 +++++++----
.../whisk_actions_deployer.py | 52 +--
{nuvolaris => openserverless}/whisk_system_util.py | 2 +-
{nuvolaris => openserverless}/workflows.py | 14 +-
{nuvolaris => openserverless}/zookeeper.py | 16 +-
poetry.lock | 443 +++++++++----------
profile.ipy | 22 +-
pyproject.toml | 11 +-
run.sh | 8 +-
setup.sh | 338 +++++++++++++++
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 | 57 ++-
tests/kind/milvus_standalone_test.ipy | 56 ++-
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 +-
...ct_test.ipy => openserverless_subject_test.ipy} | 38 +-
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 | 44 +-
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 | 32 +-
tests/kind/whisk-slim.yaml | 36 +-
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 +-
504 files changed, 5503 insertions(+), 5689 deletions(-)
copy .envrc => .gitattributes (90%)
delete mode 100755 .github/wait.sh
delete mode 100644 .github/workflows/trigger-testing.yaml
create mode 100644 WARN
copy actions/devel/download/{nuvolaris => openserverless}/config.py (82%)
copy actions/devel/{ferretdb/nuvolaris =>
download/openserverless}/couchdb_util.py (97%)
rename actions/devel/ferretdb/{nuvolaris => openserverless}/config.py (82%)
rename actions/devel/{psql/nuvolaris =>
ferretdb/openserverless}/couchdb_util.py (97%)
rename actions/devel/{psql/nuvolaris => minio/openserverless}/config.py (82%)
rename actions/devel/{download/nuvolaris =>
minio/openserverless}/couchdb_util.py (97%)
rename actions/devel/{minio/nuvolaris => psql/openserverless}/config.py (82%)
rename actions/devel/{minio/nuvolaris => psql/openserverless}/couchdb_util.py
(97%)
delete mode 100644 actions/devel/redis/nuvolaris/config.py
delete mode 100644 actions/devel/redis/nuvolaris/couchdb_util.py
copy actions/devel/{download/nuvolaris => redis/openserverless}/config.py (82%)
copy actions/devel/{ferretdb/nuvolaris =>
redis/openserverless}/couchdb_util.py (97%)
delete mode 100644 actions/devel/upload/nuvolaris/config.py
delete mode 100644 actions/devel/upload/nuvolaris/couchdb_util.py
copy actions/devel/{download/nuvolaris => upload/openserverless}/config.py
(82%)
copy actions/devel/{ferretdb/nuvolaris =>
upload/openserverless}/couchdb_util.py (97%)
delete mode 100644 clusters/talos-gcp.yml
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} (72%)
rename deploy/{nuvolaris-permissions/nuvolaris-monitoring-01-roles.yaml =>
openserverless-permissions/openserverless-monitoring-01-roles.yaml} (89%)
rename deploy/{nuvolaris-permissions/nuvolaris-wsku-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-quota-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 (90%)
rename deploy/{nuvolaris-permissions =>
openserverless-permissions}/operator-roles.yaml (91%)
rename deploy/{nuvolaris-permissions =>
openserverless-permissions}/whisk-crd.yaml (94%)
rename deploy/{nuvolaris-permissions =>
openserverless-permissions}/whisk-user-crd.yaml (86%)
rename deploy/{nuvolaris-permissions =>
openserverless-permissions}/workflows-crd.yaml (96%)
delete mode 100644 kaniko-build.yaml
delete mode 100644 nuvolaris/config.py
delete mode 100644 nuvolaris/couchdb_util.py
delete mode 100644 nuvolaris/postgres_client.py
delete mode 100644 nuvolaris/runtimes_util.py
delete mode 160000 olaris
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 (93%)
rename {actions/devel/download/nuvolaris => openserverless}/config.py (82%)
rename {nuvolaris => openserverless}/couchdb.py (90%)
rename {actions/devel/ferretdb/nuvolaris => openserverless}/couchdb_util.py
(97%)
rename {nuvolaris => openserverless}/cronjob.py (89%)
rename {nuvolaris => openserverless}/endpoint.py (91%)
rename {nuvolaris => openserverless}/enterprise_util.py (86%)
rename {nuvolaris => openserverless}/etcd.py (88%)
rename {nuvolaris => openserverless}/ferretdb.py (81%)
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 (90%)
rename {nuvolaris => openserverless}/invoker.py (84%)
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 (95%)
rename {nuvolaris => openserverless}/kube.py (82%)
rename {nuvolaris => openserverless}/kustomize.py (88%)
rename {nuvolaris => openserverless}/kvrocks.py (90%)
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 (75%)
rename {nuvolaris => openserverless}/mongodb_operator.py (82%)
rename {nuvolaris => openserverless}/mongodb_standalone.py (91%)
rename {nuvolaris => openserverless}/monitoring.py (94%)
rename {nuvolaris => openserverless}/opaque_secret.py (89%)
rename nuvolaris/nuvolaris_metadata.py =>
openserverless/openserverless_metadata.py (92%)
rename {nuvolaris => openserverless}/openwhisk.py (85%)
rename {nuvolaris => openserverless}/openwhisk_enterprise.py (86%)
rename {nuvolaris => openserverless}/openwhisk_standalone.py (87%)
rename {nuvolaris => openserverless}/operator_util.py (75%)
rename {nuvolaris => openserverless}/patcher.py (84%)
rename {nuvolaris => openserverless}/policies/minio_rw_policy_tpl.json (100%)
create mode 100644 openserverless/postgres_client.py
rename {nuvolaris => openserverless}/postgres_operator.py (79%)
rename {nuvolaris => openserverless}/quota_checker.py (93%)
rename {nuvolaris => openserverless}/quota_checker_job.py (90%)
rename {nuvolaris => openserverless}/redis.py (90%)
rename {nuvolaris => openserverless}/redis_client.py (96%)
rename {nuvolaris => openserverless}/registry_deploy.py (86%)
rename {nuvolaris => openserverless}/route_data.py (86%)
rename {nuvolaris => openserverless}/runtimes_preloader.py (80%)
create mode 100644 openserverless/runtimes_util.py
rename {nuvolaris => openserverless}/s3_bucket_policy.py (100%)
rename {nuvolaris => openserverless}/s3_client.py (98%)
rename {nuvolaris => openserverless}/seaweedfs_deploy.py (86%)
rename {nuvolaris => openserverless}/seaweedfs_ingress.py (86%)
rename {nuvolaris => openserverless}/seaweedfs_util.py (86%)
rename {nuvolaris => openserverless}/secret_htpasswd_data.py (91%)
rename {nuvolaris => openserverless}/secret_imagepull_data.py (91%)
rename {nuvolaris => openserverless}/storage_static.py (79%)
rename {nuvolaris => openserverless}/template.py (95%)
rename {nuvolaris => openserverless}/templates/00-minio-pvc.yaml (93%)
rename {nuvolaris => openserverless}/templates/01-minio-dep.yaml (97%)
rename {nuvolaris => openserverless}/templates/02-minio-svc.yaml (100%)
rename {nuvolaris =>
openserverless}/templates/affinity-tolerance-dep-core-attach.yaml (92%)
rename {nuvolaris =>
openserverless}/templates/affinity-tolerance-sts-core-attach.yaml (92%)
rename {nuvolaris =>
openserverless}/templates/affinity-tolerance-sts-invoker-attach.yaml (88%)
rename {nuvolaris => openserverless}/templates/alert-manager-02-cm.yaml (92%)
rename {nuvolaris => openserverless}/templates/cluster-issuer.yaml (95%)
rename {nuvolaris => openserverless}/templates/content.html (100%)
rename {nuvolaris => openserverless}/templates/cosi-obc-tpl.yaml (95%)
rename {nuvolaris => openserverless}/templates/cosi-user-tpl.yaml (96%)
rename {nuvolaris => openserverless}/templates/couchdb-init.yaml (88%)
rename {nuvolaris => openserverless}/templates/couchdb-set-tpl.yaml (84%)
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 (96%)
rename {nuvolaris => openserverless}/templates/etcd-policy.yaml (84%)
rename {nuvolaris => openserverless}/templates/etcd-sts.yaml (80%)
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 (96%)
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 (93%)
rename {nuvolaris => openserverless}/templates/milvus-cfg-slim-base.yaml (94%)
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 (88%)
rename {nuvolaris => openserverless}/templates/mongodb_manage_user_tpl.js (93%)
rename {nuvolaris => openserverless}/templates/nginx-static-cm.yaml (98%)
rename {nuvolaris => openserverless}/templates/nginx-static-sts.yaml (87%)
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
(62%)
rename {nuvolaris => openserverless}/templates/postgres_terminate_tpl.sql
(100%)
rename {nuvolaris => openserverless}/templates/pv-create.yaml (100%)
rename {nuvolaris => openserverless}/templates/pvc-attach.yaml (96%)
rename {nuvolaris => openserverless}/templates/pvc-create.yaml (95%)
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 (96%)
rename {nuvolaris =>
openserverless}/templates/runtimes-job-container-attach.yaml (96%)
rename {nuvolaris => openserverless}/templates/security-dep-attach.yaml (95%)
rename {nuvolaris => openserverless}/templates/security-global-attach.yaml
(97%)
rename {nuvolaris => openserverless}/templates/security-set-attach.yaml (95%)
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 (93%)
rename {nuvolaris => openserverless}/templates/zookeeper-002-pvc.yaml (93%)
rename {nuvolaris => openserverless}/testutil.py (93%)
rename {nuvolaris => openserverless}/time_util.py (96%)
rename {nuvolaris => openserverless}/user_config.py (98%)
rename {nuvolaris => openserverless}/user_handlers.py (87%)
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 (79%)
rename {nuvolaris => openserverless}/whisk_actions_deployer.py (87%)
rename {nuvolaris => openserverless}/whisk_system_util.py (97%)
rename {nuvolaris => openserverless}/workflows.py (89%)
rename {nuvolaris => openserverless}/zookeeper.py (85%)
create mode 100755 setup.sh
rename tests/kind/{nuvolaris_subject_test.ipy =>
openserverless_subject_test.ipy} (62%)