Vagrantfile built with external json to simplify slightly differing repeatable builds.
- Multiple guests
- Ansible playbooks
- Ansible galaxy
Provided templates use the following base boxes from tiffin:
Basebox | Arch | Vagrant Cloud |
---|---|---|
Kali 2022.1 | ARM64 | delfino/kali-2022.1-arm64 |
Debian 11.3 | ARM64 | delfino/debian-11.3-arm64 |
Provided templates install roles from the following collections from ansible-collections:
Collection | Galaxy |
---|---|
utils | x_delfino.utils |
security | x_delfino.security |
cloud | x_delfino.cloud |
- Parallels Desktop Pro/Business (only provider for now...):
- Vagrant
- Ansible (Optional)
- Clone repo:
git clone https://github.com/x-delfino/rover.git
or
git clone git@github.com:x-delfino/rover.git
- Set variables in
vars.json
- Run
vagrant up
- develop/learn/test/hack away!
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Vagrant variables",
"description": "variables for Vagrantfile to automate builds",
"type": "object",
"properties": {
"hosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"box": {
"type": "string"
},
"ssh_agent": {
"type": "boolean"
},
"hostname": {
"type": "string"
},
"name": {
"type": "string"
},
"cpus": {
"type": "integer"
},
"memory": {
"type": "integer"
},
"playbooks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"galaxy_file": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "string"
}
},
"vars": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": [
"integer",
"string",
"boolean",
"array",
"object",
"number"
]
}
}
}
}
}
}
}
}
}
}
}