<commit_before>Planning diagrams and documentation
=================

Boot Process Diagram
--------------------

![Boot Process Diagram](https://rawgithub.com/mistifyio/mistify/master/docs/planning/boot.svg)

Kernel Command Line
-------------------
* “cerana.mgmt_mac” MAC address to be used for IP address  - the one used for PXE
* “cerana.mgmt_ip” IP address in CIDR format (IP/netmask)
* “cerana.mgmt_gateway” ? Gateway ? (optional)
* “cerana.zfs_config={manual,auto,auto-mirror,auto-raidz}” ZFS Pool Info (auto or not) default to manual
* “cerana.cluster_ips=host1,host2,host3” Cluster info -  List of cluster IPs (host1,host2,host3), check for cluster info in pool, if nothing, then no cluster
* “cerana.cluster_bootstrap” - When present this machine should become the bootstrap node of a cluster (install all layer 2 services and act as DHCP/PXE server for subsequent nodes)
* “cerana.rescue” Rescue mode - do not import ZFS pool.<commit_msg>document planned filesystem layout and platform packages<commit_after>Planning diagrams and documentation
=================

Boot Process Diagram
--------------------

![Boot Process Diagram](https://rawgithub.com/mistifyio/mistify/master/docs/planning/boot.svg)

Kernel Command Line
-------------------
* “cerana.mgmt_mac” MAC address to be used for IP address  - the one used for PXE
* “cerana.mgmt_ip” IP address in CIDR format (IP/netmask)
* “cerana.mgmt_gateway” ? Gateway ? (optional)
* “cerana.zfs_config={manual,auto,auto-mirror,auto-raidz}” ZFS Pool Info (auto or not) default to manual
* “cerana.cluster_ips=host1,host2,host3” Cluster info -  List of cluster IPs (host1,host2,host3), check for cluster info in pool, if nothing, then no cluster
* “cerana.cluster_bootstrap” - When present this machine should become the bootstrap node of a cluster (install all layer 2 services and act as DHCP/PXE server for subsequent nodes)
* “cerana.rescue” Rescue mode - do not import ZFS pool.

File System Layout
------------------

* tmpfs /task-socket/node-coordinator/
* tmpfs /task-socket/cluster-coordinator/

* zpool $zpool=”data”
* /$zpool/datasets/ro/${dataset-id}/stuff
* /$zpool/datasets/rw/${dataset-id}/stuff
* /$zpool/running-clones/${clone-id}
* /$zpool/config
* /$zpool/services
* /$zpool/logs
* /$zpool/platform/${version}/{bzImage,initrd}
* /$zpool/platform/grub.conf


Software in image:
------------------
* Bash, coreutils
* Grub2
* Systemd
* Daisy binary
* Go binaries
* Qemu-kvm
* Init-scripts
* Ntp
* Whichever binaries the hardware identification task provider needs
* Initial Debugging tools: strace, gdb
* ebpf tools?

Ideally temporary:
* SSH
{'fraction_non_alphanumeric': 0.15711009174311927, 'fraction_numerical': 0.005733944954128441, 'mean_word_length': 3.8824626865671643, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5250659', 'n_tokens_mistral': 850, 'n_tokens_neox': 815, 'n_words': 254}