On CentOS 7.3 with Kernel Version: 3.10.0
1. Allow filesystem support for namespaces: xfs partition: format with ``` mkfs.xfs -m crc=1 -n ftype=1 ``` The current CentOS 7 does this by default.
VirtualBox VM 5.0.16 r105871 linux.amd64 (Mar 4 2016 13:28:08) release log | |
00:00:00.010976 Log opened 2016-03-26T01:09:58.550399000Z | |
00:00:00.010977 Build Type: release | |
00:00:00.010980 OS Product: Linux | |
00:00:00.010980 OS Release: 3.10.0-327.10.1.el7.x86_64 | |
00:00:00.010981 OS Version: #1 SMP Tue Feb 16 17:03:50 UTC 2016 | |
00:00:00.011094 DMI Product Name: MS-7751 | |
00:00:00.011103 DMI Product Version: 2.0 | |
00:00:00.011179 Host RAM: 15770MB total, 14268MB available | |
00:00:00.011181 Executable: /usr/lib/virtualbox/VBoxHeadless |
E:\Projects\otto-getting-started>otto dev | |
2016/04/08 12:50:33 [INFO] Otto version: 0.2.0 4ff0dce79f07008dcebcf34f118e8ec3dc4f96a5+CHANGES | |
2016/04/08 12:50:33 [DEBUG] Starting plugin: C:\otto_0.2.0_windows_386\otto.exe []string{"C:\\otto_0.2.0_windows_386\\otto.exe", "plugin-builtin", "app-ruby"} | |
2016/04/08 12:50:33 [DEBUG] Waiting for RPC address for: C:\otto_0.2.0_windows_386\otto.exe | |
2016/04/08 12:50:33 [DEBUG] otto.exe: 2016/04/08 12:50:33 [INFO] Otto version: 0.2.0 4ff0dce79f07008dcebcf34f118e8ec3dc4f96a5+CHANGES | |
2016/04/08 12:50:33 [DEBUG] otto.exe: 2016/04/08 12:50:33 Plugin address: tcp 127.0.0.1:10000 | |
2016/04/08 12:50:33 [DEBUG] reading IP, cache path: E:\Projects\otto-getting-started\.otto\data\dev_ip | |
2016/04/08 12:50:33 [DEBUG] read ip from cache: 100.70.190.63 | |
2016/04/08 12:50:33 [INFO] Loading app implementation for Tuple: ("ruby", "aws", "simple") | |
2016/04/08 12:50:33 [DEBUG] core walking app: otto-getting-started |
# Diff of the original cc_phone_home and the slightly modified version that supports | |
# including the server pub_keys in the phone_home payload | |
# Original: https://github.com/number5/cloud-init/blob/master/cloudinit/config/cc_phone_home.py | |
# A couple of typos in comment lines in the original were elided to make the diff a bit clearer. | |
# The Centos7 distros I am using do not provide pub_key_dsa. | |
# I am talking to a Rails app with phone_home. | |
# A dummy X-CSRF-Token: 1234567890 in the headers simplifies the code on the Rails side. | |
# I authenticate the phone_home payload by including a token provided in the |
# Defines our Vagrant environment | |
# | |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
require_relative 'bridged_interfaces' | |
Vagrant.configure("2") do |config| | |
# create wisp node | |
config.vm.define :wisp do |wisp| |
[loco@td2 ~]$ sudo cat certfiles.txt | |
[sudo] password for loco: | |
total 8 | |
4 -rw-r--r--. 1 root root 2240 Oct 21 23:21 stratuscert.pem | |
4 -rw-r--r--. 1 root root 2496 Oct 21 23:21 blacklakecacert.pem |
Rails.application.config.session_store :cookie_store,
key: '_cirrus_session',
expire_after: 1.days,
...
# Redis sysctl configuration | |
vm.overcommit_memory = 1 |
Copy the 4 scripts to /home/<user> | |
From /home/<user>: | |
./setup_rootca.sh | |
./setup_blacklakeca.sh | |
ipaddr=$(ip route get 8.8.8.8 | awk '{print $7}') | |
SUBJ_IP=$ipaddr ./stratus_server_cert.sh | |
This will: |
I needed a tool to add latitude and longitude to seeds.rb in a Rails application. | |
geocoder.rb uses the Google geocode api. An apikey is required. For limited use it is free. The apikey should be protected from prying eyes. (encryption, .gitignore, ...) | |
Geocoder#geocode takes an address string in canonical form ( "#{number} #{street} #{city} #{state}" ) as input. It returns latitude and longitude as a hash: { lat: 30.0000, lng: -90.000 } | |
seed_geocoder.rb extracts the address string from seeds.rb, requests the geocode hash from the Geocoder obj and writes the newseeds.rb file. | |
The newseeds file does need some minor additional work to make it a functional seeds.rb. |