Day 889
General DVC notes
- Access:
- Can directly get stuff from a repo when not inside a dvc project environment
- Such as from within ML or code
 - Git repo has to be accessible ofc
 
 - DVC import - same as above, but also gets the metadata
- Needs to be inside a DVC repo
- Or have to do git init & dvc init first
 
 
 - Needs to be inside a DVC repo
 - Python bindings exist
 
 - Can directly get stuff from a repo when not inside a dvc project environment
 - Stages:
- Nice and neat
 - parameters.yaml
 - See parametrization below for maybe easier ways to pass parameters
 - Otherwise you just have your script read parameters.yaml, and version parameters.yaml too
 
 
DVC parametrization
Parametrization · iterative/dvc Wiki is an experimental feature.
Allows to call parameters directly, such as:
stages:
  build:
    foreach: ${models}
    do:
      cmd: >- 
          python script.py
          --out ${item.filename}
          --thresh ${item.thresh}
      outs:
          - ${item.filename}
as opposed to getting your program to read parameters.yaml
Ipset ipv6 ranges; online subnet ip calculators
IPSet set structures: wiki.ipfire.org - IPset
To create an ipv6 ipset that supports domain ranges, we need the hash:net one:
ipset create my6 hash:net family inet6
Nice subnet calculators:
iptables doesn’t do ipv6, but ip6tables does, seems to be installed by default along with vanilla iptables. Commands seem to be identical.
Iptables persistent
iptables-save > some_output_fileto save them to a file (this alone doesn’t make it persist reboots)- The package
iptables-persistentdoes what is says on the label,1 for rules being saved in:/etc/iptables/rules.v4/etc/iptables/rules.v6
 
Ipset save and restore
ipset save > output_file
ipset save -f output_file
ipset restore -f output_file
ipset restore < output_file
The output files it generates seem to be the exact commands without the leading ipset ?
iptables and ipset persistence on yunohost
Looked into yunohost’s recommendations, there’s a best practice.2 Created a shell script that does ipset restore -f file and then runs the iptables commands, put it into /etc/yunohost/hooks.d/post_iptable_rules/99-specific_rules. Survived a reboot, mission accomplished.
mktemp for temporary files
> mktemp /tmp/somescript.XXXX
/tmp/somescript.6Zxi
mktemp creates random files with a set format, replacing the XXX with random characters, and returns the filename (+ can also create directories). Cool!