AGIOne Installation Configuration Reference
Introduction
| Item | Content |
|---|---|
| Applicable Role | Delivery engineer, implementation engineer, or customer operations engineer who needs to write installation configuration |
| Navigation Path | Deployment > AGIOne Installation Configuration Reference |
| Function Description | Helps 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
| Stage | What You Do | Completion Signal |
|---|---|---|
| Step 1: Choose template | Select a minimal example for single-node, multi-node self-managed, or managed middleware | A runnable YAML template is copied |
| Step 2: Fill required fields | Fill deployment mode, node mode, base passwords, and host-mode topology | The installer can identify the deployment target |
| Step 3: Fill middleware | Confirm self-managed, managed, or hybrid mode and fill connection endpoints | Database, Redis, Nacos, Kafka, and object storage connection information is complete |
| Step 4: Fill access entry | Add domain, HTTPS certificates, and default account policy when needed | Installation result can print the correct access URL and accounts |
| Step 5: Fill scenario fields | Enable KUBEM, cloud services, ISync, NFS, and similar capabilities only when required | Configuration contains only fields needed for this delivery |
| Step 6: Review passwords and risks | Check password character set, standby rebuild risk, and managed middleware permissions | Ready for doctor and formal installation |
Terminology Quick Reference
| Term | Plain Explanation |
|---|---|
| YAML | Configuration file format that uses indentation to express hierarchy; incorrect indentation can make fields unreadable |
| Top-level field | Outermost configuration such as global_config, selected_modules, and agione_app |
| Required field | Field that must be filled for installation or core component connectivity |
| Common field | Field that does not change the basic installation but is often used for domain, certificate, default account, or runtime path requirements |
| Scenario field | Field needed only for specific scenarios, such as managed middleware, optional service groups, or NFS |
| Advanced field | Field usually skipped in standard delivery and used mainly for special placement, troubleshooting, or non-default resource policy |
| Safe character set | Recommended password characters: letters, digits, and underscores, avoiding URL, shell, and YAML escaping issues |
| Compact config | The operator-maintained /root/agione-install.yml, keeping only delivery decisions and non-default values needed for this site |
| Full runtime snapshot | The 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:
./agione quick --file /root/agione-install.ymlAfter backing up required data, use the following command only when existing runtime data must be replaced after all prechecks pass:
./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
| Scenario | Start here | Main fields to fill |
|---|---|---|
| Single-node self-managed middleware | 2.1 Single-node minimal config | Deployment mode, base passwords, default account policy |
| Host-mode self-managed middleware | 2.2 Multi-node self-managed minimal config | Node topology, SSH, base passwords, standby rebuild confirmation |
| Host-mode managed middleware | 2.3 Multi-node managed middleware minimal config | App nodes, managed middleware endpoints and accounts |
| Hybrid middleware | Copy a self-managed or managed template first, then read 5.1 Middleware deployment mode | Choose self-managed or managed per component |
| Additional middleware connection fields | 5.2 Middleware endpoint field details | Optional DB, Redis, Nacos, Kafka, and object storage fields |
| Domain / HTTPS required | 4.1 Frontend access | agione_app.frontend |
| KUBEM / cloud provider services / ISync required | 5.3 Optional application service groups | agione_app.start_optional_app_services |
| Advanced placement required | 6.1 Host-mode service-level placement | agione_app.host_mode_service_placements |
Recommended writing order:
- Choose deployment mode:
singleorhost-mode. - Fill required fields: modules, node mode, base passwords, and host-mode topology.
- Select middleware mode: self-managed, managed, or hybrid.
- Add common options: domain, certificate, default account policy.
- 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.
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: 20If 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.
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: 20If 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: genericbelow 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.
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: 20Set 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
| Field | Type | Why required | Recommended value |
|---|---|---|---|
global_config.deploy_mode | string | Selects single-node or host-mode flow | single or host-mode |
selected_modules | list | Selects modules to run | Standard AGIOne install uses ["agione-app"] |
agione_app.node_mode | string | Selects application node mode | all-in-one for single-node; host-mode for multi-node |
agione_app.db.root_password | string | Required for database initialization | Use the safe character policy; generate per environment |
agione_app.nacos.password | string | Required for config publishing, registration checks, and runtime access | Use the safe character policy |
agione_app.nacos.auth_token | string | Required for self-managed Nacos server auth | Required for self-managed Nacos; use a Base64 value from at least 32 random bytes |
agione_app.redis.password | string | Required for self-managed Redis AUTH | Required for self-managed Redis |
Standard module selection:
selected_modules:
- agione-app3.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.
| Field | Type | Required when | Description |
|---|---|---|---|
agione_app.topology.app_nodes | list | Required for host-mode | App / Edge nodes. Self-managed and managed middleware both require at least 2 nodes. |
agione_app.topology.middleware_node | string | Required when any middleware component is self-managed | Default node for MariaDB primary, Redis, Nacos, Kafka, and MinIO / MinStore. |
agione_app.topology.backup_nodes | list | Required when self-managed database uses a standby node | Current host-mode supports 1 standby database node. |
agione_app.topology.ssh_user | string | Optional | Global SSH user. Default root. |
agione_app.topology.ssh_port | integer | Optional | Global SSH port. Default 22. |
agione_app.topology.ssh_password | string | Fill when all nodes use one SSH password | Passwordless SSH is preferred; password auth requires sshpass on the initiating machine. |
agione_app.topology.ssh_credentials | map | Fill when node SSH settings differ | Per-node user, port, and password override. |
Per-node SSH example:
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.
| Field | Type | Required when | Description |
|---|---|---|---|
agione_app.db.host / port | string / integer | Host-mode or managed database | Database host and port. Default port 3306. |
agione_app.db.root_username | string | Common for managed database | Database admin user used to initialize schemas. Default root. |
agione_app.db.root_password | string | Required in all scenarios | Database admin password. |
agione_app.redis.host / port | string / integer | Host-mode or managed Redis | Redis host and port. Default port 6379. |
agione_app.redis.password | string | Required for self-managed Redis; fill according to managed Redis policy | Redis AUTH password. |
agione_app.nacos.host / port | string / integer | Host-mode or managed Nacos | Nacos API host and port. Default 8848. |
agione_app.nacos.namespace | string | Required in all scenarios | Production default agione-prod. |
agione_app.nacos.username / password | string | Required in all scenarios | Used for config publishing and runtime Nacos access. |
agione_app.kafka.bootstrap_servers | string | Required in all scenarios | Kafka broker list. Self-managed default <middleware-ip>:9092. |
agione_app.minio.endpoint | string | Required in all scenarios | S3-compatible API endpoint. |
agione_app.minio.access_key / secret_key | string | Required in all scenarios | Object 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
| Field | Type | Default behavior | Description |
|---|---|---|---|
agione_app.frontend.domain | string | Empty uses http://<entry-ip>:18090 | Public domain name. |
agione_app.frontend.public_access_url | string | Empty lets the installer generate it | Full public access URL override. Printed first in the install result when configured. |
agione_app.frontend.ssl_certificate_path | string | HTTPS disabled | Nginx PEM certificate path on the initiating host. |
agione_app.frontend.ssl_certificate_key_path | string | HTTPS disabled | Unencrypted PEM private key path. Must be configured together with the certificate. |
agione_app.frontend.frontend_root | string | Uses packaged frontend | Absolute 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
| Field | Type | Default | Description |
|---|---|---|---|
agione_app.default_access.generate_random_passwords | boolean | true | Generate new customer-facing default account passwords for each installation. |
agione_app.default_access.password_length | integer | 20 | Generated password length. Valid range: 6 to 32. |
agione_app.default_access.credentials.operator | string | Generated automatically | Fixed operator password. Fill only when customer policy requires a fixed password. |
agione_app.default_access.credentials.provider | string | Generated automatically | Fixed provider password. |
Customer-facing accounts:
| Account | Description |
|---|---|
operator | Operations account. |
provider | Provider account. Receives Creator and cbdp_buyer roles. |
4.3 Global Basics
| Field | Type | Default | Description |
|---|---|---|---|
global_config.env_name | string | demo | Environment name used in reports and generated artifact names. |
global_config.language | string | en_US | Installer output language. Supports en_US and zh_CN. |
global_config.fallback_language | string | zh_CN | Fallback language when a translation is missing. |
global_config.arch | string | x86_64 | Target CPU architecture. Supports x86_64 and arm64 / aarch64; must match the downloaded bundle. |
global_config.timezone | string | Asia/Shanghai | Runtime timezone. |
global_config.offline_mode | boolean | true | Whether to use offline delivery assets. Keep true for formal delivery. |
global_config.report_dir | string | ./reports | Installation report directory. |
global_config.log_dir | string | ./reports/logs | Installer log directory. |
global_config.package_repository_url | string | empty | Reserved online package repository URL. Usually empty for offline delivery. |
global_config.allow_internet_package_hint | boolean | true | Whether reports may suggest online package installation when offline OS packages are missing. |
global_config.auto_detect_language_from_timezone | boolean | true | Whether timezone can help determine the interactive language. quick still prints English by default. |
agione_app.runtime_root | string | /opt/hyperone | Runtime 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
| Field | Type | Default | Description |
|---|---|---|---|
agione_app.middleware.mode | string | self-managed | Supports self-managed, managed-middleware, and hybrid. |
agione_app.middleware.provider | string | generic | Provider label for reports and delivery review. |
agione_app.middleware.endpoints_file | string | empty | Compatibility field for old standalone endpoint files. New deliveries should write endpoints directly in /root/agione-install.yml. |
agione_app.middleware.verify_connectivity | boolean | true | Whether to check managed middleware reachability during preflight. |
agione_app.middleware.database.mode | string | self-managed | Database component mode in hybrid. |
agione_app.middleware.redis.mode | string | self-managed | Redis component mode in hybrid. |
agione_app.middleware.nacos.mode | string | self-managed | Nacos component mode in hybrid. |
agione_app.middleware.kafka.mode | string | self-managed | Kafka component mode in hybrid. |
agione_app.middleware.object_storage.mode | string | self-managed | Object storage component mode in hybrid. |
Hybrid example:
agione_app:
middleware:
mode: hybrid
database:
mode: managed
redis:
mode: self-managed
nacos:
mode: self-managed
kafka:
mode: managed
object_storage:
mode: self-managed5.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
| Field | Default | Description |
|---|---|---|
agione_app.db.host / port | db-mariadb / 3306 | Keep 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_username | root | Managed database admin user. Self-managed MariaDB uses the built-in root account. |
agione_app.db.charset / collation | utf8mb4 / utf8mb4_unicode_ci | Business database charset and collation. |
agione_app.db.ssl | false | Set true when managed database requires SSL. |
agione_app.db.names.* | See 6.2 Database names | Business database names. Usually keep defaults. |
5.2.2 Redis
| Field | Default | Description |
|---|---|---|
agione_app.redis.host / port | md-redis / 6379 | Use the middleware private IP for host-mode self-managed; use an internal endpoint for managed Redis. |
agione_app.redis.database | 2 | Redis logical database used by AGIOne. |
agione_app.redis.mode | standalone | Redis runtime mode; this is not the same as agione_app.middleware.redis.mode. |
agione_app.redis.ssl | false | Set true when managed Redis requires SSL. |
5.2.3 Nacos
| Field | Default | Description |
|---|---|---|
agione_app.nacos.host / port | md-nacos / 8848 | Use the middleware private IP for host-mode self-managed; use an internal endpoint for managed Nacos. |
agione_app.nacos.namespace | agione-prod | AGIOne runtime namespace. Must not be empty. |
agione_app.nacos.username / password | nacos / empty | Native Nacos account used by the installer to publish configuration and by runtime services. |
agione_app.nacos.auth_token | empty | Self-managed Nacos server auth token. Use a Base64 value from at least 32 random bytes. |
agione_app.nacos.auth_identity_key / auth_identity_value | serverIdentity / security | Self-managed Nacos auth identity fields. Keep defaults unless required. |
agione_app.nacos.console_url | empty | Nacos console URL, used only for reports and manual checks. |
agione_app.nacos.assume_preimported_configs | false | Set true only when all AGIOne config items already exist in the target namespace. |
agione_app.nacos.provider / region / project_id / engine_id / enterprise_project_id | empty | Managed Nacos metadata for resource tracing and delivery review. |
agione_app.nacos.access_key / secret_key | empty | For provider helper scripts when needed; AGIOne installer config publishing still uses the Nacos username and password. |
5.2.4 Kafka
| Field | Default | Description |
|---|---|---|
agione_app.kafka.host / port | kafka / 9092 | Self-managed Kafka host and port. |
agione_app.kafka.bootstrap_servers | kafka:9092 | Broker list used by AGIOne. For host-mode self-managed, use <middleware-ip>:9092. |
agione_app.kafka.security_protocol | PLAINTEXT | Follow the cloud provider requirement when managed Kafka uses SASL / TLS. |
agione_app.kafka.sasl_mechanism | PLAIN | SASL mechanism. Only relevant when protocol is not PLAINTEXT. |
agione_app.kafka.username / password | admin / empty | Kafka auth account. Usually required when protocol is not PLAINTEXT. |
agione_app.kafka.auto_create_topics | false | Set 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.vhost | agione-prod | Compatibility 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
| Field | Default | Description |
|---|---|---|
agione_app.minio.storage_type | minio | Use minio for self-managed; use s3 for S3 / OSS-compatible managed services. |
agione_app.minio.endpoint | http://minio:9000 | S3-compatible API endpoint. For host-mode self-managed, use http://<middleware-ip>:9000. |
agione_app.minio.api_direct_host / web_direct_host | oss.dev:9000 / oss.dev:9001 | Self-managed object storage API / console direct hosts for runtime config and reports. |
agione_app.minio.access_key / secret_key | empty | Object storage credentials. |
agione_app.minio.bucket_name | zguan | Bucket used by AGIOne. |
agione_app.minio.region | empty | Fill when the managed object storage service requires a region. |
agione_app.minio.path_style_access | true | Whether 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.
| Group | Enabled services | Constraints |
|---|---|---|
kubem | core_kubem, core_codelab, core_iam | Enables training / job, CodeLab, and IAM services. The installer automatically appends wm initialization. |
cloud | core_sgeneral, core_saws, core_saliyun, core_general, core_aliyun | Enables cloud provider integration services. |
core_isync | core_isync, influxdb3 | Supported 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:
agione_app:
start_optional_app_services:
- kubem
- cloudIf 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:
./agione services status
./agione services enable kubem,cloud --dry-run
./agione services enable kubem,cloudservices 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 mode | Groups available for incremental enablement |
|---|---|
| Single-node / All in One | kubem, cloud |
| Host-mode multi-node | kubem, 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
| Field | Type | Default | Description |
|---|---|---|---|
agione_app.auto_initialize_db_replication | boolean | false | Whether to initialize MariaDB primary/standby replication in host-mode self-managed database mode. |
agione_app.accept_standby_rebuild_risk | boolean | false | Confirms standby data can be rebuilt. Must be true when replication initialization is enabled. |
agione_app.db_replication_user | string | repl | Replication user. |
agione_app.db_replication_password | string | empty | Replication password. If empty, the installer uses db.root_password. |
5.5 NFS Backend / Frontend Code Sharing
| Field | Type | Default | Description |
|---|---|---|---|
agione_app.host_mode_shared_storage.enabled | boolean | false | Whether to enable NFS code sharing. |
agione_app.host_mode_shared_storage.mode | string | copy | copy uses local files per node; nfs shares code through NFS. |
agione_app.host_mode_shared_storage.server_node | string | empty | NFS server node. Empty means the first app node. |
agione_app.host_mode_shared_storage.mount_options | string | rw,sync,hard,intr | NFS 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:
| Type | Services |
|---|---|
| Self-managed middleware | db_mariadb, db_mariadb_standby, md_redis, md_nacos, kafka, kafka-ui, minio |
| Default App / Edge | nginx, md_gateway, core_common, core_auth, core_upms, core_gnosis, core_xapi, core_coperation, core_financial, core_shop |
| Optional application services | core_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, andinfluxdb3are single-instance services.- When managed middleware is used, do not assign the corresponding self-managed middleware service to nodes.
core_isyncmust be placed on the same node asdb_mariadb_standby.influxdb3must be placed on the same node ascore_isync, andagione_app.influxdb.enabledcannot befalse.
Example:
agione_app:
start_optional_app_services:
- core_isync
host_mode_service_placements:
192.168.31.209:
- db_mariadb_standby
- core_isync
- influxdb36.2 Database Names
Keep defaults unless the product database naming plan changes.
| Field | Default | Description |
|---|---|---|
agione_app.db.names.nacos | nacosv3 | Nacos configuration database. |
agione_app.db.names.common | hw-metis | Metis common business database. |
agione_app.db.names.upms | hw-upms | UPMS business database. |
agione_app.db.names.gnosis / knowledge | hw-gnosis | Gnosis / knowledge business database. |
agione_app.db.names.xapi | hw-xapi | XAPI business database. |
agione_app.db.names.cbdp | hw-cbdp | CBDP business database. |
agione_app.db.names.wanmore | hw-wanmore | Wanmore business database. |
agione_app.db.names.xcloud | hw-xcloud | XCloud business database. |
agione_app.db.names.hashrate | hw-hashrate | Hashrate business database. |
agione_app.db.names.influx_sync | hw-influx-sync | core_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.
| Field | Default | Description |
|---|---|---|
agione_app.influxdb.enabled | true | Whether influxdb3 may be enabled. If influxdb3 is assigned in placement, this cannot be false. |
agione_app.influxdb.host / port | influxdb3 / 8181 | In-container address and API port. |
agione_app.influxdb.url | http://influxdb3:8181 | Internal URL used by AGIOne services. |
agione_app.influxdb.external_port | 18181 | Host-mode published InfluxDB API port. |
agione_app.influxdb.admin_external_port | 18082 | Host-mode published admin port. |
agione_app.influxdb.bucket | AGIOne | Default bucket. |
agione_app.influxdb.username / password | admin / packaged default | Admin user and password. Custom passwords must follow the Password Field Policy. |
agione_app.influxdb.auth_token | packaged default | API token. |
6.4 Other Advanced Fields
| Field area | Description |
|---|---|
agione_app.compose_template_path | Base Compose template path. Default compose/agione-app.yaml; keep it unchanged for new delivery. |
agione_app.auto_start | Whether to start services. quick sets it to true automatically; keep false only for artifact-render-only runs. |
agione_app.auto_run_host_mode_health_check | Whether to run host-mode health check after installation. Default true. |
agione_app.use_default_resource_policy | Whether to use Docker default resource policy. Default true; when set to false, service_resource_limits must be complete. |
agione_app.service_resource_limits | Manual CPU / memory limits. General delivery should use the default resource policy. |
agione_app.initialization_targets | Default metis, gnosis, financial, cbdp; wm is appended automatically when kubem is enabled. |
agione_app.auto_import_nacos | Whether to import Nacos configuration automatically. Default true. |
agione_app.auto_initialize_apps | Whether to call application initialization APIs. Default true. |
agione_app.auto_check_registration | Whether to wait for critical service registration in Nacos. Default true. |
agione_app.use_saas_middleware | Historical 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_passwordagione_app.topology.ssh_credentials.*.passwordagione_app.db.root_passwordagione_app.db_replication_passwordagione_app.redis.passwordagione_app.nacos.passwordagione_app.kafka.passwordagione_app.minio.secret_keyagione_app.harbor.admin_passwordagione_app.gitea.admin_passwordagione_app.influxdb.passwordagione_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.