- 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>
9 lines
600 B
CSV
9 lines
600 B
CSV
path,comment,ro,maproot_user,maproot_group,mapall_user,mapall_group,security,hosts,networks,enabled
|
|
# Required columns : path
|
|
# security values : SYS KRB5 KRB5I KRB5P (space-separated for multiple; e.g. "SYS KRB5")
|
|
# hosts : space-separated hostnames or IPs allowed to mount (empty = any host)
|
|
# networks : space-separated CIDR networks (e.g. "192.168.1.0/24 10.0.0.0/8")
|
|
# Boolean columns : ro enabled (true or false)
|
|
# Lines starting with # are ignored. Delete the example row below and add your shares.
|
|
/mnt/pool/export,Example NFS export,false,root,wheel,,,SYS,,,true
|