Status update: The configuration of - aws - eks - gcloud is in progress.
I'm currently implementing the validation for mandatory fields. @Michele Sciabarra <[email protected]> please let me know: a) if filling the data for aws or eks or gcloud should be mutually exclusive. b) if I should go on with the configuration of: - gke - azcloud - aks All the best Daniele On Sat, May 9, 2026 at 7:38 PM Michele Sciabarra <[email protected]> wrote: > Actually we have multiple cased of configurable parameters: > > ops cloud config aws > ops cloud config aks > ops config gcloud > > and many others > > we need an interactive tool replacing those "handcrafted" done with task > > you can start replacing this > > https://github.com/apache/openserverless-task/blob/eee896f2c11b8ca114ec39a83df0c8acfccb332c/config/opsfile.yml#L340 > > https://github.com/apache/openserverless-task/blob/eee896f2c11b8ca114ec39a83df0c8acfccb332c/config/opsfile.yml#L378 > > https://github.com/apache/openserverless-task/blob/eee896f2c11b8ca114ec39a83df0c8acfccb332c/config/opsfile.yml#L427 > > > Michele Sciabarra | CEO > > m: +44 747 984 8388 > e: [email protected] > l: https://linkedin.com/in/msciab > Nuvolaris Inc | 1209 Orange Street, 19801Wilmington DE - US > www.nuvolaris.io linkedin.com/in/msciab > > > On Sat, 9 May 2026 at 11:21, Daniele Cremonini < > [email protected]> > wrote: > > > Hi everybody. > > > > I'm working on the issue > > > > https://github.com/apache/openserverless/issues/40 > > > > which is about creating an interactive tool to allow the use to > > configure openserverless parameters. > > > > The tool must communicate with the ops CLI which can be used to CRUN > > the current configuration parameters. > > > > The tool I'm creating is an interactive TUI (Terminal User Interface) > > that based on a configuration file > > asks the user the parameters hw wants. > > > > > > > > The example below shows a simple configuration about redis and postgress > > > > ┌ ops configurator > > │ > > ◆ Select a component to configure (use ↑/↓ arrows, ENTER to select): > > │ ● redis (4 parameters) > > │ ○ postgres (4 parameters) > > │ ○ Exit Configuration > > > > > > if the user chooses redis they can see > > > > > > > > > ================================================================================ > > Component: redis > > > > > ================================================================================ > > KEY | Label | Initial Value | > > Previous Value | Current Value > > > > > ------------------------------------------------------------------------------------------------------------ > > REDIS_URL | Redis URL | <EMPTY> | > > <EMPTY> | <EMPTY> > > REDIS_SERVICE | Redis Service | <EMPTY> | > > <EMPTY> | <EMPTY> > > REDIS_PREFIX | Redis Prefix | <EMPTY> | > > <EMPTY> | <EMPTY> > > REDIS_PASSWORD | Redis password | <EMPTY> | > > <EMPTY> | <EMPTY> > > > > > ================================================================================ > > > > │ > > ◆ Select a parameter to edit (use ↑/↓ arrows, ENTER to select): > > │ ● REDIS_URL = <EMPTY> > > │ ○ REDIS_SERVICE = <EMPTY> > > │ ○ REDIS_PREFIX = <EMPTY> > > │ ○ REDIS_PASSWORD = <EMPTY> > > │ ○ ← Back to components > > > > > > and so on. > > > > > > A configuration file is shown below. > > > > > > > -------------------------------------------------------------------------------------- > > # Content: for all the components that Openserverless needs in its > > configuration, > > # we create a suitable configuration > > # This is a TOML document > > # To obtain some of these arguments, use the command > > # ops -config -d | awk -F= '/=/{print $1}' > > > > [components.redis] > > REDIS_URL= {label="Redis URL", initialValue="", userInputValue=""} > > REDIS_SERVICE= {label="Redis Service", initialValue="", > userInputValue=""} > > REDIS_PREFIX= {label="Redis Prefix", initialValue="", userInputValue=""} > > REDIS_PASSWORD= {label="Redis password", initialValue="", > > userInputValue=""} > > # SECRET_REDIS_DEFAULT > > # REDIS_PORT > > # OPSTUTORIAL_SECRET_REDIS > > # REDIS_PROVIDER > > # REDIS_ALT_URL > > # SECRET_REDIS_NUVOLARIS > > # OPERATOR_COMPONENT_REDIS > > # DEVEL_SECRET_REDIS > > > > [components.postgres] > > POSTGRES_PORT="" > > POSTGRES_DATABASE="" > > POSTGRES_USERNAME="" > > POSTGRES_PASSWORD="" > > #SECRET_POSTGRES_REPLICA="" > > #OPSTUTORIAL_SECRET_POSTGRES="" > > #OPERATOR_CONFIG_ALERTGMAIL > > #OPENWHISK_TIME_LIMIT_MAX > > #POSTGRES_PORT > > #OPERATOR_COMPONENT_CRON > > #REDIS_PORT > > #S3_BUCKET_STATIC > > #S3_PORT > > #OPERATOR_COMPONENT_INVOKER > > #OPERATOR_COMPONENT_REDIS > > #OPERATOR_CONFIG_TLSEMAIL > > #OPENWHISK_INVOKER_CONTAINER_POOL_MEMORY > > #DEVEL_SECRET_MILVUS > > #OPSTUTORIAL_SECRET_MONGODB > > #IMAGES_STREAMER > > #OPSTUTORIAL_SECRET_MILVUS > > #IMAGES_INVOKER > > #SECRET_NUVOLARIS_METADATA > > #OPERATOR_COMPONENT_ETCD > > #SECRET_MILVUS_ROOT > > #S3_ACCESS_KEY > > #OPSTUTORIAL_SECRET_COUCHDB > > #AUTH > > #SECRET_MONGODB_ADMIN > > #MILVUS_PORT > > #MILVUS_TOKEN > > #SECRET_REDIS_DEFAULT > > #OPERATOR_COMPONENT_KAFKA > > #OPERATOR_CONFIG_HOSTPROTOCOL > > #DEVEL_SECRET_REDIS > > #IMAGES_OPERATOR > > #SECRET_OPENWHISK_SYSTEM > > #MILVUS_HOST > > #S3_API_URL > > #OPERATOR_COMPONENT_TLS > > #DEVEL_SECRET_OPENWHISK > > #OPSDEV_APIHOST > > #OPERATOR_CONFIG_TOLERATIONS > > #MINIO_CONFIG_INGRESS_S3 > > #SECRET_COUCHDB_INVOKER > > #OPERATOR_COMPONENT_ZOOKEEPER > > #SECRET_MINIO_NUVOLARIS > > #OPERATOR_COMPONENT_AM > > #CONFIGURED > > #DEVEL_SECRET_MINIO > > #HELLO > > #OPSTUTORIAL_SECRET_MINIO > > #STATUS_LAST > > #OPERATOR_COMPONENT_MILVUS > > #REDIS_PROVIDER > > #SECRET_MONGODB_NUVOLARIS > > #OPERATOR_COMPONENT_STATIC > > #SECRET_ETCD_ROOT > > #OPERATOR_CONFIG_APIHOST > > #OPS_COREUTILS > > #SECRET_COUCHDB_ADMIN > > #USER_V1_API_URL > > #OPSDEV_USERNAME > > #SECRET_POSTGRES_NUVOLARIS > > #S3_PROVIDER > > #ANOTHER > > #OPERATOR_CONFIG_AFFINITY > > #OPERATOR_COMPONENT_POSTGRES > > #S3_HOST > > #SECRET_MILVUS_S3 > > #REDIS_URL > > #S3_SECRET_KEY > > #DEVEL_SECRET_POSTGRES > > #SECRET_MILVUS_NUVOLARIS > > #OPERATOR_COMPONENT_MINIO > > #OPERATOR_CONFIG_SLIM > > #POSTGRES_CONFIG_REPLICAS > > #REDIS_PREFIX > > #ETCD_CONFIG_REPLICAS > > #OPERATOR_CONFIG_ALERTSLACK > > #OPSTUTORIAL_SECRET_REDIS > > #STATIC_CONTENT_URL > > #IMAGES_CONTROLLER > > #USER_REST_API_URL > > #DEVEL_SECRET_MONGODB > > #MONGODB_URL > > #HELLO3 > > #SECRET_POSTGRES_ADMIN > > #OPERATOR_COMPONENT_MONGODB > > #DEVEL_SECRET_COUCHDB > > #POSTGRES_HOST > > #OPERATOR_COMPONENT_PROMETHEUS > > #REDIS_ALT_URL > > #REDIS_PASSWORD > > #OPERATOR_COMPONENT_REGISTRY > > #OPSTUTORIAL_SECRET_OPENWHISK > > #REGISTRY_CONFIG_SECRET_PUSH_PULL > > #OPSDEV_HOST > > #SECRET_MINIO_ADMIN > > #SECRET_OPENWHISK_NUVOLARIS > > #SECRET_REDIS_NUVOLARIS > > #SECRET_COUCHDB_CONTROLLER > > #OPERATOR_COMPONENT_QUOTA > > #REDIS_SERVICE > > #S3_BUCKET_DATA > > #IMAGES_SYSTEMAPI > > #MILVUS_DB_NAME > > > > > -------------------------------------------------------------------------------------- > > > > > > Another requirement I have to satisfy is the dependence of some > > parameters on others. For example, because PostgreSQL is a requirement > > for FerretDB, if FerretDB is chosen the tool must ask the user for > > PostgreSQL parameters as well. This requirement is currently not > > implemented in the tool, but this is a matter for a future > > development. > > > > Questions > > > > 1) Which one of the parameters below do we want to be configurable? > > 2) Do we miss some parameters in this list? > > > > Daniele > > >
