Lots of changes.. split terraform to two projects... other.. things :)

This commit is contained in:
Neil Hanlon 2021-12-29 16:15:05 -05:00
parent 6e877e59c3
commit 4a30ee9baf
Signed by: neil
GPG Key ID: 705BC21EC3C70F34
35 changed files with 2046 additions and 410 deletions

View File

@ -3,4 +3,4 @@ doctl ()
{
/home/neil/bin/doctl --context advancedlsa $@
}
doctl
doctl $@

View File

@ -0,0 +1 @@
../files

View File

@ -0,0 +1 @@
../id_ed25519.pub

BIN
terraform/digitalocean/plan Normal file

Binary file not shown.

View File

@ -0,0 +1,46 @@
#resource "digitalocean_droplet" "openstackaio-2" {
# image = "rockylinux-8-x64"
# name = "openstackaio-2"
# region = "nyc3"
# size = "g-8vcpu-32gb"
# private_networking = true
# ssh_keys = [
# data.digitalocean_ssh_key.terraform.id
# ]
# connection {
# host = self.ipv4_address
# user = "root"
# type = "ssh"
# private_key = file(var.pvt_key)
# timeout = "2m"
# }
# provisioner "remote-exec" {
# inline = [
# "export PATH=$PATH:/usr/bin",
# "dnf -y upgrade",
# "dnf -y install git-core",
# "systemctl stop firewalld",
# "systemctl mask firewalld",
# "sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux",
# "dnf -y install git wget python36",
# "pip3 install virtualenv",
# "git clone https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible",
# "cd /opt/openstack-ansible && git checkout feature/rocky8",
# "/opt/openstack-ansible/scripts/bootstrap-ansible.sh",
# "/opt/openstack-ansible/scripts/bootstrap-aio.sh",
# ]
# }
# provisioner "file" {
# source = "files/user_lxc.yml"
# destination = "/etc/openstack_deploy/user_lxc.yml"
# }
#}
#
#resource "digitalocean_project_resources" "openstackaio-2" {
# project = data.digitalocean_project.advancedlsa.id
# resources = [
# digitalocean_droplet.openstackaio-2.urn,
# digitalocean_volume.openstackdata.urn
# ]
#}
#

View File

@ -1,7 +1,7 @@
{
"version": 4,
"terraform_version": "1.0.8",
"serial": 79,
"terraform_version": "1.0.10",
"serial": 103,
"lineage": "9cbca1f8-8910-c707-3b0a-5c03c8621271",
"outputs": {},
"resources": [
@ -23,7 +23,10 @@
"owner_id": 257793,
"owner_uuid": "797bee93c6f37b206a6194466f1a107df45998a8",
"purpose": "book",
"resources": [],
"resources": [
"do:droplet:271687888",
"do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
],
"updated_at": "2021-09-19T03:26:37Z"
},
"sensitive_attributes": []
@ -58,11 +61,11 @@
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-10-25T23:28:00Z",
"created_at": "2021-11-01T01:02:37Z",
"disk": 100,
"id": "270868749",
"id": "271687888",
"image": "rockylinux-8-x64",
"ipv4_address": "165.227.116.131",
"ipv4_address": "167.99.118.32",
"ipv4_address_private": "10.132.0.4",
"ipv6": false,
"ipv6_address": "",
@ -81,11 +84,13 @@
"31322665"
],
"status": "active",
"tags": null,
"urn": "do:droplet:270868749",
"tags": [],
"urn": "do:droplet:271687888",
"user_data": null,
"vcpus": 8,
"volume_ids": [],
"volume_ids": [
"67706c6d-3aaf-11ec-864d-0a58ac147386"
],
"vpc_uuid": "9be75620-dc84-11e8-80bc-3cfdfea9fba1"
},
"sensitive_attributes": [],
@ -99,18 +104,18 @@
{
"mode": "managed",
"type": "digitalocean_droplet",
"name": "openstackaio-2",
"name": "openstackaio-3",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-10-25T23:28:00Z",
"created_at": "2021-11-01T02:53:09Z",
"disk": 100,
"id": "270868750",
"id": "271696631",
"image": "rockylinux-8-x64",
"ipv4_address": "165.227.125.187",
"ipv4_address": "159.89.182.63",
"ipv4_address_private": "10.132.0.5",
"ipv6": false,
"ipv6_address": "",
@ -118,7 +123,7 @@
"locked": false,
"memory": 32768,
"monitoring": false,
"name": "openstackaio-2",
"name": "openstackaio-3",
"price_hourly": 0.35714,
"price_monthly": 240,
"private_networking": true,
@ -130,7 +135,7 @@
],
"status": "active",
"tags": null,
"urn": "do:droplet:270868750",
"urn": "do:droplet:271696631",
"user_data": null,
"vcpus": 8,
"volume_ids": [],
@ -156,8 +161,8 @@
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:270868749",
"do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
"do:droplet:271687888",
"do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
@ -174,7 +179,7 @@
{
"mode": "managed",
"type": "digitalocean_project_resources",
"name": "openstackaio-2",
"name": "openstackaio-3",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
@ -183,8 +188,8 @@
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:270868750",
"do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
"do:droplet:271696631",
"do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
@ -192,7 +197,7 @@
"dependencies": [
"data.digitalocean_project.advancedlsa",
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-2",
"digitalocean_droplet.openstackaio-3",
"digitalocean_volume.openstackdata"
]
}
@ -208,18 +213,20 @@
"schema_version": 0,
"attributes": {
"description": "volume for openstack shit",
"droplet_ids": [],
"droplet_ids": [
271687888
],
"filesystem_label": null,
"filesystem_type": "xfs",
"id": "313c90cd-35eb-11ec-864d-0a58ac147386",
"id": "67706c6d-3aaf-11ec-864d-0a58ac147386",
"initial_filesystem_label": null,
"initial_filesystem_type": "xfs",
"name": "kvmdata",
"region": "nyc3",
"size": 100,
"snapshot_id": null,
"tags": null,
"urn": "do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
"tags": [],
"urn": "do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA=="
@ -235,16 +242,16 @@
{
"schema_version": 0,
"attributes": {
"droplet_id": 270868749,
"id": "270868749-313c90cd-35eb-11ec-864d-0a58ac147386-20211025233131950500000001",
"volume_id": "313c90cd-35eb-11ec-864d-0a58ac147386"
"droplet_id": 271687888,
"id": "271687888-67706c6d-3aaf-11ec-864d-0a58ac147386-20211101011054410700000001",
"volume_id": "67706c6d-3aaf-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-1",
"digitalocean_volume.openstackdata"
"digitalocean_volume.openstackdata",
"data.digitalocean_ssh_key.terraform"
]
}
]

View File

@ -0,0 +1,178 @@
{
"version": 4,
"terraform_version": "1.0.10",
"serial": 100,
"lineage": "9cbca1f8-8910-c707-3b0a-5c03c8621271",
"outputs": {},
"resources": [
{
"mode": "data",
"type": "digitalocean_project",
"name": "advancedlsa",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"created_at": "2021-09-19T03:03:37Z",
"description": "",
"environment": "Development",
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"is_default": false,
"name": "advanced linux sysadmin",
"owner_id": 257793,
"owner_uuid": "797bee93c6f37b206a6194466f1a107df45998a8",
"purpose": "book",
"resources": [],
"updated_at": "2021-09-19T03:26:37Z"
},
"sensitive_attributes": []
}
]
},
{
"mode": "data",
"type": "digitalocean_ssh_key",
"name": "terraform",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"fingerprint": "c5:82:99:8d:c3:e8:f0:dd:ef:81:3c:6e:72:a8:e4:43",
"id": "31322665",
"name": "advancedlsa-ed25519",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjvRik77vZm9Uy8mxnQakfsWLrkpwYLoVT/TdxScoWj advancedlsa_terraform\n"
},
"sensitive_attributes": []
}
]
},
{
"mode": "managed",
"type": "digitalocean_droplet",
"name": "openstackaio-1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-11-01T01:02:37Z",
"disk": 100,
"id": "271687888",
"image": "rockylinux-8-x64",
"ipv4_address": "167.99.118.32",
"ipv4_address_private": "10.132.0.4",
"ipv6": false,
"ipv6_address": "",
"ipv6_address_private": null,
"locked": false,
"memory": 32768,
"monitoring": false,
"name": "openstackaio-1",
"price_hourly": 0.35714,
"price_monthly": 240,
"private_networking": true,
"region": "nyc3",
"resize_disk": true,
"size": "g-8vcpu-32gb",
"ssh_keys": [
"31322665"
],
"status": "active",
"tags": null,
"urn": "do:droplet:271687888",
"user_data": null,
"vcpus": 8,
"volume_ids": [],
"vpc_uuid": "9be75620-dc84-11e8-80bc-3cfdfea9fba1"
},
"sensitive_attributes": [],
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
"dependencies": [
"data.digitalocean_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_project_resources",
"name": "openstackaio-1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:271687888",
"do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_project.advancedlsa",
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-1",
"digitalocean_volume.openstackdata"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_volume",
"name": "openstackdata",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"description": "volume for openstack shit",
"droplet_ids": [],
"filesystem_label": null,
"filesystem_type": "xfs",
"id": "67706c6d-3aaf-11ec-864d-0a58ac147386",
"initial_filesystem_label": null,
"initial_filesystem_type": "xfs",
"name": "kvmdata",
"region": "nyc3",
"size": 100,
"snapshot_id": null,
"tags": null,
"urn": "do:volume:67706c6d-3aaf-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "digitalocean_volume_attachment",
"name": "openstackaio_volume1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"droplet_id": 271687888,
"id": "271687888-67706c6d-3aaf-11ec-864d-0a58ac147386-20211101011054410700000001",
"volume_id": "67706c6d-3aaf-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-1",
"digitalocean_volume.openstackdata"
]
}
]
}
]
}

View File

@ -0,0 +1,192 @@
---
cidr_networks:
container: 172.29.220.0/22
tunnel: 172.29.224.0/22
storage: 172.29.228.0/22
used_ips:
- "172.29.220.1,172.29.220.50"
- "172.29.224.1,172.29.224.50"
- "172.29.228.1,172.29.228.50"
global_overrides:
# The internal and external VIP should be different IPs, however they
# do not need to be on separate networks.
external_lb_vip_address: 172.29.220.10
internal_lb_vip_address: 172.29.220.11
management_bridge: "br-mgmt"
provider_networks:
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth1"
ip_from_q: "container"
type: "raw"
group_binds:
- all_containers
- hosts
is_container_address: true
- network:
container_bridge: "br-vxlan"
container_type: "veth"
container_interface: "eth10"
ip_from_q: "tunnel"
type: "vxlan"
range: "1:1000"
net_name: "vxlan"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-vlan"
container_type: "veth"
container_interface: "eth12"
host_bind_override: "eth12"
type: "flat"
net_name: "flat"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-storage"
container_type: "veth"
container_interface: "eth2"
ip_from_q: "storage"
type: "raw"
group_binds:
- glance_api
- cinder_api
- cinder_volume
- nova_compute
x-infra-hosts: &x-infra-hosts
infra1:
ip: 172.29.220.5
x-compute-hosts: &x-compute-hosts
compute1:
ip: 172.29.220.6
x-storage-hosts: &x-storage-hosts
infra1:
ip: 172.29.220.7
container_vars:
cinder_backends:
limit_container_types: cinder_volume
lvm:
volume_group: cinder-volumes
volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name: LVM_iSCSI
iscsi_ip_address: "172.29.228.7"
##
## Infrastructure
##
shared-infra_hosts:
<<: *x-infra-hosts
repo-infra_hosts:
<<: *x-infra-hosts
haproxy_hosts:
<<: *x-infra-hosts
##
## OpenStack
##
identity_hosts:
<<: *x-infra-hosts
storage-infra_hosts:
<<: *x-infra-hosts
image_hosts:
<<: *x-infra-hosts
placement-infra_hosts:
<<: *x-infra-hosts
compute-infra_hosts:
<<: *x-infra-hosts
orchestration_hosts:
<<: *x-infra-hosts
dashboard_hosts:
<<: *x-infra-hosts
network_hosts:
<<: *x-infra-hosts
compute_hosts:
<<: *x-compute-hosts
#storage_hosts:
# <<: *x-storage-hosts
###
### Infrastructure
###
## galera, memcache, rabbitmq, utility
#shared-infra_hosts:
# infra1:
# ip: 172.29.220.5
#
## repository (apt cache, python packages, etc)
#repo-infra_hosts:
# infra1:
# ip: 172.29.220.5
#
## load balancer
#haproxy_hosts:
# infra1:
# ip: 172.29.220.5
#
####
#### OpenStack
####
#
## keystone
#identity_hosts:
# infra1:
# ip: 172.29.220.5
#
## cinder api services
#storage-infra_hosts:
# infra1:
# ip: 172.29.220.5
#
## glance
#image_hosts:
# infra1:
# ip: 172.29.220.5
#
## placement
#placement-infra_hosts:
# infra1:
# ip: 172.29.220.5
#
## nova api, conductor, etc services
#compute-infra_hosts:
# infra1:
# ip: 172.29.220.5
#
## heat
#orchestration_hosts:
# infra1:
# ip: 172.29.220.5
#
## horizon
#dashboard_hosts:
# infra1:
# ip: 172.29.220.5
#
## neutron server, agents (L3, etc)
#network_hosts:
# infra1:
# ip: 172.29.220.5
#
## nova hypervisors
#compute_hosts:
# compute1:
# ip: 172.29.220.6
#
## cinder storage host (LVM-backed)
#storage_hosts:
# storage1:
# ip: 172.29.220.7
# container_vars:
# cinder_backends:
# limit_container_types: cinder_volume
# lvm:
# volume_group: cinder-volumes
# volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
# volume_backend_name: LVM_iSCSI
# iscsi_ip_address: "172.29.228.7"

View File

@ -0,0 +1,17 @@
dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo
systemctl stop firewalld
systemctl mask firewalld
sed -i 's/enforcing/permissive/' /etc/sysconfig/selinux
sed -i 's/enforcing/permissive/' /etc/selinux/config
#git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible
touch /etc/cloud/cloud-init.disabled
#dnf -y install https://repos.fedorapeople.org/repos/openstack/openstack-xena/rdo-release-xena-1.el8.noarch.rpm
cat << EOF | tee -a /etc/ssh/sshd_config
Match User root
AllowAgentForwarding no
EOF
systemctl restart sshd
#cp /opt/ansible-runtime/lib/python3.6/site-packages/ansible/plugins/connection/ssh.py /etc/ansible/roles/plugins/connection/ssh.py

View File

@ -1,46 +0,0 @@
resource "digitalocean_droplet" "openstackaio-2" {
image = "rockylinux-8-x64"
name = "openstackaio-2"
region = "nyc3"
size = "g-8vcpu-32gb"
private_networking = true
ssh_keys = [
data.digitalocean_ssh_key.terraform.id
]
connection {
host = self.ipv4_address
user = "root"
type = "ssh"
private_key = file(var.pvt_key)
timeout = "2m"
}
provisioner "remote-exec" {
inline = [
"export PATH=$PATH:/usr/bin",
"dnf -y upgrade",
"dnf -y install git-core",
"systemctl stop firewalld",
"systemctl mask firewalld",
"sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux",
"dnf -y install git wget python36",
"pip3 install virtualenv",
"git clone https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible",
"cd /opt/openstack-ansible && git checkout feature/rocky8",
"/opt/openstack-ansible/scripts/bootstrap-ansible.sh",
"/opt/openstack-ansible/scripts/bootstrap-aio.sh",
]
}
provisioner "file" {
source = "files/user_lxc.yml"
destination = "/etc/openstack_deploy/user_lxc.yml"
}
}
resource "digitalocean_project_resources" "openstackaio-2" {
project = data.digitalocean_project.advancedlsa.id
resources = [
digitalocean_droplet.openstackaio-2.urn,
digitalocean_volume.openstackdata.urn
]
}

View File

@ -1,333 +0,0 @@
{
"version": 4,
"terraform_version": "1.0.8",
"serial": 84,
"lineage": "9cbca1f8-8910-c707-3b0a-5c03c8621271",
"outputs": {},
"resources": [
{
"mode": "data",
"type": "digitalocean_project",
"name": "advancedlsa",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"created_at": "2021-09-19T03:03:37Z",
"description": "",
"environment": "Development",
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"is_default": false,
"name": "advanced linux sysadmin",
"owner_id": 257793,
"owner_uuid": "797bee93c6f37b206a6194466f1a107df45998a8",
"purpose": "book",
"resources": [
"do:droplet:270868749",
"do:droplet:270868750"
],
"updated_at": "2021-09-19T03:26:37Z"
},
"sensitive_attributes": []
}
]
},
{
"mode": "data",
"type": "digitalocean_ssh_key",
"name": "terraform",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"fingerprint": "c5:82:99:8d:c3:e8:f0:dd:ef:81:3c:6e:72:a8:e4:43",
"id": "31322665",
"name": "advancedlsa-ed25519",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjvRik77vZm9Uy8mxnQakfsWLrkpwYLoVT/TdxScoWj advancedlsa_terraform\n"
},
"sensitive_attributes": []
}
]
},
{
"mode": "managed",
"type": "digitalocean_droplet",
"name": "openstackaio-1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-10-25T23:28:00Z",
"disk": 100,
"id": "270868749",
"image": "rockylinux-8-x64",
"ipv4_address": "165.227.116.131",
"ipv4_address_private": "10.132.0.4",
"ipv6": false,
"ipv6_address": "",
"ipv6_address_private": null,
"locked": false,
"memory": 32768,
"monitoring": false,
"name": "openstackaio-1",
"price_hourly": 0.35714,
"price_monthly": 240,
"private_networking": true,
"region": "nyc3",
"resize_disk": true,
"size": "g-8vcpu-32gb",
"ssh_keys": [
"31322665"
],
"status": "active",
"tags": [],
"urn": "do:droplet:270868749",
"user_data": null,
"vcpus": 8,
"volume_ids": [
"313c90cd-35eb-11ec-864d-0a58ac147386"
],
"vpc_uuid": "9be75620-dc84-11e8-80bc-3cfdfea9fba1"
},
"sensitive_attributes": [],
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
"dependencies": [
"data.digitalocean_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_droplet",
"name": "openstackaio-2",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-10-25T23:28:00Z",
"disk": 100,
"id": "270868750",
"image": "rockylinux-8-x64",
"ipv4_address": "165.227.125.187",
"ipv4_address_private": "10.132.0.5",
"ipv6": false,
"ipv6_address": "",
"ipv6_address_private": null,
"locked": false,
"memory": 32768,
"monitoring": false,
"name": "openstackaio-2",
"price_hourly": 0.35714,
"price_monthly": 240,
"private_networking": true,
"region": "nyc3",
"resize_disk": true,
"size": "g-8vcpu-32gb",
"ssh_keys": [
"31322665"
],
"status": "active",
"tags": [],
"urn": "do:droplet:270868750",
"user_data": null,
"vcpus": 8,
"volume_ids": [],
"vpc_uuid": "9be75620-dc84-11e8-80bc-3cfdfea9fba1"
},
"sensitive_attributes": [],
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
"dependencies": [
"data.digitalocean_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_droplet",
"name": "openstackaio-3",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 1,
"attributes": {
"backups": false,
"created_at": "2021-10-26T01:32:25Z",
"disk": 100,
"id": "270879028",
"image": "rockylinux-8-x64",
"ipv4_address": "159.65.37.160",
"ipv4_address_private": "10.132.0.6",
"ipv6": false,
"ipv6_address": "",
"ipv6_address_private": null,
"locked": false,
"memory": 32768,
"monitoring": false,
"name": "openstackaio-3",
"price_hourly": 0.35714,
"price_monthly": 240,
"private_networking": true,
"region": "nyc3",
"resize_disk": true,
"size": "g-8vcpu-32gb",
"ssh_keys": [
"31322665"
],
"status": "active",
"tags": null,
"urn": "do:droplet:270879028",
"user_data": null,
"vcpus": 8,
"volume_ids": [],
"vpc_uuid": "9be75620-dc84-11e8-80bc-3cfdfea9fba1"
},
"sensitive_attributes": [],
"private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==",
"dependencies": [
"data.digitalocean_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_project_resources",
"name": "openstackaio-1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:270868749",
"do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_project.advancedlsa",
"digitalocean_droplet.openstackaio-1",
"digitalocean_volume.openstackdata"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_project_resources",
"name": "openstackaio-2",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:270868750",
"do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_project.advancedlsa",
"digitalocean_droplet.openstackaio-2",
"digitalocean_volume.openstackdata"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_project_resources",
"name": "openstackaio-3",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"id": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"project": "a6b1a713-5a17-40d7-bed1-af2a22d0cd98",
"resources": [
"do:droplet:270879028",
"do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
]
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_project.advancedlsa",
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-3",
"digitalocean_volume.openstackdata"
]
}
]
},
{
"mode": "managed",
"type": "digitalocean_volume",
"name": "openstackdata",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"description": "volume for openstack shit",
"droplet_ids": [
270868749
],
"filesystem_label": null,
"filesystem_type": "xfs",
"id": "313c90cd-35eb-11ec-864d-0a58ac147386",
"initial_filesystem_label": null,
"initial_filesystem_type": "xfs",
"name": "kvmdata",
"region": "nyc3",
"size": 100,
"snapshot_id": null,
"tags": [],
"urn": "do:volume:313c90cd-35eb-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "digitalocean_volume_attachment",
"name": "openstackaio_volume1",
"provider": "provider[\"registry.terraform.io/digitalocean/digitalocean\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"droplet_id": 270868749,
"id": "270868749-313c90cd-35eb-11ec-864d-0a58ac147386-20211025233131950500000001",
"volume_id": "313c90cd-35eb-11ec-864d-0a58ac147386"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.digitalocean_ssh_key.terraform",
"digitalocean_droplet.openstackaio-1",
"digitalocean_volume.openstackdata"
]
}
]
}
]
}

43
terraform/vultr/.terraform.lock.hcl generated Normal file
View File

@ -0,0 +1,43 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/local" {
version = "2.1.0"
hashes = [
"h1:EYZdckuGU3n6APs97nS2LxZm3dDtGqyM4qaIvsmac8o=",
"zh:0f1ec65101fa35050978d483d6e8916664b7556800348456ff3d09454ac1eae2",
"zh:36e42ac19f5d68467aacf07e6adcf83c7486f2e5b5f4339e9671f68525fc87ab",
"zh:6db9db2a1819e77b1642ec3b5e95042b202aee8151a0256d289f2e141bf3ceb3",
"zh:719dfd97bb9ddce99f7d741260b8ece2682b363735c764cac83303f02386075a",
"zh:7598bb86e0378fd97eaa04638c1a4c75f960f62f69d3662e6d80ffa5a89847fe",
"zh:ad0a188b52517fec9eca393f1e2c9daea362b33ae2eb38a857b6b09949a727c1",
"zh:c46846c8df66a13fee6eff7dc5d528a7f868ae0dcf92d79deaac73cc297ed20c",
"zh:dc1a20a2eec12095d04bf6da5321f535351a594a636912361db20eb2a707ccc4",
"zh:e57ab4771a9d999401f6badd8b018558357d3cbdf3d33cc0c4f83e818ca8e94b",
"zh:ebdcde208072b4b0f8d305ebf2bfdc62c926e0717599dcf8ec2fd8c5845031c3",
"zh:ef34c52b68933bedd0868a13ccfd59ff1c820f299760b3c02e008dc95e2ece91",
]
}
provider "registry.terraform.io/vultr/vultr" {
version = "2.5.0"
constraints = "2.5.0"
hashes = [
"h1:PgzWpGCa2/lMU+3BNFUYteEGX4/liEanwNVL8H7Qea0=",
"zh:01170f3ae839dd9c90e62035751f8d5c78885230d24e3bf2745ea6ab36c6b07d",
"zh:01bbeceff1830dd8136c2f82fd6fbb6bb17da0daf8e94c87419ca01e08dbe935",
"zh:732f7fa80000980b8dfab01386a25370125b2415028d82e80088cc8b3d23a14c",
"zh:7ad270adbb0393b6b3e5fdae823d0a12148526f2ed88c7f9abc7387e6d75644b",
"zh:82f5394ee0405cb7b9bf30dcbeb1984727b62612fb7683b007d0481dcaa620bd",
"zh:847269a5c18a062fc45969d44f264de29a36163cf4520e67947fc4d8d750c205",
"zh:86116d1f4524fcbee71ca29bc32f8f4a6eab062251a8b5a4330631583623d208",
"zh:881297fc71473c26413ab024b8808767c834617d66f783ab97d72b7dd386c54b",
"zh:8be0d70e78bd8475fd7f4be569457d5df5cc2c2ba8485e47f10c60581cb40fe8",
"zh:a318333f1dd38d39278b2c60f32f45f45c4fa9fd0e9f2eb77db5c926fd3eb930",
"zh:b57893fe49a3a2d55ff88bfd7ea70965b6dd482ef7d94e6c87af86e2d02a606c",
"zh:d651803416ecd6c3f83d0325032617aaf88cabfa622351259f92330b017f0782",
"zh:d843297bbd69da52fed370af432d6b21d507f2bc1cbe4c20cf7d5038a3eac0ec",
"zh:e1fa7203686e040b47994eab34faa10fde5a27d2770d50895b7458696dd87fb9",
"zh:f1e95555a35faa7e97c97564f1c29fefeb833bda447a74413b36a134b9f244b3",
]
}

View File

@ -0,0 +1,29 @@
dnf -y upgrade
dnf install iputils lsof openssh-server sudo tcpdump python3
echo "kernel.printk='4 1 7 4'" >> /etc/sysctl.conf
ip a
dnf -y install git-core
systemctl stop firewalld
systemctl mask firewalld
sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
dnf -y install git wget python36
pip3 install virtualenv
vim .ssh/authorized_keys
cd /etc/sysconfig/network-scripts/
ls
ip a
cp ifcfg-enp11s0 ifcfg-br-mgmt
vim ifcfg-br-mgmt
vim ifcfg-enp11s0
cp ifcfg-enp10s0 ifcfg-br-storage
vim ifcfg-enp10s0 ifcfg-br-storage
cp ifcfg-enp9s0 ifcfg-br-vxlan
vim ifcfg-enp9s0 ifcfg-br-vxlan
systemctl restart network
lxc-ls
vim /etc/sysctl.conf
ip addr show br-storage
reboot
touch /etc/cloud/cloud-init.disabled
ip a
ping -I br-storage 172.29.228.5

382
terraform/vultr/cp-history Normal file
View File

@ -0,0 +1,382 @@
ip a
top
uptime
lxc-ls
lxc-top
lxc-info
lxc-ls
lxc-info infra1_rabbit_mq_container-3f6cfa0e
lxc-ls | grep tmp
lxc-monitor
journalctl -xe
nmcli con show
cd /etc/sysconfig/network-scripts/
ls
vim ifcfg-enp7s0
ls
vim ifcfg-br-bxlan
vim ifcfg-enp7s0
ifdown enp7s0
ifup br-vxlan
ip a
ifup enp7s0
ip a
ls
cp ifcfg-enp8s0 ifcfg-br-mgmt
vim ifcfg-br-mgmt
vim ifcfg-enp8s0
systemctl restart network
ip a
ssh 172.29.220.3
rm /tmp/ssh-XqeHHU2LKt/agent.106074
ssh 172.29.220.3
ssh 172.29.220.4
lxc-ls
lxc-top
top
nproc
top
ssh 172.29.220.4
ssh 172.29.220.5
ssh 172.29.220.3
ssh 172.29.220.4
ssh 172.29.220.3
ssh 172.29.220.3
cd /opt/openstack-ansible/playbooks/
openstack-ansible setup-infrastructure.yml --syntax-check
openstack-ansible setup-hosts.yml
cd /etc/op
cd /etc/open
cd /etc/openstack_deploy/
ls
vim openstack_user_config.yml
openstack-ansible setup-hosts.yml
ls
cd -
openstack-ansible setup-hosts.yml
ip a
export PATH=$PATH:/usr/bin
dnf -y upgrade
dnf -y install git-core
systemctl stop firewalld
systemctl mask firewalld
sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
dnf -y install git wget python36
pip3 install virtualenv
git clone https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible
cd /opt/openstack-ansible && git checkout feature/rocky8
/opt/openstack-ansible/scripts/bootstrap-ansible.sh
ls
cp -ra etc/openstack_deploy/ /etc/
cd /etc/openstack_deploy/
ls
ls ~/
ls /
ls /root/
vim user_lxc.yml
cp openstack_user_config.yml.example openstack_user_config.yml
vim openstack_user_config.yml
rm -fr openstack_user_config.yml
vim openstack_user_config.yml
vim ~/.vimrc
vim openstack_user_config.yml
vim ~/.vimrc
vim openstack_user_config.yml
vim /etc/openstack_deploy/user_variables.yml
ls
vim conf.d/neutron.yml.aio
ag 'neutron' .
grep -ri --color neutron .
grep -ri --color neutron . | grep vlan
vim openstack_user_config.yml.example
vim openstack_user_config.yml
vim user_variables.yml
vim user_secrets.yml
cd /opt/openstack-ansible
./scripts/pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml
cd -
vim user_secrets.yml
cd
ssh-keygen
cat .ssh/id_rsa
cat .ssh/id_rsa.pub
ssh 172.29.220.3
ssh -i .ssh/id_rsa 172.29.220.3
ssh 172.29.220.3
ssh 172.29.220.3 -vvv
ssh -i .ssh/id_rsa 172.29.220.3
ssh -i .ssh/id_rsa 172.29.220.3 -vvv
rm /tmp/ssh-BTW4jLYXFM/agent.30808
ssh -i .ssh/id_rsa 172.29.220.3 -vvv
ssh -i .ssh/id_rsa 172.29.220.4
ssh -i .ssh/id_rsa 172.29.220.3
ssh -i .ssh/id_rsa 172.29.220.5
ip link show enp9s0
uptime
ip a
cd /etc/sysconfig/network-scripts/
ls
ip a
ip a | grep 172.29
ls
ip addr show
ip link show
ls
mv ifcfg-br-bxlan ifcfg-br-vxlan
vim ifcfg-br-vxlan
cp ifcfg-br-vxlan ifcfg-br-storage
vim ifcfg-br-storage
cp ifcfg-enp8s0 ifcfg-enp9s0
vim ifcfg-enp9s0
ifup enp9s0
ifup br-storage
ip a
vim ifcfg-br-storage
ip a
ip addr show br0storage
ip addr show br-storage
ifdown br-storage
ifdown enp9s0
ls
ls -altr
cat ifcfg-br-storage
ip addr show br-mgmt
ip addr show br-vxlan
ssh 172.29.220.3
rm /tmp/ssh-*/*.agent
rm -fr /tmp/ssh-*
ssh 172.29.220.3
ssh 172.29.220.4
vim ifcfg-br-storage
ifdown br-storage
ifup br-storage
ifup enp9s0
ip a
ping 172.29.228.3 -i br-storage
ping 172.29.228.3 -I br-storage
cd /etc/sysconfig/network-scripts/
cp ifcfg-br-mgmt ifcfg-br-mgmt\:1
vim ifcfg-br-mgmt\:1
mv ifcfg-br-mgmt\:1 ifcfg-br-mgmt\:10
vim ifcfg-br-mgmt\:10
cat ifcfg-br-mgmt*
ifup br-mgmt:10
ifup br-mgmt:11
lxc-top
cd /opt/openstack-ansible/playbooks/
openstack-ansible setup-hosts.yml
rmf -fr /tmp/ssh-arhi2944df/*
rmf -fr /tmp/ssh-arhi2944df/
rm -fr /tmp/ssh-arhi2944df/
openstack-ansible setup-hosts.yml
openstack-ansible setup-infrastructure.yml
journalctl -xe
ip addr | grep 172.29.220.10
ip addr | grep 172.29.220.11
cd /etc/openstack_deploy/
ls
vim openstack_user_config.yml
openstack-ansible setup-infrastructure.yml
cd -
openstack-ansible setup-infrastructure.yml
vim /etc/openstack_deploy/openstack_user_config.yml
ip r s
ip a
ip a | grep 220
ping 172.29.220.11
vim /etc/openstack_deploy/openstack_user_config.yml
curl http://172.29.220.11:8181/constraints/upper_constraints_a0d5baa46432649d799893ed7300fe78bd3a5e09.txt"
curl http://172.29.220.11:8181/constraints/upper_constraints_a0d5baa46432649d799893ed7300fe78bd3a5e09.txt
ss -tulpn | grep 172.29.220.11
netstat -tulpn | grep 172.29.220.11
netstat -tulpn | grep 8181
openstack-ansible setup-hosts.yml
uptime
reboot
cd /opt/openstack-ansible/
ls
cd playbooks/
netstat -tulpn | grep 8181
openstack-ansible setup-hosts.yml
cd /opt/openstack-ansible/playbooks/
openstack-ansible setup-infrastructure.yml
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
openstack-ansible setup-openstack.yml
cd /opt/openstack-ansible/playbooks/
openstack-ansible setup-openstack.yml
lxc-ls
lxc-attach infra1_glance_container-38c0e415
lxc-start infra1_glance_container-38c0e415
lxc-start --help
lxc-start -F infra1_glance_container-38c0e415
journalctl -xe
ip r s
ip a
ip link show
ip addr show br-storage
cd /etc/sysconfig/network-scripts/
ls
vim ifcfg-br-storage
systemctl restart network
journalctl -xe
ip addr show br-storage
ifdown br-storage
ifup br-storage
ifdown br-storage
ifup br-storage &
ip addr show br-storage
cat ifcfg-enp9s0
ip link show enp9s0
ip a
ip link
dmesg | grep enp
cat ifcfg-br-storage
cat ifcfg-br-mgmt
reboot
ip addr show enp9s0
ip a
reboot
cd /opt/openstack-ansible/playbooks/
openstack-ansible setup-openstack.yml
ssh 172.29.220.5
ip r s
ip addr show br-mgmt
cd /etc/sysconfig/network-scripts/
ls
ip addr show
uptime
ipa
ip link
vim ifcfg-br-mgmt
vim ifcfg-br-vxlan
vim ifcfg-br-mgmt
vim ifcfg-br-storage
ip link show
dmesg | grep enp
ifup br-storage
vim ifcfg-br-storage ifcfg-enp9s0
vim ifcfg-br-mgmt ifcfg-enp7s0
vim ifcfg-br-mgmt ifcfg-enp8s0
vim ifcfg-br-vxlan ifcfg-enp7s0
systemctl restart netwrok
systemctl restart network
ip a
dmesg | grep br
dmesg | grep br-
dmesg | grep renamed
cd /etc/sysconfig/network-scripts/
vim ifcfg-enp8s0 ifcfg-br-mgmt
ls /etc/cloud/cloud-init.disabled
ls /etc/cloud/
touch /etc/cloud/cloud-init.disabled
vim ifcfg-br-mgmt ifcfg-enp8s0
vim /etc/openstack_deploy/openstack_user_config.yml
vim ifcfg-br-mgmt ifcfg-enp8s0
vim /etc/openstack_deploy/openstack_user_config.yml
vim ifcfg-br-mgmt ifcfg-enp8s0
vim ifcfg-br-storage ifcfg-enp9s0
ifdown br-storage
ifdown enp9s0
ifup enp9s0
ifup br-storage
cat ifcfg-br-storage
vim ifcfg-br-storage
vim ifcfg-br-vxlan
vim ifcfg-br-mgmt
ifup br-storage
ifdown br-mgmt
ifup br-mgmt
cat ifcfg-br-mgmt
cat ifcfg-enp7s0
cat ifcfg-enp8
cat ifcfg-enp8s0
ifdown enp8s0
reboot
ip a
dmesg | grep rename
cd /etc/sysconfig/network-scripts/
cat ifcfg-br-mgmt
cat ifcfg-enp8s0
cat ifcfg-enp7s0
cat ifcfg-br-vxlan
cat ifcfg-br-mgmt
vim ifcfg-br-mgmt
vim ifcfg-br-storage
vim ifcfg-br-vxlan ifcfg-enp7s0
ls
vim ifcfg-br-mgmt\:11
ifdown br-mgmt:11
vim ifcfg-br-mgmt\:11
ifdown br-mgmt:11
vim ifcfg-br-mgmt\:11
ifdown br-mgmt:11
ifup br-mgmt:11
ifup br-mgmt
ip a
ip addr show br-mgmt
ip addr show br-mgmt:10
ifup br-mgmt:10
ip addr show br-mgmt:10
ifup br-mgmt
ifdown br-mgmt
ip addr show br-mgmt:10
reboot
uptime
ip a
cd /etc/sysconfig/network-scripts/
ls
grep HWADDR .
grep -ri HWADDR .
grep -r HWADDR .
grep -rE ^HWADDR .
vim ifcfg-enp9s0
vim ifcfg-br-storage
vim ifcfg-br-vxlan
vim ifcfg-br-mgmt
reboot
ip addr
dmesg | grep rename
cd /etc/sysconfig/network-scripts/
grep -ri 'enp8' .
vim ifcfg-enp8s0
cat ifcfg-enp8s0 ifcfg-enp7s0
mv ifcfg-br-mgmt\:1* ../
ls
reboot
ip a
dmesg | grep rename
vim /etc/network/interfaces.d/
vim /etc/udev/rules.d/70-persistent-net.rules
reboot
vim /etc/udev/rules.d/70-persistent-net.rules
dmesg | grep rename
ip a
mv /etc/sysconfig/ifcfg-br-mgmt\:1* /etc/sysconfig/network-scripts/
reboot
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
cd /opt/openstack-ansible/playbooks/
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
ip a
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
lxc-ls
lxc-top
top
lxc-top
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
openstack-ansible setup-openstack.yml
ansible galera_container -m shell -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"
openstack-ansible setup-openstack.yml
cat /etc/openstack_deploy/user_variables.yml
cd /etc/openstack_deploy/
ls
ls -altr
cat openstack_user_config.yml
pwd
cd /etc/sysconfig/network-scripts/
ls
cat ifcfg-br-*
for i in ifcfg*; do echo $i; echo; cat $i; done;
for i in ifcfg*; do echo ################## $i; echo; cat $i; done;
for i in ifcfg*; do echo '##################' $i; echo; cat $i; done;
for i in ifcfg*; do echo '##################' $i; echo; cat $i; echo; done;

1
terraform/vultr/files Symbolic link
View File

@ -0,0 +1 @@
../files

View File

@ -0,0 +1 @@
../id_ed25519.pub

View File

@ -0,0 +1,101 @@
#!/bin/bash
iface_mgmt=$(ip addr | grep 172.29.220 | awk '{print $NF}')
iface_vxlan=$(ip addr | grep 172.29.224 | awk '{print $NF}')
iface_storage=$(ip addr | grep 172.29.228 | awk '{print $NF}')
if [[ -z "${iface_mgmt}" ]]; then
echo "can't find mgmt interface"
else
echo "mgmt interface is: ${iface_mgmt}"
fi
if [[ -z "${iface_vxlan}" ]]; then
echo "can't find vxlan interface"
else
echo "vxlan interface is: ${iface_vxlan}"
fi
if [[ -z "${iface_storage}" ]]; then
echo "can't find storage interface"
else
echo "storage interface is: ${iface_storage}"
fi
if [[ -z "${iface_mgmt}" && ( -z "${iface_vxlan}" || -z "${iface_storage}" ) ]]; then
echo "Stopping. Only a mgmt interface found. Need at least one of vxlan or storage"
exit 1
fi
cat << EOF > ifcfg-br-mgmt
BOOTPROTO=none
DEVICE=br-mgmt
NM_CONTROLLED=no
IPADDR=172.29.220.5
NETMASK=255.255.252.0
ONBOOT=yes
TYPE=Bridge
USERCTL=no
EOF
cat << EOF > ifcfg-${iface_mgmt}
TYPE=Ethernet
DEVICE=${iface_mgmt}
ONBOOT=yes
BRIDGE=br-mgmt
HWADDR=$(ip link show ${iface_mgmt} | awk '/link\/ether/{print $2}')
EOF
cat << EOF > ifcfg-br-mgmt\:10
DEVICE=br-mgmt:10
ONPARENT=on
IPADDR=172.29.220.10
PREFIX=22
EOF
cat << EOF > ifcfg-br-mgmt\:11
DEVICE=br-mgmt:11
ONPARENT=on
IPADDR=172.29.220.11
PREFIX=22
EOF
#cat << EOF > ifcfg-br-storage
#BOOTPROTO=none
#DEVICE=br-storage
#IPADDR=172.29.228.5
#NETMASK=255.255.252.0
#NM_CONTROLLED=no
#ONBOOT=yes
#TYPE=Bridge
#USERCTL=no
#EOF
#cat << EOF > ifcfg-${iface_storage}
#TYPE=Ethernet
#DEVICE=${iface_storage}
#ONBOOT=yes
#BRIDGE=br-storage
#HWADDR=$(ip link show ${iface_storage} | awk '/link\/ether/{print $2}')
#EOF
cat << EOF > ifcfg-br-vxlan
BOOTPROTO=none
DEVICE=br-vxlan
IPADDR=172.29.224.5
NETMASK=255.255.252.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
USERCTL=no
EOF
cat << EOF > ifcfg-${iface_vxlan}
TYPE=Ethernet
DEVICE=${iface_vxlan}
ONBOOT=yes
BRIDGE=br-vxlan
HWADDR=$(ip link show ${iface_vxlan} | awk '/link\/ether/{print $2}')
EOF

View File

@ -0,0 +1,37 @@
# mgmt, tunnel, storage
resource "vultr_private_network" "mgmt" {
description = "Management network"
region = "ewr"
v4_subnet = "172.29.220.0"
v4_subnet_mask = 22
}
resource "vultr_private_network" "tunnel" {
description = "Tunnel (VXLAN) network"
region = "ewr"
v4_subnet = "172.29.224.0"
v4_subnet_mask = 22
}
resource "vultr_private_network" "storage" {
description = "Storage Network"
region = "ewr"
v4_subnet = "172.29.228.0"
v4_subnet_mask = 22
}
resource "vultr_private_network" "mgmt2" {
description = "Management network"
region = "ewr"
v4_subnet = "172.29.220.0"
v4_subnet_mask = 22
}
resource "vultr_private_network" "tunnel2" {
description = "Tunnel (VXLAN) network"
region = "ewr"
v4_subnet = "172.29.224.0"
v4_subnet_mask = 22
}

87
terraform/vultr/notes.txt Normal file
View File

@ -0,0 +1,87 @@
cat << EOF > ifcfg-br-mgmt
BOOTPROTO=none
DEVICE=br-mgmt
NM_CONTROLLED=no
IPADDR=172.29.220.7
NETMASK=255.255.252.0
ONBOOT=yes
TYPE=Bridge
USERCTL=no
EOF
#cat << EOF > ifcfg-br-mgmt\:10
#DEVICE=br-mgmt:10
#ONPARENT=on
#IPADDR=172.29.220.10
#PREFIX=22
#EOF
#
#cat << EOF > ifcfg-br-mgmt\:11
#DEVICE=br-mgmt:11
#ONPARENT=on
#IPADDR=172.29.220.11
#PREFIX=22
#EOF
cat << EOF > ifcfg-br-storage
BOOTPROTO=none
DEVICE=br-storage
IPADDR=172.29.228.7
NETMASK=255.255.252.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
USERCTL=no
EOF
#cat << EOF > ifcfg-br-vxlan
#BOOTPROTO=none
#DEVICE=br-vxlan
#IPADDR=172.29.224.6
#NETMASK=255.255.252.0
#NM_CONTROLLED=no
#ONBOOT=yes
#TYPE=Bridge
#USERCTL=no
#EOF
#cat << EOF > ifcfg-enp7s0
#TYPE=Ethernet
#DEVICE=enp7s0
#ONBOOT=yes
#BRIDGE=br-vxlan
#HWADDR=5a:01:03:aa:e3:d0
#EOF
#cat << EOF > ifcfg-enp8s0
#TYPE=Ethernet
#DEVICE=enp8s0
#ONBOOT=yes
#BRIDGE=br-storage
#HWADDR=5a:02:03:aa:e3:d0
#EOF
#
#cat << EOF > ifcfg-enp9s0
#TYPE=Ethernet
#DEVICE=enp9s0
#ONBOOT=yes
#BRIDGE=br-mgmt
#HWADDR=5a:00:03:aa:e3:d0
#EOF
cat << EOF > ifcfg-enp6s0
TYPE=Ethernet
DEVICE=enp6s0
ONBOOT=yes
BRIDGE=br-storage
HWADDR=5a:01:03:aa:e3:1c
EOF
cat << EOF > ifcfg-enp7s0
TYPE=Ethernet
DEVICE=enp7s0
ONBOOT=yes
BRIDGE=br-mgmt
HWADDR=5a:00:03:aa:e3:1c
EOF

BIN
terraform/vultr/p Normal file

Binary file not shown.

BIN
terraform/vultr/pl Normal file

Binary file not shown.

BIN
terraform/vultr/plan Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
terraform {
required_providers {
vultr = {
source = "vultr/vultr"
version = "2.5.0"
}
}
}
variable "vultr_api_key" {}
variable "pvt_key" {}
provider "vultr" {
api_key = var.vultr_api_key
rate_limit = 700
retry_limit = 3
}
resource "vultr_ssh_key" "terraform" {
name = "advancedlsa-ed25519"
ssh_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjvRik77vZm9Uy8mxnQakfsWLrkpwYLoVT/TdxScoWj advancedlsa_terraform"
}

View File

@ -0,0 +1,56 @@
resource "vultr_instance" "infra1" {
plan = "vdc-2c-8gb"
region = "ewr"
os_id = "448"
label = "advancedlsa infra controlplane"
tag = "advancedlsa"
hostname = "ala-infra1"
enable_ipv6 = false
backups = "disabled"
ddos_protection = false
activation_email = false
script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
ssh_key_ids = [vultr_ssh_key.terraform.id]
private_network_ids = [vultr_private_network.mgmt.id, vultr_private_network.tunnel.id, vultr_private_network.storage.id]
}
resource "vultr_instance" "compute1" {
plan = "vdc-2c-8gb"
region = "ewr"
os_id = "448"
label = "advancedlsa compute"
tag = "advancedlsa"
hostname = "ala-compute1"
enable_ipv6 = false
backups = "disabled"
ddos_protection = false
activation_email = false
script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
ssh_key_ids = [vultr_ssh_key.terraform.id]
private_network_ids = [vultr_private_network.mgmt.id, vultr_private_network.tunnel.id, vultr_private_network.storage.id]
}
resource "vultr_instance" "storage1" {
plan = "vc2-4c-8gb"
region = "ewr"
os_id = "448"
label = "advancedlsa storage"
tag = "advancedlsa"
hostname = "ala-storage1"
enable_ipv6 = false
backups = "disabled"
ddos_protection = false
activation_email = false
script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
ssh_key_ids = [vultr_ssh_key.terraform.id]
private_network_ids = [vultr_private_network.mgmt.id, vultr_private_network.storage.id]
}
resource "vultr_block_storage" "cinder" {
size_gb = 100
region = "ewr"
label = "ala-storage-cinder"
attached_to_instance = vultr_instance.storage1.id
}

View File

@ -0,0 +1,78 @@
#resource "vultr_instance" "infra2" {
# plan = "vdc-2c-8gb"
# region = "ewr"
# os_id = "448"
# label = "advancedlsa infra controlplane"
# tag = "advancedlsa"
# hostname = "ala-infra2"
# enable_ipv6 = false
# backups = "disabled"
# ddos_protection = false
# activation_email = false
# script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
# ssh_key_ids = [vultr_ssh_key.terraform.id]
# private_network_ids = [vultr_private_network.mgmt2.id, vultr_private_network.tunnel2.id, vultr_private_network.storage.id]
#}
#
#resource "vultr_instance" "compute2" {
# plan = "vdc-2vcpu-8gb"
# region = "ewr"
# os_id = "448"
# label = "advancedlsa compute"
# tag = "advancedlsa"
# hostname = "ala-compute2"
# enable_ipv6 = false
# backups = "disabled"
# ddos_protection = false
# activation_email = false
# script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
# ssh_key_ids = [vultr_ssh_key.terraform.id]
# private_network_ids = [vultr_private_network.mgmt2.id, vultr_private_network.tunnel2.id, vultr_private_network.storage.id]
#}
#
#resource "vultr_instance" "storage2" {
# plan = "vc2-4c-8gb"
# region = "ewr"
# os_id = "448"
# label = "advancedlsa storage"
# tag = "advancedlsa"
# hostname = "ala-storage2"
# enable_ipv6 = false
# backups = "disabled"
# ddos_protection = false
# activation_email = false
# script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
# ssh_key_ids = [vultr_ssh_key.terraform.id]
# private_network_ids = [vultr_private_network.mgmt2.id, vultr_private_network.storage.id]
#}
#
#resource "vultr_block_storage" "cinder2" {
# size_gb = 100
# region = "ewr"
# label = "ala-storage2-cinder"
# attached_to_instance = vultr_instance.storage2.id
#}
#
#
#resource "vultr_instance" "storage2_2" {
# plan = "vc2-4c-8gb"
# region = "ewr"
# os_id = "448"
# label = "advancedlsa storage"
# tag = "advancedlsa"
# hostname = "ala-storage2-2"
# enable_ipv6 = false
# backups = "disabled"
# ddos_protection = false
# activation_email = false
# script_id = "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd"
# ssh_key_ids = [vultr_ssh_key.terraform.id]
# private_network_ids = [vultr_private_network.mgmt2.id, vultr_private_network.storage.id]
#}
#
#resource "vultr_block_storage" "cinder2_2" {
# size_gb = 100
# region = "ewr"
# label = "ala-storage2-2-cinder"
# attached_to_instance = vultr_instance.storage2_2.id
#}

View File

@ -0,0 +1,16 @@
data "local_file" "startup" {
filename = "${path.module}/files/startup.sh"
}
resource "vultr_startup_script" "startup_ala" {
name = "advancedlsa"
script = base64encode(data.local_file.startup.content)
}
data "vultr_startup_script" "script" {
filter {
name = "name"
values = ["advancedlsa"]
}
}

View File

@ -0,0 +1,75 @@
lsblk
df -h
hostnamectl set-hostname --static ala-storage1
df -h
lsblk
pvcreate --metadatasize 2048 /dev/vdb
vgcreate cinder-volumes /dev/vdb
ip a
dnf -y install git-core
systemctl stop firewalld
systemctl mask firewalld
sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
dnf -y install git wget python36
vim .ssh/authorized_keys
ip a
journalctl -xe
cat .ssh/authorized_keys
vim .ssh/authorized_keys
vim /etc/ssh/sshd_config
systemctl restart sshd
htop
top
cd /etc/sysconfig/network-scripts/
ls
ls -altr
ip a
cp ifcfg-enp7s0 ifcfg-br-mgmt
vim ifcfg-br-mgmt
vim ifcfg-enp7s0
cp ifcfg-enp6s0 ifcfg-br-storage
vim ifcfg-br-storage
vim ifcfg-enp6s0
vim ifcfg-br-storage
systemctl restart network
ip a
top
ps aux | grep rpm
ps aux | grep dnf
ps aux | grep rpm
less +F /tmp/ansible.wa_q_9q7hardening/rpmverify.txt
ps aux
ps aux | grep rpm
man rpm
top
ps aux | grep rpm
less +F /tmp/ansible.wa_q_9q7hardening/rpmverify.txt
tail -f /tmp/ansible.wa_q_9q7hardening/rpmverify.txt
vim /etc/sysctl.conf
ip a
ping 172.29.220.11
tracepath 172.29.220.11
ip neigh show
ip a
up
uptime
reboot
cat /etc/hosts
i pa
ip a
ip a | grep 228
touch IPADDR=172.29.228.5
NETMASK=255.255.252.0
rm IPADDR\=172.29.228.5
touch /etc/cloud/cloud-init.disabled
systemctl status cinder.service
systemctl status cinder-volume
systemctl restart cinder-volume
systemctl status cinder-volume
journalctl -xeu
journalctl -xe
sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
getenforce
setenforce 0
systemctl restart cinder-volume
systemctl status cinder-volume

View File

@ -0,0 +1,442 @@
{
"version": 4,
"terraform_version": "1.1.2",
"serial": 174,
"lineage": "9182161d-2dda-d6b4-a789-8481586b33b1",
"outputs": {},
"resources": [
{
"mode": "data",
"type": "local_file",
"name": "startup",
"provider": "provider[\"registry.terraform.io/hashicorp/local\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"content": "dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo\nsystemctl stop firewalld\nsystemctl mask firewalld\nsed -i 's/enforcing/permissive/' /etc/sysconfig/selinux\nsed -i 's/enforcing/permissive/' /etc/selinux/config\n#git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible\ntouch /etc/cloud/cloud-init.disabled\n#dnf -y install https://repos.fedorapeople.org/repos/openstack/openstack-xena/rdo-release-xena-1.el8.noarch.rpm\ncat \u003c\u003c EOF | tee -a /etc/ssh/sshd_config\n\nMatch User root\n AllowAgentForwarding no\n\nEOF\n\nsystemctl restart sshd\n#cp /opt/ansible-runtime/lib/python3.6/site-packages/ansible/plugins/connection/ssh.py /etc/ansible/roles/plugins/connection/ssh.py\n",
"content_base64": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"filename": "./files/startup.sh",
"id": "58efcfcffe2afd977420573c7c6186c0abb92d0a"
},
"sensitive_attributes": []
}
]
},
{
"mode": "data",
"type": "vultr_startup_script",
"name": "script",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00",
"filter": [
{
"name": "name",
"values": [
"advancedlsa"
]
}
],
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"type": "boot"
},
"sensitive_attributes": []
}
]
},
{
"mode": "managed",
"type": "vultr_block_storage",
"name": "cinder",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"attached_to_instance": "a55972fb-5e17-4b56-85ab-8b015ae0abb6",
"cost": 10,
"date_created": "2021-12-28T22:51:10+00:00",
"id": "1b5e5064-bf92-4c80-b6a2-137eefb9fae9",
"label": "ala-storage-cinder",
"live": false,
"mount_id": "ewr-1b5e5064bf924c",
"region": "ewr",
"size_gb": 100,
"status": "active"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"vultr_instance.storage1",
"vultr_private_network.mgmt",
"vultr_private_network.storage",
"vultr_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "vultr_instance",
"name": "compute1",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"activation_email": false,
"allowed_bandwidth": 10000,
"app_id": 0,
"backups": "disabled",
"backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00",
"ddos_protection": false,
"default_password": "5X+y!6GrB})]-(8W",
"disk": 110,
"enable_ipv6": false,
"enable_private_network": false,
"features": [],
"firewall_group_id": "",
"gateway_v4": "149.28.46.1",
"hostname": "ala-compute1",
"id": "4a25c69f-091b-44bb-b259-a46a5b0066ec",
"image_id": null,
"internal_ip": "",
"iso_id": null,
"kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8aENPYTljdElpcVhtbnZJOWVxRU5oeGFtLUtmeFY0dDZ897mFhYW-f4V2aqKWYP-VHbNbRzSV7ju_JKoNSjAwJbmQaN0hOX2yjYYZ9DWm73Lr3KdMWR6xta8Y62oAx7Ir6ndh_eKFcUkjK3IVdCcbTok4xeT4llr-XooMCfmDXYml6PX2i4k-iZeGJ8GY7uG4qO_ZrO5V4LK_z1s0Q5ATR_Fu24PtQP6MPuqte-3LY61OORkIMriF_kZ-hqvSWP5_MtAmyofE",
"label": "advancedlsa compute",
"main_ip": "149.28.47.218",
"netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64",
"os_id": 448,
"plan": "vdc-2c-8gb",
"power_status": "running",
"private_network_ids": [
"6bc8c36b-c3b1-4710-9880-c8ad4a53399c",
"ec94cea3-8385-49dd-930c-b2f0a1304a16",
"52bf92d4-a2cd-4266-b8a4-5dbd4190b174"
],
"ram": 8192,
"region": "ewr",
"reserved_ip_id": null,
"script_id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"server_status": "installingbooting",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa",
"timeouts": null,
"user_data": null,
"v6_main_ip": "",
"v6_network": "",
"v6_network_size": 0,
"vcpu_count": 2
},
"sensitive_attributes": [],
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozNjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjM2MDAwMDAwMDAwMDB9fQ==",
"dependencies": [
"vultr_private_network.mgmt",
"vultr_private_network.storage",
"vultr_private_network.tunnel",
"vultr_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "vultr_instance",
"name": "infra1",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"activation_email": false,
"allowed_bandwidth": 10000,
"app_id": 0,
"backups": "disabled",
"backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00",
"ddos_protection": false,
"default_password": "!8De]*A_#?nB]4=M",
"disk": 110,
"enable_ipv6": false,
"enable_private_network": false,
"features": [],
"firewall_group_id": "",
"gateway_v4": "45.76.0.1",
"hostname": "ala-infra1",
"id": "443c7b6c-b08d-4458-9948-af695e6413a9",
"image_id": null,
"internal_ip": "",
"iso_id": null,
"kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8RlFKSlplUG9xbG9yOGkwdUJfZ1V4OVZpZXNpbjVyaDN8gdo_pi7AIJChB7p3n0mRKMhkQmyqhOtYmGc0mqUkFAymQ95Z7TirVjBes6vyaw-nTrKr2iK_BOUNVS5nvwbD9KzfotESwkMMEWLwPmMvi8dAJS3fETlYcSUzIosDvwSGC8glTfDHp3BSkyypn_vT2jkLI8yuIPvH5a75IMhrSmrbp80mVp2JrWcZMfqw8yvrxnUlTD5MC5gqtUe2ZUBujqOvD4BX25_Sxy9-X7JQUPA",
"label": "advancedlsa infra controlplane",
"main_ip": "45.76.0.85",
"netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64",
"os_id": 448,
"plan": "vdc-2c-8gb",
"power_status": "running",
"private_network_ids": [
"6bc8c36b-c3b1-4710-9880-c8ad4a53399c",
"ec94cea3-8385-49dd-930c-b2f0a1304a16",
"52bf92d4-a2cd-4266-b8a4-5dbd4190b174"
],
"ram": 8192,
"region": "ewr",
"reserved_ip_id": null,
"script_id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"server_status": "installingbooting",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa",
"timeouts": null,
"user_data": null,
"v6_main_ip": "",
"v6_network": "",
"v6_network_size": 0,
"vcpu_count": 2
},
"sensitive_attributes": [],
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozNjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjM2MDAwMDAwMDAwMDB9fQ==",
"dependencies": [
"vultr_private_network.mgmt",
"vultr_private_network.storage",
"vultr_private_network.tunnel",
"vultr_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "vultr_instance",
"name": "storage1",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"activation_email": false,
"allowed_bandwidth": 4000,
"app_id": 0,
"backups": "disabled",
"backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00",
"ddos_protection": false,
"default_password": "B9(cV}N-M?u_9*tq",
"disk": 160,
"enable_ipv6": false,
"enable_private_network": false,
"features": [],
"firewall_group_id": "",
"gateway_v4": "104.156.226.1",
"hostname": "ala-storage1",
"id": "a55972fb-5e17-4b56-85ab-8b015ae0abb6",
"image_id": null,
"internal_ip": "",
"iso_id": null,
"kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8cEk2Mk50RkNPUEE1WVY5MnpOREd2VDJfS1JEM2JVSUx8DPzPEGu1uIi2TBGexITs0qXvUkNzrj8tFRcxijcIQGDVBaayc7pMZUw_FruJsCFIxzP4ctC3mqu66WPZLORPcmLpAFy9p3y9s5AokoKdNOPf07XMjk8ieIyoH3xoen-CI9BAvFH78zkymhyBTRrYa1Pksr9pMRRfGHLAfsGE3o4b8kZ3hfP8AKWoVcQtLkDwtRbqTyy4XBXfFaDDYK0pPpx6jtMM",
"label": "advancedlsa storage",
"main_ip": "104.156.227.146",
"netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64",
"os_id": 448,
"plan": "vc2-4c-8gb",
"power_status": "running",
"private_network_ids": [
"ec94cea3-8385-49dd-930c-b2f0a1304a16",
"52bf92d4-a2cd-4266-b8a4-5dbd4190b174"
],
"ram": 8192,
"region": "ewr",
"reserved_ip_id": null,
"script_id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"server_status": "installingbooting",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa",
"timeouts": null,
"user_data": null,
"v6_main_ip": "",
"v6_network": "",
"v6_network_size": 0,
"vcpu_count": 4
},
"sensitive_attributes": [],
"private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozNjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjM2MDAwMDAwMDAwMDB9fQ==",
"dependencies": [
"vultr_private_network.mgmt",
"vultr_private_network.storage",
"vultr_ssh_key.terraform"
]
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "mgmt",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Management network",
"id": "52bf92d4-a2cd-4266-b8a4-5dbd4190b174",
"region": "ewr",
"v4_subnet": "172.29.220.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "mgmt2",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-12-05T22:09:55+00:00",
"description": "Management network",
"id": "e11bbba9-c00a-4e88-bf49-075b880692c3",
"region": "ewr",
"v4_subnet": "172.29.220.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "storage",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Storage Network",
"id": "ec94cea3-8385-49dd-930c-b2f0a1304a16",
"region": "ewr",
"v4_subnet": "172.29.228.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "tunnel",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Tunnel (VXLAN) network",
"id": "6bc8c36b-c3b1-4710-9880-c8ad4a53399c",
"region": "ewr",
"v4_subnet": "172.29.224.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "tunnel2",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-12-05T22:09:55+00:00",
"description": "Tunnel (VXLAN) network",
"id": "0ccc4d19-501e-46cb-a8de-174756d233de",
"region": "ewr",
"v4_subnet": "172.29.224.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_ssh_key",
"name": "terraform",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"id": "f57eb103-38ce-4a82-a5de-3ffcf1646792",
"name": "advancedlsa-ed25519",
"ssh_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjvRik77vZm9Uy8mxnQakfsWLrkpwYLoVT/TdxScoWj advancedlsa_terraform"
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_startup_script",
"name": "startup_ala",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00",
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"type": "boot"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.local_file.startup"
]
}
]
}
]
}

View File

@ -0,0 +1,203 @@
{
"version": 4,
"terraform_version": "1.1.2",
"serial": 169,
"lineage": "9182161d-2dda-d6b4-a789-8481586b33b1",
"outputs": {},
"resources": [
{
"mode": "data",
"type": "local_file",
"name": "startup",
"provider": "provider[\"registry.terraform.io/hashicorp/local\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"content": "dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo\nsystemctl stop firewalld\nsystemctl mask firewalld\nsed -i 's/enforcing/permissive/' /etc/sysconfig/selinux\nsed -i 's/enforcing/permissive/' /etc/selinux/config\n#git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible\ntouch /etc/cloud/cloud-init.disabled\n#dnf -y install https://repos.fedorapeople.org/repos/openstack/openstack-xena/rdo-release-xena-1.el8.noarch.rpm\ncat \u003c\u003c EOF | tee -a /etc/ssh/sshd_config\n\nMatch User root\n AllowAgentForwarding no\n\nEOF\n\nsystemctl restart sshd\n#cp /opt/ansible-runtime/lib/python3.6/site-packages/ansible/plugins/connection/ssh.py /etc/ansible/roles/plugins/connection/ssh.py\n",
"content_base64": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"filename": "./files/startup.sh",
"id": "58efcfcffe2afd977420573c7c6186c0abb92d0a"
},
"sensitive_attributes": []
}
]
},
{
"mode": "data",
"type": "vultr_startup_script",
"name": "script",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00",
"filter": [
{
"name": "name",
"values": [
"advancedlsa"
]
}
],
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"type": "boot"
},
"sensitive_attributes": []
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "mgmt",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Management network",
"id": "52bf92d4-a2cd-4266-b8a4-5dbd4190b174",
"region": "ewr",
"v4_subnet": "172.29.220.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "mgmt2",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-12-05T22:09:55+00:00",
"description": "Management network",
"id": "e11bbba9-c00a-4e88-bf49-075b880692c3",
"region": "ewr",
"v4_subnet": "172.29.220.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "storage",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Storage Network",
"id": "ec94cea3-8385-49dd-930c-b2f0a1304a16",
"region": "ewr",
"v4_subnet": "172.29.228.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "tunnel",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"description": "Tunnel (VXLAN) network",
"id": "6bc8c36b-c3b1-4710-9880-c8ad4a53399c",
"region": "ewr",
"v4_subnet": "172.29.224.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_private_network",
"name": "tunnel2",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-12-05T22:09:55+00:00",
"description": "Tunnel (VXLAN) network",
"id": "0ccc4d19-501e-46cb-a8de-174756d233de",
"region": "ewr",
"v4_subnet": "172.29.224.0",
"v4_subnet_mask": 22
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_ssh_key",
"name": "terraform",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"id": "f57eb103-38ce-4a82-a5de-3ffcf1646792",
"name": "advancedlsa-ed25519",
"ssh_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjvRik77vZm9Uy8mxnQakfsWLrkpwYLoVT/TdxScoWj advancedlsa_terraform"
},
"sensitive_attributes": [],
"private": "bnVsbA=="
}
]
},
{
"mode": "managed",
"type": "vultr_startup_script",
"name": "startup_ala",
"provider": "provider[\"registry.terraform.io/vultr/vultr\"]",
"instances": [
{
"schema_version": 0,
"attributes": {
"date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00",
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK",
"type": "boot"
},
"sensitive_attributes": [],
"private": "bnVsbA==",
"dependencies": [
"data.local_file.startup"
]
}
]
}
]
}