This commit is contained in:
parent
662ce1b1a5
commit
e9671cbe81
35
infrastructure/create-resources/apache-install.yml
Normal file
35
infrastructure/create-resources/apache-install.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
- become: yes
|
||||||
|
hosts: all
|
||||||
|
name: apache-install
|
||||||
|
tasks:
|
||||||
|
- name: Add the user 'kjuulh' and add it to 'sudo'
|
||||||
|
user:
|
||||||
|
name: kjuulh
|
||||||
|
group: sudo
|
||||||
|
- name:
|
||||||
|
authorized_key:
|
||||||
|
user: kjuulh
|
||||||
|
state: present
|
||||||
|
key: "{{ lookup('file', pub_key) }}"
|
||||||
|
- name: Wait for apt to unlock
|
||||||
|
become: yes
|
||||||
|
shell: while sudo fuser /var/lib/dpkg/lock >/dev/null >2&1; do sleep 5; done;
|
||||||
|
|
||||||
|
- name: Install apache2
|
||||||
|
apt:
|
||||||
|
name: apache2
|
||||||
|
update_cache: yes
|
||||||
|
state: latest
|
||||||
|
|
||||||
|
- name: enable mod_rewrite
|
||||||
|
apache2_module:
|
||||||
|
name: rewrite
|
||||||
|
state: present
|
||||||
|
notify:
|
||||||
|
- Restart apache2
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: Restart apache2
|
||||||
|
service:
|
||||||
|
name: apache2
|
||||||
|
state: restarted
|
49
infrastructure/create-resources/hcloud.tf
Normal file
49
infrastructure/create-resources/hcloud.tf
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
resource "hcloud_placement_group" "serverctl_master" {
|
||||||
|
name = "serverctl_master_group"
|
||||||
|
type = "spread"
|
||||||
|
}
|
||||||
|
variable "serverctl_master_count" {
|
||||||
|
default = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "hcloud_server" "serverctl_master" {
|
||||||
|
count = var.serverctl_master_count
|
||||||
|
name = "serverctl-master-${count.index}"
|
||||||
|
image = "debian-11"
|
||||||
|
server_type = "cx11"
|
||||||
|
ssh_keys = [
|
||||||
|
var.hcloud_serverctl_ssh_key_id
|
||||||
|
]
|
||||||
|
placement_group_id = hcloud_placement_group.serverctl_master.id
|
||||||
|
|
||||||
|
provisioner "remote-exec" {
|
||||||
|
inline = ["sudo apt update", "sudo apt install python3 -y", "echo Done!"]
|
||||||
|
|
||||||
|
connection {
|
||||||
|
host = self.ipv4_address
|
||||||
|
type = "ssh"
|
||||||
|
user = "root"
|
||||||
|
private_key = file(var.pvt_key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "null_resource" "configure_serverctl_master" {
|
||||||
|
count = var.serverctl_master_count
|
||||||
|
|
||||||
|
provisioner "local-exec" {
|
||||||
|
command = "ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u root -i '${element(hcloud_server.serverctl_master.*.ipv4_address, 0)},' --private-key ${var.pvt_key} -e 'pub_key=${var.pub_key}' apache-install.yml"
|
||||||
|
}
|
||||||
|
|
||||||
|
triggers = {
|
||||||
|
always_run = timestamp()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
output "master_ipv4_addresses" {
|
||||||
|
value = {
|
||||||
|
for serverctl in hcloud_server.serverctl_master:
|
||||||
|
serverctl.name => serverctl.ipv4_address
|
||||||
|
}
|
||||||
|
}
|
@ -29,15 +29,8 @@ provider "hcloud" {
|
|||||||
token = var.hcloud_token
|
token = var.hcloud_token
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "hcloud_placement_group" "serverctl_master" {
|
|
||||||
name = "serverctl_master_group"
|
|
||||||
type = "spread"
|
|
||||||
}
|
|
||||||
|
|
||||||
resource "hcloud_server" "serverctl_master" {
|
variable "hcloud_serverctl_ssh_key_id" {}
|
||||||
count = 0
|
variable "pvt_key" {}
|
||||||
name = "serverctl-master-${count.index}"
|
variable "pub_key" {}
|
||||||
image = "debian-11"
|
|
||||||
server_type = "cx11"
|
|
||||||
placement_group_id = hcloud_placement_group.serverctl_master.id
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user