Asset

Templates

Excel and tabular template specifications for importing enterprise IT assets into Mopheus, enabling AI agents to automatically generate declarative Asset Manifests.

To bootstrap or synchronize enterprise IT assets into Mopheus, organizations can provide an Excel or CSV asset ledger. When an AI agent reads this ledger, it automatically maps the tabular columns, validates concept schemas, and compiles the records into a fully validated, strongly typed Asset Manifest YAML (AssetManifest), generating both asset instances and topological graph relationships.

To ensure a seamless experience for IT administrators and DBAs, the template breaks down key technical attributes (attributes) and governance labels (labels) into explicit, dedicated columns, avoiding the need to manually concatenate key-value strings.


1. Asset Ledger (Assets Sheet)

This is the primary sheet where core IT entities and their basic relationships are registered.

Column Specifications

GroupColumn NameRequiredMapped TargetFormat & Guidelines
Basic InfoAsset ID*Yesasset.idUnique identifier across the workspace. Recommended to use concept prefixes (e.g. svc:order-gateway, db:settle-oracle-rac, host:db-node-01). Must match ^[a-zA-Z0-9][a-zA-Z0-9_.:-]*$; slashes and other special URL characters are rejected.
Concept*Yesasset.concept_nameStandard ontology concept name (e.g. Application, Service, Host, Database, VirtualIP).
Name*Yesasset.nameHuman-readable canonical name (e.g. Order Processing Gateway).
AliasesNoasset.aliasesComma-separated alternative names or shortcuts for fuzzy matching (e.g. order-gw, order-api).
Environment*Yesasset.environmentDeployment environment: prod, staging, test, or dev.
Status*Yesasset.statusLifecycle status: active, inactive, decommissioned, or maintenance.
Key Technical Attributes(Packaged into attributes)IP AddressNoattributes.ip or management_ipManagement IP, Virtual IP, or service bind IP (e.g. 10.10.1.11).
PortNoattributes.portService port (e.g. 1521, 3306, 8080).
Engine / TypeNoattributes.engine / lb_type / mq_typeSoftware or middleware engine (e.g. oracle, tidb, spring-boot, kafka, f5, linux).
Architecture / RoleNoattributes.db_mode / roleClustering mode or node role (e.g. cluster, distributed, single, primary_standby, rac, worker, gateway).
VersionNoattributes.versionRelease version (e.g. 19.21.0.0, 7.5.0, 2.4.0).
Zone / RackNoattributes.zone, rackDatacenter physical placement (e.g. zone-a, rack-02).
Governance Labels(Packaged into labels)Owner Team*Yeslabels.owner_teamResponsible operations, DBA, or development team (e.g. order-dev, billing-dba, infra-ops).
Tier*Yeslabels.tierService criticality tier (P0, P1, P2, P3).
OncallNolabels.oncallPrimary emergency contact or oncall rotation (e.g. order-lead, dba-lead).
DepartmentNolabels.departmentBusiness unit or organizational division (e.g. E-Commerce Engineering, Finance Data Team).
Topology & Dependencies(Compiled into Relations)Belongs To AppNocontains edgeParent application ID (e.g. app:mall-core), generating an automatic containment relation.
Runs On Host/PodNoruns_on edgeHosting node or cluster ID (e.g. host:k8s-worker-01), generating an automatic runtime relation.
Depends OnNodepends_on edgeComma-separated downstream services or database IDs, generating dependency relations.
ExtensionOther AttributesNoattributes extraOptional key=value format for specialized edge-case fields (e.g. credential_ref=swissql://order-pg-primary?server=svc:order-swissql or vault://db/oracle-rac).

Sample Data Rows

Asset ID*Concept*Name*AliasesEnvironment*Status*IP AddressPortEngine / TypeArchitecture / RoleVersionZone / RackOwner Team*Tier*OncallDepartmentBelongs To AppRuns On Host/PodDepends OnOther Attributes
svc:order-gatewayServiceOrder Processing Gatewayorder-gw, order-apiprodactive10.10.1.118080spring-bootgateway2.4.0zone-aorder-devP0order-leadE-Commerce Engineeringapp:mall-corehost:k8s-worker-01db:settle-oracle-rac, mq:event-kafkacodebase_repo=git@github.com:mall/order-gateway.git
db:settle-oracle-racDatabaseSettlement Oracle 19c RACsettle-db, orcl-racprodactive10.10.2.1001521oraclerac19.21.0.0zone-abilling-dbaP0dba-leadFinance Data Teamapp:mall-corecredential_ref=vault://db/oracle-rac
host:db-node-01Hostrac-db-server-01rac-node-1, 10.10.2.11prodactive10.10.2.11linuxworkerRHEL 8.8zone-a / rack-02infra-opsP0sre-leadInfrastructure Opsnet_dev:tor-switch-amodel=Dell-PowerEdge-R750

2. Topology Relations (Relations Sheet - Optional)

For advanced directed topology graphs such as multi-hop routing (routes_to), replication mirroring (replicates_to), or cluster orchestration (manages), additional directed edges can be declared explicitly:

Subject ID*Predicate*Object ID*Description
dns:mall.company.comroutes_tovip:f5-wan-vipPublic domain resolves to external SLB VIP
vip:f5-wan-viproutes_tolb:f5-hardware-slbFloating VIP terminates on hardware F5 SLB
lb:f5-hardware-slbroutes_tosvc:order-gatewaySLB reverse proxy forwards traffic to microservice gateway
vip:scan-iproutes_todb_instance:rac-node1Oracle SCAN VIP routes client connections to instance 1
db_instance:rac-node1replicates_todb_instance:rac-node2Cache Fusion memory block replication between RAC instances

3. Data Ingestion & Usage Methods

Once the standard Excel / CSV ledger is populated, it can be ingested into Mopheus through two primary methods:

  1. Direct AI Agent Ingestion (Recommended): Send the ledger file or paste tabular data directly into a ticket or task conversation. The agent (powered by the built-in mopheus-assets skill) automatically handles header mapping, concept resolution, and schema validation, then generates and applies the declarative manifest.
  2. Declarative Manifest CLI (mop asset apply): Engineers can compile the ledger into an AssetManifest YAML and apply it using mop asset apply -f <manifest.yaml>. Keep SSH accounts in a separate mode 0600 credential file and pass it with --credentials-file; never put SSH secrets in asset attributes. For detailed schema constraints and topological relationship axioms, refer to Ontology & Schema Reference.

4. Agent Generated YAML Output

When an agent processes this tabular ledger, it automatically compiles the columns into an AssetManifest:

version: v1
kind: AssetManifest
metadata:
  workspace: ecommerce-prod
  environment: prod
assets:
  - id: svc:order-gateway
    concept: Service
    name: Order Processing Gateway
    aliases:
      - order-gw
      - order-api
    status: active
    environment: prod
    attributes:
      ip: 10.10.1.11
      port: 8080
      engine: spring-boot
      role: gateway
      version: 2.4.0
      zone: zone-a
      codebase_repo: git@github.com:mall/order-gateway.git
    labels:
      owner_team: order-dev
      tier: P0
      oncall: order-lead
      department: E-Commerce Engineering

  - id: db:settle-oracle-rac
    concept: Database
    name: Settlement Oracle 19c RAC
    aliases:
      - settle-db
      - orcl-rac
    status: active
    environment: prod
    attributes:
      ip: 10.10.2.100
      port: 1521
      engine: oracle
      db_mode: rac
      version: 19.21.0.0
      zone: zone-a
      credential_ref: vault://db/oracle-rac
    labels:
      owner_team: billing-dba
      tier: P0
      oncall: dba-lead
      department: Finance Data Team

relations:
  - subject: app:mall-core
    predicate: contains
    object: svc:order-gateway
  - subject: svc:order-gateway
    predicate: runs_on
    object: host:k8s-worker-01
  - subject: svc:order-gateway
    predicate: depends_on
    object: db:settle-oracle-rac
  - subject: svc:order-gateway
    predicate: depends_on
    object: mq:event-kafka