- Add truenas_migrate/csv_source.py: parses SMB and NFS share definitions from customer-supplied CSV files; returns same dict shape as parse_archive() so migrate.py is untouched - Add smb_shares_template.csv and nfs_shares_template.csv with annotated headers and example rows (# comment rows are skipped by the parser) - Update cli.py: interactive wizard gains a source-type step (archive vs CSV); run() resolves CSV source via --smb-csv / --nfs-csv args; --debug-tar is now optional; argparse validates mutual exclusion of archive and CSV flags Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
600 B
600 B
| 1 | path,comment,ro,maproot_user,maproot_group,mapall_user,mapall_group,security,hosts,networks,enabled |
|---|---|
| 2 | # Required columns : path |
| 3 | # hosts : space-separated hostnames or IPs allowed to mount (empty = any host) |
| 4 | # Boolean columns : ro enabled (true or false) |
| 5 | # Lines starting with # are ignored. Delete the example row below and add your shares. |
| 6 | /mnt/pool/export,Example NFS export,false,root,wheel,,,SYS,,,true |