vagrant.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 04 Mar 2018 12:16:23 +0200
changeset 2236 15e9cc9e054f
parent 2201 af2d2e117b4e
child 2237 1223e5073007
permissions -rw-r--r--
Working with Alpine Linux.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2197
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
=========
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
 Vagrant
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
=========
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
Changing Vagrant home directory
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
===============================
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
Set ``VAGRANT_HOME`` env var, like::
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
  VAGRANT_HOME=d:\srv\vagrant
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
Default is ``~/.vagrant.d`` for Linux and ``%USERPROFILE%\.vagrant.d`` for Windows.
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
https://www.vagrantup.com/docs/other/environmental-variables.html
5ee52f8d25b5 Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
2201
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    17
Running individual provisioning scripts
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    18
=======================================
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    19
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    20
You may give name to provisioning script::
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    21
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    22
  Vagrant.configure("2") do |config|
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    23
    config.vm.provision 'user_ssh', type: :shell, privileged: false do |s|
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    24
      ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    25
      s.inline = "echo #{ssh_pub_key} >> /home/$USER/.ssh/authorized_keys"
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    26
    end
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    27
    config.vm.provision 'root_ssh', type: :shell, privileged: true do |s|
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    28
      ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    29
      s.inline = "mkdir /root/.ssh/; echo #{ssh_pub_key} >> /root/.ssh/authorized_keys"
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    30
    end
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    31
    ...
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    32
  end
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    33
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    34
and apply them individually::
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    35
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    36
  vagrant provision --provision-with user_ssh
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    37
  vagrant provision --provision-with root_ssh
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    38
  vagrant provision --provision-with user_ssh,root_ssh
af2d2e117b4e Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2197
diff changeset
    39
2236
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    40
Working with Alpine Linux
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    41
=========================
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    42
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    43
Install plugin::
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    44
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    45
  $ vagrant plugin install vagrant-alpine
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    46
  Installing the 'vagrant-alpine' plugin. This can take a few minutes...
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    47
  Installed the plugin 'vagrant-alpine (0.3.0)'!
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    48
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    49
Create Vagrantfile::
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    50
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    51
  $ vagrant init maier/alpine-3.6-x86_64
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    52
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    53
https://app.vagrantup.com/maier/boxes/alpine-3.6-x86_64
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    54
  AlpineLinux v3.6.2 with VirtualBoxGuestAdditions
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    55
https://app.vagrantup.com/maier
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    56
  maier boxes.
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    57
https://github.com/maier/vagrant-alpine
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    58
  Home page of ``vagrant-alpine`` plugin.
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    59
https://app.vagrantup.com/generic/boxes/alpine36
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    60
  Generic box.
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    61
https://app.vagrantup.com/generic/boxes
15e9cc9e054f Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2201
diff changeset
    62
  Generic boxes.