Skip to content

The manifest CSV format

The manifest is the contract between the generator and the server. It is a CSV that maps every ip:port to its config file, credentials, vendor, and driver. rcfg-sim reads it at startup to know what to bind and how each device should behave.

The header (and column order) is:

hostname,ip,port,vendor,template,username,password,enable_password,config_file,size_bucket
ColumnMeaning
hostnameThe device’s hostname (shown in prompts and show version)
ipIP the listener binds
portPort the listener binds
vendorManifest vendor string (e.g. Cisco, Ciena)
templateDriver id — resolves the runtime driver (cisco_ios, ciena_tl1)
usernameAccepted username for this device
passwordAccepted password
enable_passwordEnable-mode password
config_fileAbsolute path to the .cfg this device serves
size_bucketThe model/bucket the device was generated from
hostname,ip,port,vendor,template,username,password,enable_password,config_file,size_bucket
rtr-msp-hq-1000,10.50.0.1,10000,Cisco,cisco_ios,admin,admin,enable123,/opt/rcfg-sim/configs/device-00000.cfg,md
ciena-lax-1001,10.50.0.1,10001,Ciena,ciena_tl1,admin,admin,enable123,/opt/rcfg-sim/configs/device-00001.cfg,ciena-6500-tl1

You can write a manifest by hand to build a precise, small fleet — useful for tests. As long as the header matches and each config_file exists (or, for ciena_tl1, even if the payload is absent — the driver synthesizes a small canned inventory), the server will serve it.

Unknown or empty template values fall back to the cisco_ios driver, so older manifests keep working unchanged.