diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..9a0efa8 --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +layout ruby +PATH_add $(pwd)/presentation/node_modules/.bin +PATH_add $(pwd)/presentation/node_modules/.bin diff --git a/site-cookbooks/bind/README.md b/site-cookbooks/bind/README.md new file mode 100644 index 0000000..d1a4e18 --- /dev/null +++ b/site-cookbooks/bind/README.md @@ -0,0 +1,28 @@ +Description +=========== + +Install bind9 and add zones files: + +Attributes +========== + +node.bind.forwarders - upstream dns servers, default is ["8.8.8.8", "8.8.4.4"]. +node.bind.trusted_subnets - subnets, which are allowed to query, default is ["localhost", "localnets"]. +node.bind.zones - hash of wanted dns zones (see usage), default is {}. + +Usage +===== + +example for zones: + + node.default["zones"] = { + "foo": { + "records": [ + { "name": "node0", "type": "A", "value": "172.28.128.1" }, + { "name": "node1", "type": "A", "value": "172.28.128.101" } + ] + }, + "128.28.172.in-addr.arpa": { + "records": [{ "name": "101", "type": "PTR", "value": "node1" }] + } + } diff --git a/site-cookbooks/dhcp/README.md b/site-cookbooks/dhcp/README.md new file mode 100644 index 0000000..a77aa82 --- /dev/null +++ b/site-cookbooks/dhcp/README.md @@ -0,0 +1,28 @@ +Description +=========== + +Setup isc-dhcp-server and assign nodes static ip addresses + +Attributes +========== + +node.dhcp.domain.names - advertised search domains, default is nil +node.dhcp.domain.servers - advertised domain name servers, default is nil +node.dhcp.ntp_servers - advertised network time server, default is [] +node.dhcp.hosts - hash of hosts with static ip addresses (see usage), default is {} +node.dhcp.interface - interfaces to listen; an empty array means all available + interfaces, default is [] +node.dhcp.subnet.prefix - network prefix for the advertised subnet, default is "192.168.2.0" +node.dhcp.subnet.netmask - netmask for the advertised subnet, default is "255.255.255.0" +node.dhcp.subnet.gateway - ip for the default route, default is "192.168.2.1" + +Usage +===== + +example to set a static ip address + + node.default["dhcp"]["hosts"] =[{ + name: "node0", + mac: "5c:a1:ab:1e:00:01", + ip: "172.28.128.101" + }] diff --git a/site-cookbooks/lctp-network/README.md b/site-cookbooks/lctp-network/README.md new file mode 100644 index 0000000..7b935d9 --- /dev/null +++ b/site-cookbooks/lctp-network/README.md @@ -0,0 +1,44 @@ +Description +=========== + +wrapper cookbook around [network\_interfaces](http://community.opscode.com/cookbooks/network_interfaces), +to allow set up network interfaces via node attributes + +Attributes +========== + +default.lctp_network.interfaces, hash of available interfaces (see usage), default is {} +default.lctp_network.domain_servers, statically set domain servers, default is [] +default.lctp_network.search_domains, statically set search domains, default is [] + +default.lctp_network.router.gateway_device = "eth0" + +Usage +===== + +default +------- + +example to set a static ip, with custom dns server and search domain: + + + node.default["lctp_network"]["interfaces"] = { + eth0: { + dns_server: "127.0.0.1", + dns_search: "intern", + static_ip: "172.28.128.1", + netmask: "255.255.255.0" + }, + } + + +example to enable dhcp for a device: + + node.default["lctp_network"]["interfaces"] = { + eth0: { }, + } + +router +------ + +Enable IP Forwarding and Masquerading via iptables diff --git a/site-cookbooks/main/README.md b/site-cookbooks/main/README.md new file mode 100644 index 0000000..ec50e90 --- /dev/null +++ b/site-cookbooks/main/README.md @@ -0,0 +1,4 @@ +Description +=========== + +Glue all cookbooks together to setup compute and head nodes diff --git a/site-cookbooks/ntp/README.md b/site-cookbooks/ntp/README.md new file mode 100644 index 0000000..0568274 --- /dev/null +++ b/site-cookbooks/ntp/README.md @@ -0,0 +1,15 @@ +Description +=========== + +setups network time protocol daemon. + +Attributes +========== + +node.ntp.subnets - restrict query to a subnet, default is ["::1", "127.0.0.1"] +node.ntp.server - upstream ntp server to synchronize with, default is "de.pool.ntp.org" + +Usage +===== + + include\_recipe "ntp::default"