Add CSV import support for non-TrueNAS sources
- 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>
This commit is contained in:
8
nfs_shares_template.csv
Normal file
8
nfs_shares_template.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
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
|
||||
|
Can't render this file because it contains an unexpected character in line 3 and column 83.
|
Reference in New Issue
Block a user