Modifiable Files and Directories within Iotellect Server Installation

This page identifies the files and directories inside a Iotellect server installation that should be preserved when they are modified after deployment or when they store persistent runtime state.

Do not place the entire Iotellect directory on persistent storage. Persist only the paths that store configuration, user-managed assets, runtime operational data, or embedded database state.

For installation and upgrade procedures, see Installation and Upgrading. For container startup and local Docker execution, see Running in a Docker Container. For failover architecture and node roles, see Failover Cluster.

Overview

Use the paths below to determine what should survive restart, upgrade, rescheduling, or failover.

In general:

  • preserve configuration that is modified after deployment;

  • preserve user-managed assets that must survive restart;

  • preserve embedded database directories only when the corresponding storage mode is used;

  • do not persist the entire installation directory;

  • do not share embedded database storage between concurrently running nodes.

Persistence and node sharing are not the same thing.

  • Persisted means the path survives restart of the same instance, for example through a volume or persistent volume.

  • Shared means multiple instances can read, and sometimes write, the same storage concurrently.

  • Replicated means content is copied between nodes by a replication or configuration-management mechanism rather than a shared filesystem.

Configuration Paths

Path

Object

Persist when

Purpose

Additional notes

Iotellect/server.xml

File

Always

Stores the main server configuration, including network parameters, enabled modules, cluster or failover settings, and database connectivity.

Keep consistent across failover nodes. If this file is lost, the server may start with defaults or incomplete configuration.

Iotellect/logging.xml

File

When customized

Stores logging configuration.

Keep consistent across failover nodes. If this file is not preserved, logging behavior may revert to defaults after restart.

Iotellect/ag_server.vmoption

File

For the active launch mode

Stores runtime VM options.

Persist the file that is actually used by the active component or launch mode.

Iotellect/ag_server_console.vmoptions

File

For the active launch mode

Stores runtime VM options for console launch mode.

Keep the effective VM options consistent across failover nodes.

Iotellect/ag_server_service.vmoptions

File

For the active launch mode

Stores runtime VM options for service launch mode.

Keep the effective VM options consistent across failover nodes.

User-Managed Assets

Path

Object

Persist when

Purpose

Additional notes

Iotellect/plugins/

Directory

When plugins are installed or updated after deployment

Stores third-party and custom plugins that are not fixed in the base image.

If plugins are always baked into the image, persistence is not required. Keep plugin sets and versions consistent across failover nodes.

Iotellect/mib/

Directory

When SNMP MIB files are imported after deployment

Stores imported MIB files.

Keep consistent across failover nodes. If lost, imported MIBs may need to be restored manually.

Other user-managed paths may also require persistence, for example custom UI resources, report templates, import or export artifacts, or module-specific repositories. Apply the same rule to any such path: if it is created or modified after deployment and is expected to survive restart, treat it as persistent state.

Runtime and Operational Data

Path

Object

Persist when

Purpose

Additional notes

Iotellect/logs/

Directory

When file-based logs are required

Stores logs used for troubleshooting, auditing, security investigations, and customer support.

Persistence is strongly recommended, but centralized logging may be sufficient in some deployments.

Iotellect/statistics/

Directory

When statistics data must survive restart

Stores statistics data generated by the server.

Do not share between concurrently running instances.

Iotellect/search_index/

Directory

When the search index must survive restart

Stores the search index used by the server.

Do not share between concurrently running instances.

Iotellect/scripts/

Directory

When custom functions or script engine content must survive restart

Stores custom functions and script engine content.

Do not share between concurrently running instances.

Iotellect/cluster/

Directory

When cluster configuration is modified after deployment

Stores cluster configuration that must survive restart.

Do not share between concurrently running instances.

If the deployment creates thread dumps, heap dumps, or diagnostic snapshots inside the Iotellect installation directory, store them in a dedicated persisted diagnostics directory rather than treating them as disposable temporary files. If such outputs are required for support or operations, treat that diagnostics directory as persistent operational state.

Database Paths

The required database path depends on the storage mode used by the deployment.

Path

Object

Persist when

Purpose

Additional notes

Iotellect/data/

Directory

When file-based storage is used

Stores file-based database state.

Do not share between concurrently running instances.

Iotellect/database/

Directory

When embedded SQL database storage is used

Stores embedded SQL database state.

Do not share between concurrently running instances.

Iotellect/nosql_data/

Directory

When embedded Cassandra is used

Stores embedded Cassandra data.

Never share between concurrently running nodes. Use single-writer access semantics only.

If external Cassandra is used, durable database storage is handled outside the Iotellect installation directory. In that case, Iotellect/nosql_data/ is not the durable database location, but configuration that stores external Cassandra connectivity, such as Iotellect/server.xml, must still be preserved.

Deployment Considerations

For Docker deployments, preserve the same paths listed on this page. This page defines what must survive restart; deployment steps themselves are documented separately.

For Kubernetes deployments:

  • use persistent volumes for writable configuration and state that must survive pod restart or reschedule;

  • if configuration is immutable, Iotellect/server.xml and Iotellect/logging.xml can be delivered through ConfigMap or Secret instead of a writable persistent volume;

  • for embedded Cassandra, use single-writer access semantics, typically ReadWriteOnce;

  • do not mount the same embedded database directory into multiple running pods.

For failover deployments:

  • keep configuration files and user-managed assets consistent across nodes;

  • in most cases this includes Iotellect/server.xml, Iotellect/logging.xml when customized, Iotellect/plugins/, and Iotellect/mib/;

  • do not share embedded database paths between concurrently running nodes unless the architecture explicitly guarantees safe single-writer behavior.

For many Kubernetes deployments, the practical minimum persistent set is:

Path

Persist when

Reason

Iotellect/server.xml

Always

Main server configuration

Iotellect/logging.xml

When customized

Custom logging configuration

Iotellect/plugins/

When plugins are installed or updated after deployment

User-managed plugin set

Iotellect/mib/

When MIB files are imported after deployment

User-managed MIB repository

Iotellect/logs/

When file-based logs are required

Operational logs

Iotellect/nosql_data/

When embedded Cassandra is used

Embedded Cassandra data

Summary Table

Path

Persist when

Why it matters

Iotellect/server.xml

Always

Main server configuration

Iotellect/logging.xml

When customized

Custom logging configuration

Iotellect/ag_server.vmoption

For the active launch mode

Runtime VM options

Iotellect/ag_server_console.vmoptions

For the active launch mode

Runtime VM options

Iotellect/ag_server_service.vmoptions

For the active launch mode

Runtime VM options

Iotellect/plugins/

When plugins change after deployment

Installed or updated plugins

Iotellect/mib/

When MIBs are imported after deployment

Imported SNMP MIB files

Iotellect/logs/

When file-based logs are required

Operational logs

Iotellect/statistics/

When used

Statistics data

Iotellect/search_index/

When used

Search index

Iotellect/scripts/

When used

Custom functions and script content

Iotellect/cluster/

When modified after deployment

Cluster configuration

Iotellect/data/

When file-based storage is used

File-based database state

Iotellect/database/

When embedded SQL database storage is used

Embedded SQL database state

Iotellect/nosql_data/

When embedded Cassandra is used

Embedded Cassandra data

Was this page helpful?