Module: Dokken::Helpers
- Defined in:
- lib/kitchen/helpers.rb
Instance Method Summary collapse
- #create_data_image ⇒ Object
- #data_dockerfile ⇒ Object
- #default_docker_host ⇒ Object
- #dokken_create_sandbox ⇒ Object
- #dokken_sandbox_path ⇒ Object
- #insecure_ssh_private_key ⇒ Object
- #insecure_ssh_public_key ⇒ Object
- #instance_name ⇒ Object
Instance Method Details
#create_data_image ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/kitchen/helpers.rb', line 62 def create_data_image return if ::Docker::Image.exist?(data_image) tmpdir = Dir.tmpdir FileUtils.mkdir_p "#{tmpdir}/dokken" File.write("#{tmpdir}/dokken/Dockerfile", data_dockerfile) File.write("#{tmpdir}/dokken/authorized_keys", insecure_ssh_public_key) i = ::Docker::Image.build_from_dir( "#{tmpdir}/dokken", 'nocache' => true, 'rm' => true ) i.tag('repo' => repo(data_image), 'tag' => tag(data_image), 'force' => true) end |
#data_dockerfile ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/kitchen/helpers.rb', line 41 def data_dockerfile "FROM centos:7\nMAINTAINER Sean OMeara \\\"[email protected]\\\"\n\nENV LANG en_US.UTF-8\n\nRUN yum -y install tar rsync openssh-server passwd git\nRUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''\n\nRUN mkdir -p /root/.ssh/\nCOPY authorized_keys /root/.ssh/authorized_keys\n\nEXPOSE 22\nCMD [ \"/usr/sbin/sshd\", \"-D\", \"-p\", \"22\", \"-o\", \"UseDNS=no\", \"-o\", \"UsePrivilegeSeparation=no\", \"-o\", \"MaxAuthTries=60\" ]\n\nVOLUME /opt/kitchen\nVOLUME /opt/verifier\n" end |
#default_docker_host ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/kitchen/helpers.rb', line 78 def default_docker_host if ENV['DOCKER_HOST'] ENV['DOCKER_HOST'] elsif File.exist?('/var/run/docker.sock') 'unix:///var/run/docker.sock' # TODO: Docker for Windows also operates over a named pipe at # //./pipe/docker_engine that can be used if named pipe support is # added to the docker-api gem. else 'tcp://127.0.0.1:2375' end end |
#dokken_create_sandbox ⇒ Object
91 92 93 94 95 |
# File 'lib/kitchen/helpers.rb', line 91 def dokken_create_sandbox info("Creating local sandbox in #{dokken_sandbox_path}") FileUtils.mkdir_p(dokken_sandbox_path) File.chmod(0755, dokken_sandbox_path) end |
#dokken_sandbox_path ⇒ Object
97 98 99 |
# File 'lib/kitchen/helpers.rb', line 97 def dokken_sandbox_path "#{Dir.home}/.dokken/sandbox/#{instance_name}" end |
#insecure_ssh_private_key ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/kitchen/helpers.rb', line 9 def insecure_ssh_private_key "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAqCcMlu6jYcPjU7jowuPkVaREpfiQV3m18weyasUYCgG8pqug\nd/WsxAIjceTcx5FnEJjskDYRaShUgLn3oHF0UuHLUtS3BJRKF3vW6wwKihAUpJp1\n2H2VzDSBtBJ8OPuVv62cRxQgJbFEgB2LWGRLPtwoGyFrh4WfeQvFAupxi1hzWTo3\nG7GGRa5xXztKoNHp3tsPCyocao+V9DEUnQiJ9SMMsSG5eTTQ+WJNR8fCSrCbU4jU\n3cbLIjIJjOW7022EFEn/KWxq0SN9FUCgYEPP1JInWW2k3781l2KcHA1BEUm8xGAr\n5FMrU3pmSL+roaT8apH45eihDjppf4hqqrjxKwIDAQABAoIBAEj7Cb/IOykHd/ay\nXnOXrVZuQU03oI4WyR19zbYBbPmK33IHM1JdUmqP8wpPpnMHbJALj0DX9p6JXoOw\nMwVzuGTwkuqUYAqgwbeHjDPfugNKD2uRjmwztXw3ncOl8jxZFRloJFfFKF6znWNt\nbzkh7naN3upHiv/6wsgqj4tAbZ9oRC1crO6bsNr3P6YooiG5RRNpHepiyXphyhN6\nWe1p5ZOQ/pUSE0Ca4wTlUhJHTUPMz7VFs/8CH0loRIsGPBROarPkoLVF+/UNyX8e\n+BGMhoUtQH2XvjEzWUl5jKJOnvKRIV+0j/upWXsPQKF5glVPmPrTVUAxThfu6rAa\n4Z3JveECgYEA0Pz3Hl0SlPR79r2qofh1ZNa8zvQDL+iLopULwDiil5qlUxJ+DgOl\n1kWXLhjdg/NfoTBHvBjdJu274YJgaGQOfCy5747YDVsakKOm4bI9+Jr2agshPyE6\nf1RNmGL8K8fNtpGq4G14o+pSQOPNrEfcFKgm3sosZWJAWaA64hmtiXcCgYEAzfp6\nFbodfUypAV5Zd6PCO2eJMjLdvGaNuH/Umo80WNV7XZ6iJ6MUeQe+YwxFJigjC3ii\nifLUj3kL7+wu7sEtkzS3zNd34KfhQ5fLADttfFgjjfm7IxlDD4ABaUgjwZM2gfXi\nxCwRhwwNgilF6qABJ1CLt8JSqKubkqvO1P1gQu0CgYEA0GA6AcNpYK344Eey1/bF\nDntyHKN+fglPGReldM7Dh4gBabgZid2nP+N5XtQaIpPKeQyLqgfckhEecTau68dA\nDh4Gcs6pq394GFmkbotrcPMJ2SgpySlXi1fCWrvvlbON8IiDqWxdiop74wmArFOm\nI86ZmzBYXeo+IV869vAFcPcCgYBrvvyh5OuMIc++YYZXaRgvTueblLQc22CDBItI\nFmUBmxqfTF3ycgJBlWVoFoENhq1eUMplctrx+hXeeSPLzM10VX1X79ZLdEYHv513\nD58kDk7684mKwKotr34NfqkFl2ZJ8T+f8pVwmUNvtPtX0j8IO7/6bfIjPTFyNeFJ\n1QjHuQKBgQC/LE05M4eeWXihZ7c7fyWHLyddcPdH48LRF9UH9yjKF84jXRT91uMv\nXuIb2Qt4MLHABySsk653LDw/jTIGV26c068nZryq5OUPxk67Xgod54jKgOwjgjZS\nX8N2N9ZNnORJqK374yGj1jWUU66mQhPvn49QpG8P2HEoh2RQjNvyHA==\n-----END RSA PRIVATE KEY-----\n" end |
#insecure_ssh_public_key ⇒ Object
3 4 5 6 7 |
# File 'lib/kitchen/helpers.rb', line 3 def insecure_ssh_public_key "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoJwyW7qNhw+NTuOjC4+RVpESl+JBXebXzB7JqxRgKAbymq6B39azEAiNx5NzHkWcQmOyQNhFpKFSAufegcXRS4ctS1LcElEoXe9brDAqKEBSkmnXYfZXMNIG0Enw4+5W/rZxHFCAlsUSAHYtYZEs+3CgbIWuHhZ95C8UC6nGLWHNZOjcbsYZFrnFfO0qg0ene2w8LKhxqj5X0MRSdCIn1IwyxIbl5NND5Yk1Hx8JKsJtTiNTdxssiMgmM5bvTbYQUSf8pbGrRI30VQKBgQ8/UkidZbaTfvzWXYpwcDUERSbzEYCvkUytTemZIv6uhpPxqkfjl6KEOOml/iGqquPEr test-kitchen-rsa\n" end |
#instance_name ⇒ Object
101 102 103 104 |
# File 'lib/kitchen/helpers.rb', line 101 def instance_name prefix = (Digest::SHA2.hexdigest FileUtils.pwd)[0, 10] "#{prefix}-#{instance.name}" end |