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
> >
>

Reply via email to