Skip to content

final step of the toml migration - #646

Merged
glaslos merged 1 commit into
mainfrom
complete_toml_migration
Sep 20, 2026
Merged

glaslos merged 1 commit into
mainfrom
complete_toml_migration

Conversation

@glaslos

@glaslos glaslos commented Sep 20, 2026

Copy link
Copy Markdown
Member

Summary

Finishes the XML → TOML template cutover tracked in #638 / #534. PR #637 already added dual-format loading and migrated TFTP; this PR migrates every remaining protocol and profile, then drops XML/XSD support.

  • Protocol servers now take a dict from {protocol}.toml (same contract as TFTP).
  • Every shipped profile uses template.toml plus per-protocol *.toml. Auxiliary files stay as files (http/htdocs, SSL fixtures, SNMP MIB dirs).
  • Startup validates TOML with the schema package (conpot/protocols/schemas.py).
  • XML loaders, XSDs, and the xmllint workflow are removed. Custom XML templates are no longer supported.

What migrated

Default profile: bacnet, enip, ftp, http, ipmi, modbus, s7comm, snmp (TFTP was already TOML).

Other profiles: guardian_ast, IEC104, ipmi, kamstrup_382, plc_modbus, proxy, snmp.

Proxy uses proxy.toml via collect_proxies() (not name_mapping).

Test plan

  • uv run pytest
  • uv run black --check conpot/
  • CI on this PR (pytest, black)

@glaslos
glaslos merged commit c9245e6 into main Sep 20, 2026
3 checks passed
@glaslos
glaslos deleted the complete_toml_migration branch September 20, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant