From 9ed52d9764c4f39b8c3b8dfcfc7cf5dea9a3e3c8 Mon Sep 17 00:00:00 2001 From: bronsen Date: Mon, 3 Mar 2025 22:54:02 +0100 Subject: [PATCH 1/4] [vagrant] explicitly set ssh ports for each machine --- Vagrantfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index a978dce..ea60fad 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -11,16 +11,19 @@ Vagrant.configure("2") do |config| config.vm.define "app1" do |app| app.vm.hostname = "orc-app1.test" app.vm.network :private_network, ip: "192.168.60.4" + app.vm.network :forwarded_port, guest: 22, host: 2222, id: 'ssh' end config.vm.define "app2" do |app| app.vm.hostname = "orc-app2.test" app.vm.network :private_network, ip: "192.168.60.5" + app.vm.network :forwarded_port, guest: 22, host: 2200, id: 'ssh' end config.vm.define "db" do |db| db.vm.hostname = "orc-db.test" db.vm.network :private_network, ip: "192.168.60.6" + db.vm.network :forwarded_port, guest: 22, host: 2201, id: 'ssh' end end @@ -37,5 +40,6 @@ Vagrant.configure("2") do |config| config.vm.define "deb" do |app| app.vm.hostname = "deb.test" app.vm.network :private_network, ip: "192.168.60.7" + app.vm.network :forwarded_port, guest: 22, host: 2202, id: 'ssh' end end From d71f081a95072bf407dafe77c1ca22b2c9cad01e Mon Sep 17 00:00:00 2001 From: bronsen Date: Mon, 3 Mar 2025 22:54:37 +0100 Subject: [PATCH 2/4] [vagrant,inventory] add new ubuntu server machine for next step in book --- Vagrantfile | 17 +++++++++++++++++ hosts.yaml | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/Vagrantfile b/Vagrantfile index ea60fad..93e1965 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -43,3 +43,20 @@ Vagrant.configure("2") do |config| app.vm.network :forwarded_port, guest: 22, host: 2202, id: 'ssh' end end + +Vagrant.configure("2") do |config| + config.vm.box = "gusztavvargadr/ubuntu-server" + 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 "ubu" do |app| + app.vm.hostname = "ubu.test" + app.vm.network :private_network, ip: "192.168.60.8" + app.vm.network :forwarded_port, guest: 22, host: 2203, id: 'ssh' + end +end diff --git a/hosts.yaml b/hosts.yaml index 4fd70b8..8c332d7 100644 --- a/hosts.yaml +++ b/hosts.yaml @@ -31,3 +31,9 @@ debian: deb: ansible_host: 127.0.0.1 ansible_ssh_port: 2202 + +ubuntu: + hosts: + ubu: + ansible_host: "127.0.0.1" + ansible_ssh_port: 2203 From 61452e0cb999b80f812199ee0cc61c7d7991dd6e Mon Sep 17 00:00:00 2001 From: bronsen Date: Mon, 3 Mar 2025 22:55:28 +0100 Subject: [PATCH 3/4] [just] add "lint" recipe currently only lints `Vagrantfile` --- justfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/justfile b/justfile index eddaf8b..e0add06 100644 --- a/justfile +++ b/justfile @@ -9,3 +9,6 @@ deps: check playbook=default_playbook inventory=default_inventory: ansible-playbook {{playbook}} --inventory={{inventory}} --check + +lint: + vagrant validate From 47d8488264a3fc950afac8dde50cec4a0198cef4 Mon Sep 17 00:00:00 2001 From: bronsen Date: Mon, 3 Mar 2025 23:20:24 +0100 Subject: [PATCH 4/4] [playbook,solr] download, install, and run Solr on a ubuntu server --- playbooks/solr-vars.yaml | 6 +++++ playbooks/solr.yaml | 49 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 playbooks/solr-vars.yaml create mode 100644 playbooks/solr.yaml diff --git a/playbooks/solr-vars.yaml b/playbooks/solr-vars.yaml new file mode 100644 index 0000000..e0ecdf1 --- /dev/null +++ b/playbooks/solr-vars.yaml @@ -0,0 +1,6 @@ +--- +download_dir: /tmp +solr_dir: /opt/solr +solr_version: 8.6.0 +solr_checksum: sha512:6b0d618069e37215f305d9a61a3e65be2b9cfc32a3689ea6a25be2f220b1ecc96a644ecc31c81e335a2dfa0bc8b7d0f2881ca192c36fd435cdd832fd309a9ddb + diff --git a/playbooks/solr.yaml b/playbooks/solr.yaml new file mode 100644 index 0000000..7405fd6 --- /dev/null +++ b/playbooks/solr.yaml @@ -0,0 +1,49 @@ +--- +- name: Ubuntu server with Solr + hosts: ubu + become: true + + vars_files: + - solr-vars.yaml + + pre_tasks: + - name: Update apt cache if needed. + ansible.builtin.apt: + update_cache: true + cache_valid_time: 3600 + + tasks: + - name: Install Java. + ansible.builtin.apt: + name: openjdk-11-jdk + state: present + + - name: Get Solr. + ansible.builtin.get_url: + url: "https://archive.apache.org/dist/lucene/solr/{{ solr_version }}/solr-{{ solr_version }}.tgz" + dest: "{{ download_dir }}/solr-{{ solr_version }}.tgz" + checksum: "{{ solr_checksum }}" + + - name: Expand Solr archive. + ansible.builtin.unarchive: + src: "{{ download_dir }}/solr-{{ solr_version }}.tgz" + dest: "{{ download_dir }}" + remote_src: true + creates: "{{ download_dir }}/solr-{{ solr_version }}/README.txt" + + - name: Run Solr installation script. + ansible.builtin.command: > + {{ download_dir }}/solr-{{ solr_version }}/bin/install_solr_service.sh + {{ download_dir }}/solr-{{ solr_version }}.tgz + -i /opt + -d /var/solr + -u solr + -s solr + -p 8983 + creates={{ solr_dir }}/bin/solr + + - name: Ensure Solr is started and enabled on boot. + ansible.builtin.service: + name: solr + state: started + enabled: true