Skip to content

AGIOne Installation Configuration Reference ​

Introduction ​

ItemContent
Applicable RoleDelivery engineer, implementation engineer, or customer operations engineer who needs to write installation configuration
Navigation PathDeployment > AGIOne Installation Configuration Reference
Function DescriptionHelps users start from a minimal YAML template and write an executable /root/agione-install.yml in the order of required, common, scenario, and advanced fields

This document explains how to write /root/agione-install.yml. It is structured so installation engineers can copy a working template first, then add fields only for the required delivery scenario.

Beginner Explanation ​

Think of /root/agione-install.yml as the installer's task sheet: it tells the installer whether to deploy single-node or multi-node, which machines participate, which passwords to use, whether middleware is self-managed or managed, and which URL users should open after installation.

Configuration Timeline ​

StageWhat You DoCompletion Signal
Step 1: Choose templateSelect a minimal example for single-node, multi-node self-managed, or managed middlewareA runnable YAML template is copied
Step 2: Fill required fieldsFill deployment mode, node mode, base passwords, and host-mode topologyThe installer can identify the deployment target
Step 3: Fill middlewareConfirm self-managed, managed, or hybrid mode and fill connection endpointsDatabase, Redis, Nacos, Kafka, and object storage connection information is complete
Step 4: Fill access entryAdd domain, HTTPS certificates, and default account policy when neededInstallation result can print the correct access URL and accounts
Step 5: Fill scenario fieldsEnable KUBEM, cloud services, ISync, NFS, and similar capabilities only when requiredConfiguration contains only fields needed for this delivery
Step 6: Review passwords and risksCheck password character set, standby rebuild risk, and managed middleware permissionsReady for doctor and formal installation

Terminology Quick Reference ​

TermPlain Explanation
YAMLConfiguration file format that uses indentation to express hierarchy; incorrect indentation can make fields unreadable
Top-level fieldOutermost configuration such as global_config, selected_modules, and agione_app
Required fieldField that must be filled for installation or core component connectivity
Common fieldField that does not change the basic installation but is often used for domain, certificate, default account, or runtime path requirements
Scenario fieldField needed only for specific scenarios, such as managed middleware, optional service groups, or NFS
Advanced fieldField usually skipped in standard delivery and used mainly for special placement, troubleshooting, or non-default resource policy
Safe character setRecommended password characters: letters, digits, and underscores, avoiding URL, shell, and YAML escaping issues
Compact configThe operator-maintained /root/agione-install.yml, keeping only delivery decisions and non-default values needed for this site
Full runtime snapshotThe complete resolved config generated by the installer, such as outputs/final-result-config.yml, used for audit and troubleshooting

Keep /root/agione-install.yml compact. During execution, the installer fills defaults and writes the complete resolved result to outputs/final-result-config.yml. For normal delivery, maintain the compact config; use the full runtime snapshot for review, audit, and support investigation instead of copying it directly as the next delivery template.

Standard command:

bash
./agione quick --file /root/agione-install.yml

After backing up required data, use the following command only when existing runtime data must be replaced after all prechecks pass:

bash
./agione quick --file /root/agione-install.yml --force-overwrite

-f PATH is an alias for --file PATH; it selects the configuration file and never grants overwrite permission. --force-overwrite is a separate destructive-operation option. The installer binds the target directory, runtime root, configuration, and SHA256SUMS fingerprint to the precheck and replaces managed runtime data only after every check passes. This workflow does not create a backup automatically.

1. Choose a Template First ​

ScenarioStart hereMain fields to fill
Single-node self-managed middleware2.1 Single-node minimal configDeployment mode, base passwords, default account policy
Host-mode self-managed middleware2.2 Multi-node self-managed minimal configNode topology, SSH, base passwords, standby rebuild confirmation
Host-mode managed middleware2.3 Multi-node managed middleware minimal configApp nodes, managed middleware endpoints and accounts
Hybrid middlewareCopy a self-managed or managed template first, then read 5.1 Middleware deployment modeChoose self-managed or managed per component
Additional middleware connection fields5.2 Middleware endpoint field detailsOptional DB, Redis, Nacos, Kafka, and object storage fields
Domain / HTTPS required4.1 Frontend accessagione_app.frontend
KUBEM / cloud provider services / ISync required5.3 Optional application service groupsagione_app.start_optional_app_services
Advanced placement required6.1 Host-mode service-level placementagione_app.host_mode_service_placements

Recommended writing order:

  1. Choose deployment mode: single or host-mode.
  2. Fill required fields: modules, node mode, base passwords, and host-mode topology.
  3. Select middleware mode: self-managed, managed, or hybrid.
  4. Add common options: domain, certificate, default account policy.
  5. Add optional service groups, NFS, service placement, or other advanced fields only when needed.

2. Minimal Config Examples ​

The password values below only demonstrate the safe character format. For production delivery, generate different passwords for each component and use only A-Z, a-z, 0-9, and _.

2.1 Single-Node Minimal Config ​

Use this when one machine runs AGIOne application services and self-managed middleware.

yaml
global_config:
  deploy_mode: single
  language: en_US
  offline_mode: true

selected_modules:
  - agione-app

agione_app:
  node_mode: all-in-one
  db:
    root_password: "DbRoot_2026"
  redis:
    password: "Redis_2026"
  nacos:
    password: "Nacos_2026"
    auth_token: "QWdJT25lX05hY29zX0F1dGhUb2tlbl8yMDI2X1BsZWFzZVJlcGxhY2VfNDhCeXRlcw=="
  default_access:
    generate_random_passwords: true
    password_length: 20

If no fixed domain, certificate, or fixed default account password is required, a single-node installation usually needs no more fields.

2.2 Multi-Node Self-Managed Minimal Config ​

Use this for the default 4 to 8 machine host-mode deployment where the installer deploys MariaDB, Redis, Nacos, Kafka, and MinIO / MinStore.

yaml
global_config:
  deploy_mode: host-mode
  language: en_US
  offline_mode: true

selected_modules:
  - agione-app

agione_app:
  node_mode: host-mode
  topology:
    ssh_user: root
    ssh_port: 22
    app_nodes:
      - 192.168.31.204
      - 192.168.31.207
    middleware_node: 192.168.31.208
    backup_nodes:
      - 192.168.31.209
  db:
    host: 192.168.31.208
    port: 3306
    root_username: root
    root_password: "DbRoot_2026"
  redis:
    host: 192.168.31.208
    port: 6379
    password: "Redis_2026"
  nacos:
    host: 192.168.31.208
    port: 8848
    namespace: agione-prod
    username: nacos
    password: "Nacos_2026"
    auth_token: "QWdJT25lX05hY29zX0F1dGhUb2tlbl8yMDI2X1BsZWFzZVJlcGxhY2VfNDhCeXRlcw=="
  kafka:
    host: 192.168.31.208
    port: 9092
    bootstrap_servers: 192.168.31.208:9092
    security_protocol: PLAINTEXT
    auto_create_topics: true
  minio:
    endpoint: http://192.168.31.208:9000
    api_direct_host: 192.168.31.208:9000
    web_direct_host: 192.168.31.208:9001
    access_key: "MinioAccess_2026"
    secret_key: "MinioSecret_2026"
  auto_initialize_db_replication: true
  accept_standby_rebuild_risk: true
  default_access:
    generate_random_passwords: true
    password_length: 20

If nodes use different SSH users, ports, or passwords, add topology.ssh_credentials; see 3.2 Host-mode node topology.

2.3 Multi-Node Managed Middleware Minimal Config ​

Use this when database, Redis, Nacos, Kafka, and object storage are provided by cloud services or existing customer services, and target machines run only AGIOne App / Edge services.

Check the compatibility matrix first: provider: generic below is only the installer's generic endpoint-adapter label; it does not mean every provider or product is supported. Formal delivery may use only the verified Alibaba Cloud / Huawei Cloud products, versions, and access modes in the cloud middleware compatibility matrix. Endpoint reachability during precheck does not replace product and version compatibility validation.

yaml
global_config:
  deploy_mode: host-mode
  language: en_US
  offline_mode: true

selected_modules:
  - agione-app

agione_app:
  node_mode: host-mode
  topology:
    ssh_user: root
    ssh_port: 22
    app_nodes:
      - 192.168.31.204
      - 192.168.31.207
  middleware:
    mode: managed-middleware
    provider: generic
    verify_connectivity: true
  db:
    host: rds-mariadb.internal.example.com
    port: 3306
    root_username: root
    root_password: "DbRoot_2026"
    ssl: false
  redis:
    host: redis.internal.example.com
    port: 6379
    password: "Redis_2026"
    ssl: false
  nacos:
    host: nacos.internal.example.com
    port: 8848
    namespace: agione-prod
    username: nacos
    password: "Nacos_2026"
    assume_preimported_configs: false
  kafka:
    bootstrap_servers: kafka-1.internal.example.com:9092
    security_protocol: PLAINTEXT
    auto_create_topics: true
  minio:
    storage_type: s3
    endpoint: https://oss.internal.example.com
    access_key: "ObjectAccess_2026"
    secret_key: "ObjectSecret_2026"
    bucket_name: agione
    path_style_access: true
  default_access:
    generate_random_passwords: true
    password_length: 20

Set agione_app.nacos.assume_preimported_configs: true only when all required AGIOne configuration items already exist in the target Nacos namespace.

3. Level 1: Required Fields ​

Level 1 fields determine whether the installer can start the deployment. Confirm them first for formal delivery.

3.1 Required in All Scenarios ​

FieldTypeWhy requiredRecommended value
global_config.deploy_modestringSelects single-node or host-mode flowsingle or host-mode
selected_moduleslistSelects modules to runStandard AGIOne install uses ["agione-app"]
agione_app.node_modestringSelects application node modeall-in-one for single-node; host-mode for multi-node
agione_app.db.root_passwordstringRequired for database initializationUse the safe character policy; generate per environment
agione_app.nacos.passwordstringRequired for config publishing, registration checks, and runtime accessUse the safe character policy
agione_app.nacos.auth_tokenstringRequired for self-managed Nacos server authRequired for self-managed Nacos; use a Base64 value from at least 32 random bytes
agione_app.redis.passwordstringRequired for self-managed Redis AUTHRequired for self-managed Redis

Standard module selection:

yaml
selected_modules:
  - agione-app

3.2 Host-Mode Node Topology ​

Host-mode requires private IPv4 addresses. Do not use public IPs or public DNS names. The installer uses these addresses for SSH, Nacos registration / discovery, Nginx upstreams, middleware connections, and Docker port binding.

FieldTypeRequired whenDescription
agione_app.topology.app_nodeslistRequired for host-modeApp / Edge nodes. Self-managed and managed middleware both require at least 2 nodes.
agione_app.topology.middleware_nodestringRequired when any middleware component is self-managedDefault node for MariaDB primary, Redis, Nacos, Kafka, and MinIO / MinStore.
agione_app.topology.backup_nodeslistRequired when self-managed database uses a standby nodeCurrent host-mode supports 1 standby database node.
agione_app.topology.ssh_userstringOptionalGlobal SSH user. Default root.
agione_app.topology.ssh_portintegerOptionalGlobal SSH port. Default 22.
agione_app.topology.ssh_passwordstringFill when all nodes use one SSH passwordPasswordless SSH is preferred; password auth requires sshpass on the initiating machine.
agione_app.topology.ssh_credentialsmapFill when node SSH settings differPer-node user, port, and password override.

Per-node SSH example:

yaml
agione_app:
  topology:
    ssh_user: root
    ssh_port: 22
    app_nodes:
      - 192.168.31.204
      - 192.168.31.207
    middleware_node: 192.168.31.208
    backup_nodes:
      - 192.168.31.209
    ssh_credentials:
      192.168.31.204:
        user: root
        port: 22
        password: "Password_204"
      192.168.31.207:
        user: ops
        port: 2222
        password: "Password_207"

3.3 Required Middleware Connection Fields ​

These fields are used by both self-managed and managed middleware. For self-managed host-mode, use the middleware node private IP. For managed middleware, use the cloud service or existing service endpoint.

FieldTypeRequired whenDescription
agione_app.db.host / portstring / integerHost-mode or managed databaseDatabase host and port. Default port 3306.
agione_app.db.root_usernamestringCommon for managed databaseDatabase admin user used to initialize schemas. Default root.
agione_app.db.root_passwordstringRequired in all scenariosDatabase admin password.
agione_app.redis.host / portstring / integerHost-mode or managed RedisRedis host and port. Default port 6379.
agione_app.redis.passwordstringRequired for self-managed Redis; fill according to managed Redis policyRedis AUTH password.
agione_app.nacos.host / portstring / integerHost-mode or managed NacosNacos API host and port. Default 8848.
agione_app.nacos.namespacestringRequired in all scenariosProduction default agione-prod.
agione_app.nacos.username / passwordstringRequired in all scenariosUsed for config publishing and runtime Nacos access.
agione_app.kafka.bootstrap_serversstringRequired in all scenariosKafka broker list. Self-managed default <middleware-ip>:9092.
agione_app.minio.endpointstringRequired in all scenariosS3-compatible API endpoint.
agione_app.minio.access_key / secret_keystringRequired in all scenariosObject storage credentials.

For additional connection fields, see 5.2 Middleware endpoint field details. If the site has no special requirement, keep the example values or installer defaults.

4. Level 2: Common Optional Fields ​

Level 2 fields do not change the basic topology, but they affect customer access, default accounts, delivery experience, and runtime paths.

4.1 Frontend Access ​

FieldTypeDefault behaviorDescription
agione_app.frontend.domainstringEmpty uses http://<entry-ip>:18090Public domain name.
agione_app.frontend.public_access_urlstringEmpty lets the installer generate itFull public access URL override. Printed first in the install result when configured.
agione_app.frontend.ssl_certificate_pathstringHTTPS disabledNginx PEM certificate path on the initiating host.
agione_app.frontend.ssl_certificate_key_pathstringHTTPS disabledUnencrypted PEM private key path. Must be configured together with the certificate.
agione_app.frontend.frontend_rootstringUses packaged frontendAbsolute path for custom frontend static files.

When certificate paths are configured, the installer validates and copies them to /opt/hyperone/core/nginx/certs/; host-mode syncs them to every Nginx node.

4.2 Default Console Accounts ​

FieldTypeDefaultDescription
agione_app.default_access.generate_random_passwordsbooleantrueGenerate new customer-facing default account passwords for each installation.
agione_app.default_access.password_lengthinteger20Generated password length. Valid range: 6 to 32.
agione_app.default_access.credentials.operatorstringGenerated automaticallyFixed operator password. Fill only when customer policy requires a fixed password.
agione_app.default_access.credentials.providerstringGenerated automaticallyFixed provider password.

Customer-facing accounts:

AccountDescription
operatorOperations account.
providerProvider account. Receives Creator and cbdp_buyer roles.

4.3 Global Basics ​

FieldTypeDefaultDescription
global_config.env_namestringdemoEnvironment name used in reports and generated artifact names.
global_config.languagestringen_USInstaller output language. Supports en_US and zh_CN.
global_config.fallback_languagestringzh_CNFallback language when a translation is missing.
global_config.archstringx86_64Target CPU architecture. Supports x86_64 and arm64 / aarch64; must match the downloaded bundle.
global_config.timezonestringAsia/ShanghaiRuntime timezone.
global_config.offline_modebooleantrueWhether to use offline delivery assets. Keep true for formal delivery.
global_config.report_dirstring./reportsInstallation report directory.
global_config.log_dirstring./reports/logsInstaller log directory.
global_config.package_repository_urlstringemptyReserved online package repository URL. Usually empty for offline delivery.
global_config.allow_internet_package_hintbooleantrueWhether reports may suggest online package installation when offline OS packages are missing.
global_config.auto_detect_language_from_timezonebooleantrueWhether timezone can help determine the interactive language. quick still prints English by default.
agione_app.runtime_rootstring/opt/hyperoneRuntime data root. Keep the default to let the installer prefer a suitable data disk.

5. Level 3: Scenario Fields ​

Fill these fields only when the delivery scenario requires them.

5.1 Middleware Deployment Mode ​

FieldTypeDefaultDescription
agione_app.middleware.modestringself-managedSupports self-managed, managed-middleware, and hybrid.
agione_app.middleware.providerstringgenericProvider label for reports and delivery review.
agione_app.middleware.endpoints_filestringemptyCompatibility field for old standalone endpoint files. New deliveries should write endpoints directly in /root/agione-install.yml.
agione_app.middleware.verify_connectivitybooleantrueWhether to check managed middleware reachability during preflight.
agione_app.middleware.database.modestringself-managedDatabase component mode in hybrid.
agione_app.middleware.redis.modestringself-managedRedis component mode in hybrid.
agione_app.middleware.nacos.modestringself-managedNacos component mode in hybrid.
agione_app.middleware.kafka.modestringself-managedKafka component mode in hybrid.
agione_app.middleware.object_storage.modestringself-managedObject storage component mode in hybrid.

Hybrid example:

yaml
agione_app:
  middleware:
    mode: hybrid
    database:
      mode: managed
    redis:
      mode: self-managed
    nacos:
      mode: self-managed
    kafka:
      mode: managed
    object_storage:
      mode: self-managed

5.2 Middleware Endpoint Field Details ​

The minimal templates already include the fields required to start installation. Use the fields below when managed middleware, hybrid middleware, security protocols, or customer naming policies require additional configuration.

5.2.1 Database ​

FieldDefaultDescription
agione_app.db.host / portdb-mariadb / 3306Keep defaults for single-node; use the middleware private IP for host-mode self-managed; use an internal endpoint for managed database.
agione_app.db.root_usernamerootManaged database admin user. Self-managed MariaDB uses the built-in root account.
agione_app.db.charset / collationutf8mb4 / utf8mb4_unicode_ciBusiness database charset and collation.
agione_app.db.sslfalseSet true when managed database requires SSL.
agione_app.db.names.*See 6.2 Database namesBusiness database names. Usually keep defaults.

5.2.2 Redis ​

FieldDefaultDescription
agione_app.redis.host / portmd-redis / 6379Use the middleware private IP for host-mode self-managed; use an internal endpoint for managed Redis.
agione_app.redis.database2Redis logical database used by AGIOne.
agione_app.redis.modestandaloneRedis runtime mode; this is not the same as agione_app.middleware.redis.mode.
agione_app.redis.sslfalseSet true when managed Redis requires SSL.

5.2.3 Nacos ​

FieldDefaultDescription
agione_app.nacos.host / portmd-nacos / 8848Use the middleware private IP for host-mode self-managed; use an internal endpoint for managed Nacos.
agione_app.nacos.namespaceagione-prodAGIOne runtime namespace. Must not be empty.
agione_app.nacos.username / passwordnacos / emptyNative Nacos account used by the installer to publish configuration and by runtime services.
agione_app.nacos.auth_tokenemptySelf-managed Nacos server auth token. Use a Base64 value from at least 32 random bytes.
agione_app.nacos.auth_identity_key / auth_identity_valueserverIdentity / securitySelf-managed Nacos auth identity fields. Keep defaults unless required.
agione_app.nacos.console_urlemptyNacos console URL, used only for reports and manual checks.
agione_app.nacos.assume_preimported_configsfalseSet true only when all AGIOne config items already exist in the target namespace.
agione_app.nacos.provider / region / project_id / engine_id / enterprise_project_idemptyManaged Nacos metadata for resource tracing and delivery review.
agione_app.nacos.access_key / secret_keyemptyFor provider helper scripts when needed; AGIOne installer config publishing still uses the Nacos username and password.

5.2.4 Kafka ​

FieldDefaultDescription
agione_app.kafka.host / portkafka / 9092Self-managed Kafka host and port.
agione_app.kafka.bootstrap_serverskafka:9092Broker list used by AGIOne. For host-mode self-managed, use <middleware-ip>:9092.
agione_app.kafka.security_protocolPLAINTEXTFollow the cloud provider requirement when managed Kafka uses SASL / TLS.
agione_app.kafka.sasl_mechanismPLAINSASL mechanism. Only relevant when protocol is not PLAINTEXT.
agione_app.kafka.username / passwordadmin / emptyKafka auth account. Usually required when protocol is not PLAINTEXT.
agione_app.kafka.auto_create_topicsfalseSet to true when broker-side topic auto-creation is enabled, or when the delivery team explicitly accepts runtime creation of required AGIOne topics.
agione_app.kafka.vhostagione-prodCompatibility field. Usually keep default.

When auto_create_topics stays false, the installer checks that required AGIOne topics already exist. For managed Kafka, create missing topics in the cloud console first. If the installer should create them, the Kafka account must have topic management permission and AGIONE_MANAGED_KAFKA_CREATE_TOPICS=1 must be set before installation.

5.2.5 Object Storage ​

FieldDefaultDescription
agione_app.minio.storage_typeminioUse minio for self-managed; use s3 for S3 / OSS-compatible managed services.
agione_app.minio.endpointhttp://minio:9000S3-compatible API endpoint. For host-mode self-managed, use http://<middleware-ip>:9000.
agione_app.minio.api_direct_host / web_direct_hostoss.dev:9000 / oss.dev:9001Self-managed object storage API / console direct hosts for runtime config and reports.
agione_app.minio.access_key / secret_keyemptyObject storage credentials.
agione_app.minio.bucket_namezguanBucket used by AGIOne.
agione_app.minio.regionemptyFill when the managed object storage service requires a region.
agione_app.minio.path_style_accesstrueWhether to use path-style access. Adjust according to the managed service compatibility.

5.3 Optional Application Service Groups ​

agione_app.start_optional_app_services is a list, not a simple boolean switch. Legacy true is still compatible and maps to kubem, but new configs should use explicit group names.

GroupEnabled servicesConstraints
kubemcore_kubem, core_codelab, core_iamEnables training / job, CodeLab, and IAM services. The installer automatically appends wm initialization.
cloudcore_sgeneral, core_saws, core_saliyun, core_general, core_aliyunEnables cloud provider integration services.
core_isynccore_isync, influxdb3Supported only in host-mode with self-managed MariaDB and exactly one standby database node. Placed on the same node as db_mariadb_standby by default.

Example:

yaml
agione_app:
  start_optional_app_services:
    - kubem
    - cloud

If core_isync is not in this list, but the deployment uses host-mode, self-managed MariaDB, exactly one standby node, and does not disable agione_app.influxdb.enabled, the initial installation prepares the core_isync and influxdb3 assets and images on the standby node. Preparation does not create or start containers and does not mark the group as enabled; it only makes later offline incremental enablement cheaper.

Incremental enablement after installation ​

Before installation, keep using start_optional_app_services so the groups are deployed with quick. After an installation is complete, use the following commands instead of rerunning the full installation just to add optional services:

bash
./agione services status
./agione services enable kubem,cloud --dry-run
./agione services enable kubem,cloud

services status shows groups in the final configuration, services declared in Compose, and services currently running. States include enabled, disabled, and partial. In host-mode it also shows per-node status and unfinished transactions. When the preparation conditions above are met and the remote assets are intact, core_isync is reported as prepared (installed, not started).

services enable reads outputs/final-result-config.yml from the installed target directly, so no --file argument is required. --dry-run performs checks only and does not change Compose, containers, or final configuration. Supported groups are:

Deployment modeGroups available for incremental enablement
Single-node / All in Onekubem, cloud
Host-mode multi-nodekubem, cloud, core_isync

Incrementally enabling core_isync in host-mode requires self-managed MariaDB and exactly one standby database node. Primary-to-standby replication should be healthy. If replication has not been established, automatic bootstrap is allowed only when the standby is empty, read-only, has no replication metadata, and its only health failure is missing replication metadata. Non-empty data, unhealthy replication, role mismatch, or ambiguous state blocks enablement.

When core_isync is disabled, the base installation does not import metis-influx-sync.yml. Incremental enablement publishes and verifies this Nacos configuration only after private InfluxDB credentials are prepared, and restores the previous configuration if a later step fails. A real operation starts only newly requested services and does not recreate existing services. Failure rolls back the current transaction, and an already healthy group is a no-op. The command currently supports enablement only, not disablement.

After success, the command updates installed outputs/final-result-config.yml. If /root/agione-install.yml will be used for a later full reinstall, add the new groups to agione_app.start_optional_app_services there as well.

5.4 Database Replication Initialization ​

FieldTypeDefaultDescription
agione_app.auto_initialize_db_replicationbooleanfalseWhether to initialize MariaDB primary/standby replication in host-mode self-managed database mode.
agione_app.accept_standby_rebuild_riskbooleanfalseConfirms standby data can be rebuilt. Must be true when replication initialization is enabled.
agione_app.db_replication_userstringreplReplication user.
agione_app.db_replication_passwordstringemptyReplication password. If empty, the installer uses db.root_password.

5.5 NFS Backend / Frontend Code Sharing ​

FieldTypeDefaultDescription
agione_app.host_mode_shared_storage.enabledbooleanfalseWhether to enable NFS code sharing.
agione_app.host_mode_shared_storage.modestringcopycopy uses local files per node; nfs shares code through NFS.
agione_app.host_mode_shared_storage.server_nodestringemptyNFS server node. Empty means the first app node.
agione_app.host_mode_shared_storage.mount_optionsstringrw,sync,hard,intrNFS mount options. Do not include spaces.

This setting shares only <runtime_root>/core/metis and <runtime_root>/core/mamba. It does not share database data, MinStore data, logs, Docker data, or host-mode rendered configuration.

6. Level 4: Advanced Fields ​

Advanced fields are for special delivery, troubleshooting, or non-default placement. Standard delivery should not set them proactively.

6.1 Host-Mode Service-Level Placement ​

Standard 4 to 8 machine delivery does not need host_mode_service_placements; the installer derives default placement from machine order.

Supported placement services:

TypeServices
Self-managed middlewaredb_mariadb, db_mariadb_standby, md_redis, md_nacos, kafka, kafka-ui, minio
Default App / Edgenginx, md_gateway, core_common, core_auth, core_upms, core_gnosis, core_xapi, core_coperation, core_financial, core_shop
Optional application servicescore_kubem, core_codelab, core_iam, core_sgeneral, core_saws, core_saliyun, core_general, core_aliyun, core_isync, influxdb3

Constraints:

  • Required services must be assigned to at least one machine.
  • db_mariadb, db_mariadb_standby, md_redis, md_nacos, kafka, kafka-ui, minio, core_common, core_iam, core_isync, and influxdb3 are single-instance services.
  • When managed middleware is used, do not assign the corresponding self-managed middleware service to nodes.
  • core_isync must be placed on the same node as db_mariadb_standby.
  • influxdb3 must be placed on the same node as core_isync, and agione_app.influxdb.enabled cannot be false.

Example:

yaml
agione_app:
  start_optional_app_services:
    - core_isync
  host_mode_service_placements:
    192.168.31.209:
      - db_mariadb_standby
      - core_isync
      - influxdb3

6.2 Database Names ​

Keep defaults unless the product database naming plan changes.

FieldDefaultDescription
agione_app.db.names.nacosnacosv3Nacos configuration database.
agione_app.db.names.commonhw-metisMetis common business database.
agione_app.db.names.upmshw-upmsUPMS business database.
agione_app.db.names.gnosis / knowledgehw-gnosisGnosis / knowledge business database.
agione_app.db.names.xapihw-xapiXAPI business database.
agione_app.db.names.cbdphw-cbdpCBDP business database.
agione_app.db.names.wanmorehw-wanmoreWanmore business database.
agione_app.db.names.xcloudhw-xcloudXCloud business database.
agione_app.db.names.hashratehw-hashrateHashrate business database.
agione_app.db.names.influx_synchw-influx-synccore_isync metadata database. Must not be empty when core_isync is enabled.

6.3 InfluxDB / ISync ​

agione_app.influxdb matters only when the core_isync service group is enabled.

FieldDefaultDescription
agione_app.influxdb.enabledtrueWhether influxdb3 may be enabled. If influxdb3 is assigned in placement, this cannot be false.
agione_app.influxdb.host / portinfluxdb3 / 8181In-container address and API port.
agione_app.influxdb.urlhttp://influxdb3:8181Internal URL used by AGIOne services.
agione_app.influxdb.external_port18181Host-mode published InfluxDB API port.
agione_app.influxdb.admin_external_port18082Host-mode published admin port.
agione_app.influxdb.bucketAGIOneDefault bucket.
agione_app.influxdb.username / passwordadmin / packaged defaultAdmin user and password. Custom passwords must follow the Password Field Policy.
agione_app.influxdb.auth_tokenpackaged defaultAPI token.

6.4 Other Advanced Fields ​

Field areaDescription
agione_app.compose_template_pathBase Compose template path. Default compose/agione-app.yaml; keep it unchanged for new delivery.
agione_app.auto_startWhether to start services. quick sets it to true automatically; keep false only for artifact-render-only runs.
agione_app.auto_run_host_mode_health_checkWhether to run host-mode health check after installation. Default true.
agione_app.use_default_resource_policyWhether to use Docker default resource policy. Default true; when set to false, service_resource_limits must be complete.
agione_app.service_resource_limitsManual CPU / memory limits. General delivery should use the default resource policy.
agione_app.initialization_targetsDefault metis, gnosis, financial, cbdp; wm is appended automatically when kubem is enabled.
agione_app.auto_import_nacosWhether to import Nacos configuration automatically. Default true.
agione_app.auto_initialize_appsWhether to call application initialization APIs. Default true.
agione_app.auto_check_registrationWhether to wait for critical service registration in Nacos. Default true.
agione_app.use_saas_middlewareHistorical compatibility field. New deliveries should express middleware deployment through agione_app.middleware.mode.
agione_app.harbor.*Image registry address, port, and admin account configuration.
agione_app.gitea.*Gitea address, admin account, and webhook callback URL.
agione_app.kubem.*core_kubem service port, job access entry, scheduling, and callback configuration.
agione_app.iam.*core_iam URL, port, context path, and signature check.
agione_app.jupyter.*Job proxy Nginx port and Jupyter access path configuration.

7. Password Field Policy ​

Passwords in the installation configuration may be written to YAML, Docker Compose, environment variables, Nacos configuration, URL parameters, or shell commands. To avoid escaping issues, truncation, URL encoding problems, and container startup failures, use the following safe character policy for manually created or customer-provided passwords:

  • Use only uppercase letters, lowercase letters, digits, and underscores: A-Z, a-z, 0-9, _.
  • Recommended length: 12 to 32 characters, with at least letters and digits.
  • Quote passwords in YAML even when they use only safe characters.
  • Avoid spaces, @, :, /, ?, #, &, =, %, +, $, backticks, quotes, and backslashes.
  • For existing external middleware passwords that contain reserved characters, rotate them in the cloud console or middleware service before writing them to /root/agione-install.yml.

This policy applies to password-like fields including but not limited to:

  • agione_app.topology.ssh_password
  • agione_app.topology.ssh_credentials.*.password
  • agione_app.db.root_password
  • agione_app.db_replication_password
  • agione_app.redis.password
  • agione_app.nacos.password
  • agione_app.kafka.password
  • agione_app.minio.secret_key
  • agione_app.harbor.admin_password
  • agione_app.gitea.admin_password
  • agione_app.influxdb.password
  • agione_app.default_access.credentials.*

The installer validates agione_app.nacos.password before containers are started. If the Nacos password contains unsafe characters, installation fails early and the password must be changed before retrying.