diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..e093027
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,25 @@
+Vagrant.configure("2") do |config|
+  config.vm.box = "generic/rocky9"
+  config.ssh.insert_key = false
+  config.vm.synced_folder "." "/vagrant", disabled: true
+  
+  config.vm.provider :virtualbox do |v|
+    v.memory = 512
+    v.linked_clone = true
+  end
+
+  config.vm.define "app1" do |app|
+    app.vm.hostname = "orc-app1.test"
+    app.vm.network :private_network, ip: "192.168.60.4"
+  end
+
+  config.vm.define "app2" do |app|
+    app.vm.hostname = "orc-app2.test"
+    app.vm.network :private_network, ip: "192.168.60.5"
+  end
+
+  config.vm.define "db" do |db|
+    db.vm.hostname = "orc-db.test"
+    db.vm.network :private_network, ip: "192.168.60.6"
+  end
+end
diff --git a/ansible.cfg b/ansible.cfg
new file mode 100644
index 0000000..3913d30
--- /dev/null
+++ b/ansible.cfg
@@ -0,0 +1,8 @@
+[defaults]
+inventory = hosts.ini
+gathering = smart
+transport = ssh
+
+[ssh_connection]
+# ssh_args =
+# pipelining =
diff --git a/hosts.ini b/hosts.ini
new file mode 100644
index 0000000..126091a
--- /dev/null
+++ b/hosts.ini
@@ -0,0 +1,18 @@
+# Application servers
+[app]
+192.168.60.4
+192.168.60.5
+
+# Database server
+[db]
+192.168.60.6
+
+# Group named "multi" with all servers
+[multi:children]
+app
+db
+
+# Variables that will be applied to all servers
+[multi:vars]
+ansible_user=vagrant
+; ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key