Initial commit
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..1bd6f32
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,357 @@
+
+=====
+Linux
+=====
+
+Linux Operating Systems.
+
+* Ubuntu
+* CentOS
+* RedHat
+* Fedora
+* Arch
+
+Sample pillars
+==============
+
+Linux system
+------------
+
+Basic Linux box
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ enabled: true
+ name: 'node1'
+ domain: 'domain.com'
+ cluster: 'system'
+ environment: prod
+ timezone: 'Europe/Prague'
+ utc: true
+
+Linux with system users, sowe with password set
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ user:
+ jdoe:
+ name: 'jdoe'
+ enabled: true
+ sudo: true
+ shell: /bin/bash
+ full_name: 'Jonh Doe'
+ home: '/home/jdoe'
+ email: 'jonh@doe.com'
+ jsmith:
+ name: 'jsmith'
+ enabled: true
+ full_name: 'Password'
+ home: '/home/jsmith'
+ password: userpassword
+
+Linux with package, latest version
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ package:
+ package-name:
+ version: latest
+
+Linux with package from certail repo, version with no upgrades
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ package:
+ package-name:
+ version: 2132.323
+ repo: 'custom-repo'
+ hold: true
+
+Linux with package from certail repo, version with no GPG verification
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ package:
+ package-name:
+ version: 2132.323
+ repo: 'custom-repo'
+ verify: false
+
+Linux with cron jobs
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ job:
+ cmd1:
+ command: '/cmd/to/run'
+ enabled: true
+ user: 'root'
+ hour: 2
+ minute: 0
+
+Repositories
+~~~~~~~~~~~~
+
+RedHat based Linux with additional OpenStack repo
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ ...
+ repo:
+ rdo-icehouse:
+ enabled: true
+ source: 'http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/'
+ pgpcheck: 0
+
+Ensure system repository to use czech Debian mirror (``default: true``)
+Also pin it's packages with priority 900.
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ repo:
+ debian:
+ default: true
+ source: "deb http://ftp.cz.debian.org/debian/ jessie main contrib non-free"
+ # Import signing key from URL if needed
+ key_url: "http://dummy.com/public.gpg"
+ pin:
+ - pin: 'origin "ftp.cz.debian.org"'
+ priority: 900
+ package: '*'
+
+Linux network
+-------------
+
+Linux with network manager
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ enabled: true
+ network_manager: true
+
+Linux with default static network interfaces, default gateway interface and DNS servers
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ enabled: true
+ interface:
+ eth0:
+ enabled: true
+ type: eth
+ address: 192.168.0.102
+ netmask: 255.255.255.0
+ gateway: 192.168.0.1
+ name_servers:
+ - 8.8.8.8
+ - 8.8.4.4
+ mtu: 1500
+
+Linux with bonded interfaces
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ enabled: true
+ interface:
+ eth0:
+ type: eth
+ ...
+ eth1:
+ type: eth
+ ...
+ bond0:
+ enabled: true
+ type: bond
+ address: 192.168.0.102
+ netmask: 255.255.255.0
+ mtu: 1500
+ use_in:
+ - interface: ${linux:interface:eth0}
+ - interface: ${linux:interface:eth0}
+
+Linux with wireless interface parameters
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ enabled: true
+ gateway: 10.0.0.1
+ default_interface: eth0
+ interface:
+ wlan0:
+ type: eth
+ wireless:
+ essid: example
+ key: example_key
+ security: wpa
+ priority: 1
+
+Linux networks with routes defined
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ enabled: true
+ gateway: 10.0.0.1
+ default_interface: eth0
+ interface:
+ eth0:
+ type: eth
+ route:
+ default:
+ address: 192.168.0.123
+ netmask: 255.255.255.0
+ gateway: 192.168.0.1
+
+Native Linux Bridges
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ interface:
+ eth1:
+ enabled: true
+ type: eth
+ proto: manual
+ up_cmds:
+ - ip address add 0/0 dev $IFACE
+ - ip link set $IFACE up
+ down_cmds:
+ - ip link set $IFACE down
+ br-ex:
+ enabled: true
+ type: bridge
+ address: ${linux:network:host:public_local:address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - eth1
+
+OpenVswitch Bridges
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ bridge: openvswitch
+ interface:
+ eth1:
+ enabled: true
+ type: eth
+ proto: manual
+ up_cmds:
+ - ip address add 0/0 dev $IFACE
+ - ip link set $IFACE up
+ down_cmds:
+ - ip link set $IFACE down
+ br-ex:
+ enabled: true
+ type: bridge
+ address: ${linux:network:host:public_local:address}
+ netmask: 255.255.255.0
+ use_interfaces:
+ - eth1
+
+Linux with proxy
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ ...
+ proxy:
+ host: proxy.domain.com
+ port: 3128
+
+Linux with hosts
+
+.. code-block:: yaml
+
+ linux:
+ network:
+ ...
+ host:
+ node1:
+ address: 192.168.10.200
+ names:
+ - node2.domain.com
+ - service2.domain.com
+ node2:
+ address: 192.168.10.201
+ names:
+ - node2.domain.com
+ - service2.domain.com
+
+Linux storage pillars
+---------------------
+
+Linux with mounted Samba
+
+.. code-block:: yaml
+
+ linux:
+ storage:
+ enabled: true
+ mount:
+ samba1:
+ - path: /media/myuser/public/
+ - device: //192.168.0.1/storage
+ - file_system: cifs
+ - options: guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm
+
+Linux with file swap
+
+.. code-block:: yaml
+
+ linux:
+ storage:
+ enabled: true
+ swap:
+ file:
+ enabled: true
+ engine: file
+ device: /swapfile
+ size: 1024
+
+Usage
+=====
+
+Set mtu of network interface eth0 to 1400
+
+.. code-block:: bash
+
+ ip link set dev eth0 mtu 1400
+
+Read more
+=========
+
+* https://www.archlinux.org/
+* http://askubuntu.com/questions/175172/how-do-i-configure-proxies-in-ubuntu-server-or-minimal-cli-ubuntu