Compare commits

..

4 commits

Author SHA1 Message Date
bronsen
47d8488264 [playbook,solr] download, install, and run Solr on a ubuntu server 2025-03-03 23:20:24 +01:00
bronsen
61452e0cb9 [just] add "lint" recipe
currently only lints `Vagrantfile`
2025-03-03 22:55:28 +01:00
bronsen
d71f081a95 [vagrant,inventory] add new ubuntu server machine for next step in book 2025-03-03 22:54:37 +01:00
bronsen
9ed52d9764 [vagrant] explicitly set ssh ports for each machine 2025-03-03 22:54:02 +01:00
5 changed files with 85 additions and 0 deletions

21
Vagrantfile vendored
View file

@ -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,23 @@ 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
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

View file

@ -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

View file

@ -9,3 +9,6 @@ deps:
check playbook=default_playbook inventory=default_inventory:
ansible-playbook {{playbook}} --inventory={{inventory}} --check
lint:
vagrant validate

6
playbooks/solr-vars.yaml Normal file
View file

@ -0,0 +1,6 @@
---
download_dir: /tmp
solr_dir: /opt/solr
solr_version: 8.6.0
solr_checksum: sha512:6b0d618069e37215f305d9a61a3e65be2b9cfc32a3689ea6a25be2f220b1ecc96a644ecc31c81e335a2dfa0bc8b7d0f2881ca192c36fd435cdd832fd309a9ddb

49
playbooks/solr.yaml Normal file
View file

@ -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