{"action":"created","issue":{"url":"https://api.github.com/repos/rancher/os-base/issues/31","repository_url":"https://api.github.com/repos/rancher/os-base","labels_url":"https://api.github.com/repos/rancher/os-base/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/rancher/os-base/issues/31/comments","events_url":"https://api.github.com/repos/rancher/os-base/issues/31/events","html_url":"https://github.com/rancher/os-base/pull/31","id":158502809,"number":31,"title":"Added BTRFS, LUKS (dm-crypt/cryptsetup), LVM2, NFS, iSCSI","user":{"login":"tetatetit","id":19733202,"avatar_url":"https://avatars.githubusercontent.com/u/19733202?v=3","gravatar_id":"","url":"https://api.github.com/users/tetatetit","html_url":"https://github.com/tetatetit","followers_url":"https://api.github.com/users/tetatetit/followers","following_url":"https://api.github.com/users/tetatetit/following{/other_user}","gists_url":"https://api.github.com/users/tetatetit/gists{/gist_id}","starred_url":"https://api.github.com/users/tetatetit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tetatetit/subscriptions","organizations_url":"https://api.github.com/users/tetatetit/orgs","repos_url":"https://api.github.com/users/tetatetit/repos","events_url":"https://api.github.com/users/tetatetit/events{/privacy}","received_events_url":"https://api.github.com/users/tetatetit/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-06-04T12:33:03Z","updated_at":"2016-06-06T02:59:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rancher/os-base/pulls/31","html_url":"https://github.com/rancher/os-base/pull/31","diff_url":"https://github.com/rancher/os-base/pull/31.diff","patch_url":"https://github.com/rancher/os-base/pull/31.patch"},"body":"Just appropriate buildroot packages has been added. No special scenario/conception support for Rancher OS exactly is implemented yet. **But** I am going to deploy both of below on my diskless stateless servers (booting Rancher OS via [iPXE](http://ipxe.org/crypto) to RAM only since our server disks are LUKS encrypted) wrapping it into `ros` and extra tiny docker images based on this os-base and configured as Rancher OS system service (example [here 1] (http://docs.rancher.com/os/configuration/system-services/#adding-custom-system-services) and [here 2](http://docs.rancher.com/os/cloud-config/#launching-containers-in-rancheros)) but built in into initrd without downloading heavy ubuntu base images to RAM in our case. And I will  to get back here soon with updates to decription/code:\r\n- LUKS (dm-crypt/cryptsetup) requested [here](https://forums.rancher.com/t/system-encryption-and-or-lvm/263). While it's not yet fully supported by ros to find/mount it automatically or setting manually via cloud-config and I can not find clear conception about it mentioned anywhere for Rancher OS exactly, but I see adding it support to base image quite useful for scenario of booting RancherOS diskless stateless via network (local vi PXE or internet via iPXE/iSCSI) or from unencrypted hardisk partion or another local media, then SSH and going something like [googling \"encrypted root dropbear\"](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=dropbear+encrypted+root), as well as goot start point/playground for playing with some new scenarios/conceptions more actual/adopted for Rancher OS (first what comes to my mind - is to scan all block devices if they are LUKS and to ask passphrase on `unlock` command execution from SSH\r\n- BTRFS should work same as with ext4 but passing fs type to (1) `ros install` command line (e.g` -t generic-btrfs` or separate `--fstype btrfs` or to (2) kernel param or cloud-config as `rancher.state.fstype`. Extra BTRFS options like subvolumes, multiple devices (raid) could be passed same way.\r\n\r\n- LVM2, iSCSI, NFS - same as BTRFS above but I am not going to test/use them in the nearest future since BTRFS + LUKS themselfes do all I need. But may be someone else will find it useful and will get back with feedback/contributions\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/rancher/os-base/issues/comments/223859220","html_url":"https://github.com/rancher/os-base/pull/31#issuecomment-223859220","issue_url":"https://api.github.com/repos/rancher/os-base/issues/31","id":223859220,"user":{"login":"tetatetit","id":19733202,"avatar_url":"https://avatars.githubusercontent.com/u/19733202?v=3","gravatar_id":"","url":"https://api.github.com/users/tetatetit","html_url":"https://github.com/tetatetit","followers_url":"https://api.github.com/users/tetatetit/followers","following_url":"https://api.github.com/users/tetatetit/following{/other_user}","gists_url":"https://api.github.com/users/tetatetit/gists{/gist_id}","starred_url":"https://api.github.com/users/tetatetit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tetatetit/subscriptions","organizations_url":"https://api.github.com/users/tetatetit/orgs","repos_url":"https://api.github.com/users/tetatetit/repos","events_url":"https://api.github.com/users/tetatetit/events{/privacy}","received_events_url":"https://api.github.com/users/tetatetit/received_events","type":"User","site_admin":false},"created_at":"2016-06-06T02:59:57Z","updated_at":"2016-06-06T02:59:57Z","body":"> The first thing we do is try to find and mount the state partition\r\n\r\n1. Before start of processing of /usr/share/ros/os-config.yml from initrd or as part of it processing?\r\n2. And before running of system docker from initrd or after? I guess before and if found - then mount and run system docker and images already from the state partition. How about wraping it into first running system docker image added to  /usr/share/ros/os-config.yml  same  way as another system services are configured and running from there as docker images, and if it find state partition - then somehow send signal to ros utility (which running as 1 init process as I see) to commit all system images already running on that moment (currently I would interject only LUKS decryption as separate service image running just exactly before state partition lookup and mounting what is obvious I think), saving them to tar, stopping system docker running from initramfs, run system docker from mounted file system as well as system images just commited, saved and loaded to system docker on mounted state partition. And then just continue processing of os-config.yml  from the same remembered point running another service images as well as another bootstrap things configured there. Do you see another ways which would be not some kind of temporary hack/patch/workaround in this case. I just found how [ptoprtly via hooks it is implemented for all distros where initramfs is based on dracut ](https://github.com/dracut-crypt-ssh/dracut-crypt-ssh/), including CoreOS BTW (although it's much more difficult to incorporate it here since packaging system is omited from there and all can be done somehow via it SDK customizing and rebuilding image which is not so trivial, at least for me and that is why I chosen RancherOS as much more simple in all ways without atavisms of Gentoo and Chrome/ChromiumOS that CoreOS is origins from. I am going to better figure out how that dracut based hook is implemented to handle everything mose properly from linux/posix side but most probably I will need help to incorporate it most proberly it the best RancherOS way."}}
{"actor":{"display_login":"tetatetit"}}