1

Im using Vagrant and I want to start vault server from inside the vagrant box, via ansible playbook. to do so, without playbook, I need to execute @ vagrant ssh and then I'm in the vagrant box and can start the vault server using @ vault server -dev.

I want to execute the @ vault server -dev directly from the playbook. any ideas how?

this is my playbook -

---
- name: Playbook to install  and use Vault
  become: true
  hosts: all
  
  tasks:
   - name: Uptade1
     become: true
     become_user: root
     shell: apt update 
   - name: gpg
     become: true
     become_user: root
     shell: apt install gpg
   - name: verify key
     become: true
     become_user: root
     shell: wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg >/dev/null
   - name: fingerprint
     become: true
     become_user: root
     shell:  gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint
   - name: repository
     become: true
     become_user: root
     shell:  echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
   - name: update2
     become: true
     become_user: root
     shell:  apt update
   - name: vault install
     become: true
     become_user: root
     shell:  apt install vault
   - name: start vault
     become: true
     become_user: vagrant
     shell:  vault server -dev  -dev-listen-address=0.0.0.0:8200

the last one is my try to start the vault server but it gets stuck in the

TASK [start vault] *********************************************************

I also tried adding

- name: start vault
     become: true
     shell:  vagrant ssh

before but then I get :

TASK [start vault] *************************************************************
fatal: [default]: FAILED! => {"changed": true, "cmd": "vagrant ssh", "delta": "0:00:00.003245", "end": "2022-07-03 16:18:31.480702", "msg": "non-zero return code", "rc": 127, "start": "2022-07-03 16:18:31.477457", "stderr": "/bin/sh: 1: vagrant: not found", "stderr_lines": ["/bin/sh: 1: vagrant: not found"], "stdout": "", "stdout_lines": []}

this is my Vagrantfile if needed:

Vagrant.configure("2") do |config|
  VAGRANT_DEFAULT_PROVIDER = "virtualbox"
  config.vm.hostname = "carebox-idan"
  config.vm.provision "ansible", playbook: "playbook.yml"
  config.vm.box = "laravel/homestead"
  config.vm.network "forwarded_port", guest: 8200, host: 8200, auto_correct: "true"
  config.ssh.forward_agent = true
end

thank you.

dish
  • 11
  • 2

0 Answers0