Add ansible layout and playbooks to provision nodes

This commit is contained in:
Neil Hanlon 2021-12-29 18:02:43 -05:00
parent 0e740ce123
commit f513725182
Signed by: neil
GPG Key ID: 705BC21EC3C70F34
33 changed files with 711 additions and 86 deletions

5
.ansible-lint Normal file
View File

@ -0,0 +1,5 @@
warn_list:
- internal-error
- syntax-check
skip_list:
- '204'

6
.direnv/aliases/doctl Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
doctl ()
{
/home/neil/bin/doctl --context advancedlsa $@
}
doctl $@

35
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,35 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: pretty-format-json
- id: detect-private-key
- repo: local
hooks:
- id: ansible-lint
name: Ansible-lint
description: This hook runs ansible-lint.
entry: ansible-lint --force-color
language: python
# do not pass files to ansible-lint, see:
# https://github.com/ansible/ansible-lint/issues/611
pass_filenames: false
always_run: true
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.26.0
hooks:
- id: yamllint
files: \.(yaml|yml)$
types: [file, yaml]
entry: yamllint

13
.yamllint Normal file
View File

@ -0,0 +1,13 @@
---
extends: default
rules:
line-length:
max: 160
level: warning
ignore: |
.travis.yml
.github

25
ansible/.gitignore vendored Normal file
View File

@ -0,0 +1,25 @@
#keep tmp folder empty
tmp/*
!tmp/Readme.md
#keep folder holding public roles empty
roles/public/*
!roles/public/Readme.md
#keep folder holding ansible collections empty
collections/*
!README.md
# Ignore all vaults
playbooks/vars/vaults/*
!playbooks/vars/vaults/README.md
# Ignore hidden configs
playbooks/templates/hidden/*
!playbooks/templates/hidden/README.md
# keep the inventory generic
inventories/staging/hosts.ini
inventories/production/hosts.ini
*.retry

88
ansible/README.md Normal file
View File

@ -0,0 +1,88 @@
# Ansible
Ansible playbooks, roles, modules, etc will come here. This wiki will reflect the layout, structure, and potential standards that should be followed when making playbooks and roles.
Each playbook should have comments or a name descriptor that explains what the playbook does or how it is used. If not available, README-... files can be used in place, especially in the case of adhoc playbooks that take input. Documentation for each playbook/role does not have to be on this wiki. Comments or README's should be sufficient.
## Management Node Structure
```
.
├── ansible.cfg
├── collections
├── files -> playbooks/files
├── handlers -> playbooks/handlers
├── inventories
│ ├── production
│ | ├── group_vars
│ | ├── host_vars
│ | hosts
│ ├── staging
│ ├── devellopment
├── pkistore
├── playbooks
│ ├── files
│ ├── handlers
│ ├── tasks
│ ├── templates
│ ├── vars
├── roles/local
│ └── <role-name>
│ └── requirements.yml
├── tasks -> playbooks/tasks
├── templates -> playbooks/templates
└── vars -> playbooks/vars
```
## Structure
What each folder represents
```
files -> As the name implies, non-templated files go here. Files that are
dropped somewhere on the file system should be laid out in a way
that represents the file system (eg. ./etc/sysconfig/)
group_vars -> Group Variables go here if they are not fulfilled in an inventory.
Recommended that group_vars be used over inventory vars.
host_vars -> Host variables go here
inventory -> All static inventories go here
roles -> Custom roles can go here
tasks -> Common tasks come here
templates -> Templates go here
vars -> Global variables that are called with vars_files go here. This
```
## Current Playbook Naming
```
init-* -> Starting infrastructure playbooks that run solo or import other
playbooks that start with import-
adhoc -> These playbooks are one-off playbooks that can be used on the CLI or
in AWX. These are typically for basic tasks.
import -> Playbooks that should be imported from the top level playbooks
role-* -> These playbooks call roles specifically for infrastructure tasks.
Playbooks that do not call a role should be named init or adhoc based
on their usage.
```
### Pre-commits / linting
When pushing to your own forked version of this repository, pre-commit must run to verify your changes. They must be passing to be pushed up. This is an absolute requirement, even for roles.
When the linter passes, the push will complete and you will be able to open a PR.
## General YAML Formatting
It is recommended that each yaml file starts with `---` and ends with `...`. This can help with linting and also stating an obvious end to the file.
### Plugin and Formatting Assistance
The YAML format is extremely easy and can be generally followed without much to think about, the same goes with ansible's syntax. Ideally, your editor can assist with these things. If you are a vim user, the following plugins can be useful:
```
stephpy/vim-yaml
pearofducks/ansible-vim
vim-syntastic/syntastic
```
These can be installed using [vim-plug](https://github.com/junegunn/vim-plug).

76
ansible/ansible.cfg Normal file
View File

@ -0,0 +1,76 @@
[defaults]
########################################
# Display settings
########################################
# Output display
force_color = 1
nocows = True
# Note: http://docs.ansible.com/ansible/intro_configuration.html#ansible-managed
ansible_managed = Ansible managed
#ansible_managed = Ansible managed - {file} on {host}
# Warn when ansible think it is better to use module.
# Note: http://docs.ansible.com/ansible/intro_configuration.html#id88
command_warnings = True
# Enable this to debug tasks calls
display_args_to_stdout = False
display_skipped_hosts = false
########################################
# Playbook settings
########################################
# Default strategy
strategy = free
# Number of hosts processed in parallel
forks = 20
########################################
# Behaviour settings
########################################
# Make role variables private
retry_files_enabled = True
# Fact options
gathering = smart
#gathering = !all
#gathering = smart,network,hardware,virtual,ohai,facter
#gathering = network,!hardware,virtual,!ohai,!facter
# facts caching
#fact_caching_connection = tmp/facts_cache
#fact_caching = json
fact_caching = memory
fact_caching_timeout = 1800
# Enable or disable logs
# Note put to false in prod
no_log = False
########################################
# Common destinations
########################################
log_path = tmp/ansible.log
known_hosts = tmp/known_hosts
roles_path = roles/local:roles/public
collections_paths = collections
remote_user=root
[inventory]
enable_plugins=vultr
[ssh_connection]
ssh_args = "-i /home/neil/dev/personal/advancedlsa/terraform/id_ed25519"

View File

@ -0,0 +1 @@
Leave empty, this is a placeholder folder for ansible collections

1
ansible/files Symbolic link
View File

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

1
ansible/handlers Symbolic link
View File

@ -0,0 +1 @@
playbooks/handlers

View File

@ -1,8 +1,13 @@
#!/bin/bash #!/bin/bash
iface_mgmt=$(ip addr | grep 172.29.220 | awk '{print $NF}') MGMT_SUBNET='172.29.220'
iface_vxlan=$(ip addr | grep 172.29.224 | awk '{print $NF}') VXLAN_SUBNET='172.29.224'
iface_storage=$(ip addr | grep 172.29.228 | awk '{print $NF}') STORAGE_SUBNET='172.29.228'
iface_mgmt=$(ip addr | grep $MGMT_SUBNET | awk '{print $NF}')
iface_vxlan=$(ip addr | grep $VXLAN_SUBNET | awk '{print $NF}')
iface_storage=$(ip addr | grep $STORAGE_SUBNET | awk '{print $NF}')
if [[ -z "${iface_mgmt}" ]]; then if [[ -z "${iface_mgmt}" ]]; then
echo "can't find mgmt interface" echo "can't find mgmt interface"
@ -28,11 +33,41 @@ if [[ -z "${iface_mgmt}" && ( -z "${iface_vxlan}" || -z "${iface_storage}" ) ]];
exit 1 exit 1
fi fi
HOSTNAME="$(hostname)"
hostpart=''
if [[ "$HOSTNAME" =~ "infra" ]]; then
let hostpart='5'
cat << EOF > ifcfg-br-mgmt\:10
DEVICE=br-mgmt:10
ONPARENT=on
IPADDR=${MGMT_SUBNET}.10
PREFIX=22
EOF
cat << EOF > ifcfg-br-mgmt\:11
DEVICE=br-mgmt:11
ONPARENT=on
IPADDR=${MGMT_SUBNET}.11
PREFIX=22
EOF
fi
if [[ "${HOSTNAME}" =~ "compute" ]]; then
let hostpart='6'
fi
if [[ "${HOSTNAME}" =~ "storage" ]]; then
let hostpart='7'
fi
cat << EOF > ifcfg-br-mgmt cat << EOF > ifcfg-br-mgmt
BOOTPROTO=none BOOTPROTO=none
DEVICE=br-mgmt DEVICE=br-mgmt
NM_CONTROLLED=no NM_CONTROLLED=no
IPADDR=172.29.220.5 IPADDR=${MGMT_SUBNET}.${hostpart}
NETMASK=255.255.252.0 NETMASK=255.255.252.0
ONBOOT=yes ONBOOT=yes
TYPE=Bridge TYPE=Bridge
@ -47,43 +82,34 @@ BRIDGE=br-mgmt
HWADDR=$(ip link show ${iface_mgmt} | awk '/link\/ether/{print $2}') HWADDR=$(ip link show ${iface_mgmt} | awk '/link\/ether/{print $2}')
EOF EOF
cat << EOF > ifcfg-br-mgmt\:10
DEVICE=br-mgmt:10 if [[ "${HOSTNAME}" =~ "storage" || ! -z "${iface_storage}" ]]; then
ONPARENT=on
IPADDR=172.29.220.10 cat << EOF > ifcfg-br-storage
PREFIX=22 BOOTPROTO=none
DEVICE=br-storage
IPADDR=${STORAGE_SUBNET}.${hostpart}
NETMASK=255.255.252.0
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
USERCTL=no
EOF EOF
cat << EOF > ifcfg-br-mgmt\:11 cat << EOF > ifcfg-${iface_storage}
DEVICE=br-mgmt:11 TYPE=Ethernet
ONPARENT=on DEVICE=${iface_storage}
IPADDR=172.29.220.11 ONBOOT=yes
PREFIX=22 BRIDGE=br-storage
HWADDR=$(ip link show ${iface_storage} | awk '/link\/ether/{print $2}')
EOF EOF
#cat << EOF > ifcfg-br-storage fi
#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 cat << EOF > ifcfg-br-vxlan
BOOTPROTO=none BOOTPROTO=none
DEVICE=br-vxlan DEVICE=br-vxlan
IPADDR=172.29.224.5 IPADDR=${VXLAN_SUBNET}.${hostpart}
NETMASK=255.255.252.0 NETMASK=255.255.252.0
NM_CONTROLLED=no NM_CONTROLLED=no
ONBOOT=yes ONBOOT=yes

View File

@ -0,0 +1,7 @@
---
- name: restart_sshd
service:
name: sshd
state: restarted
...

View File

@ -0,0 +1 @@
storage1

View File

@ -0,0 +1,53 @@
---
- name: Configure system for running OpenStack Ansible
hosts: "{{ host }}"
become: true
handlers:
- import_tasks: handlers/main.yml
pre_tasks:
- name: Check if ansible cannot be run here
stat:
path: /etc/no-ansible
register: no_ansible
- name: Verify if we can run ansible
assert:
that:
- "not no_ansible.stat.exists"
success_msg: "We are able to run on this node"
fail_msg: "/etc/no-ansible exists - skipping run on this node"
tasks:
- name: Loading Variables from OS Common
import_tasks: tasks/common_vars.yml
- name: Disable Firewalld
ansible.builtin.systemd:
name: firewalld.service
masked: yes
enabled: no
force: yes
state: stopped
- name: Set SELinux to permissive
selinux:
policy: targeted
state: permissive
- name: Ensure packages are upgraded
dnf:
name: "*"
state: latest
post_tasks:
- name: Touching run file that ansible has ran here
file:
path: /var/log/ansible.run
state: touch
mode: '0644'
owner: root
group: root
...

View File

@ -0,0 +1,16 @@
---
- name: Standard System Configuration Variables
block:
- name: Loading Variables from OS Common
include_vars: "{{ item }}"
with_items:
- "{{ ansible_distribution }}.yml"
- name: Check if system is EFI
stat:
path: "/sys/firmware/efi"
register: efi_installed
always:
- debug: msg="Variables are now loaded"
...

View File

@ -0,0 +1,5 @@
# Variables for our common module for RedHat
---
bin_su: /usr/bin/su
bin_sudo: /usr/bin/sudo

View File

@ -0,0 +1 @@
Placeholder for public roles installed via galaxy

View File

@ -0,0 +1,7 @@
---
collections:
- name: community.general
- name: ansible.posix
- name: ansible.utils
- name: netbox.netbox

1
ansible/tasks Symbolic link
View File

@ -0,0 +1 @@
playbooks/tasks

1
ansible/templates Symbolic link
View File

@ -0,0 +1 @@
playbooks/templates

1
ansible/vars Symbolic link
View File

@ -0,0 +1 @@
playbooks/vars

2
ansible/vultr.yml Normal file
View File

@ -0,0 +1,2 @@
---
plugin: vultr

View File

@ -1,17 +1,28 @@
dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo dnf -y upgrade &
HOSTNAME="$(hostname)"
if [[ $(hostname) =~ infra ]]; then
dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo
git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible
fi
# Always stop and mask firewalld
systemctl stop firewalld systemctl stop firewalld
systemctl mask firewalld systemctl mask firewalld
# Always set to permissive.
sed -i 's/enforcing/permissive/' /etc/sysconfig/selinux sed -i 's/enforcing/permissive/' /etc/sysconfig/selinux
sed -i 's/enforcing/permissive/' /etc/selinux/config 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
# Disable agent forwarding, in case user forwards agent, so as not to confuse ansible
cat << EOF | tee -a /etc/ssh/sshd_config
Match User root Match User root
AllowAgentForwarding no AllowAgentForwarding no
EOF EOF
systemctl restart sshd systemctl restart sshd
#cp /opt/ansible-runtime/lib/python3.6/site-packages/ansible/plugins/connection/ssh.py /etc/ansible/roles/plugins/connection/ssh.py
touch /etc/cloud/cloud-init.disabled || exit 1
true

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,8 +2,8 @@ resource "vultr_instance" "infra1" {
plan = "vdc-2c-8gb" plan = "vdc-2c-8gb"
region = "ewr" region = "ewr"
os_id = "448" os_id = "448"
label = "advancedlsa infra controlplane" label = "infra1"
tag = "advancedlsa" tag = "advancedlsa infra"
hostname = "ala-infra1" hostname = "ala-infra1"
enable_ipv6 = false enable_ipv6 = false
backups = "disabled" backups = "disabled"
@ -18,8 +18,8 @@ resource "vultr_instance" "compute1" {
plan = "vdc-2c-8gb" plan = "vdc-2c-8gb"
region = "ewr" region = "ewr"
os_id = "448" os_id = "448"
label = "advancedlsa compute" label = "compute1"
tag = "advancedlsa" tag = "advancedlsa compute"
hostname = "ala-compute1" hostname = "ala-compute1"
enable_ipv6 = false enable_ipv6 = false
backups = "disabled" backups = "disabled"
@ -34,8 +34,8 @@ resource "vultr_instance" "storage1" {
plan = "vc2-4c-8gb" plan = "vc2-4c-8gb"
region = "ewr" region = "ewr"
os_id = "448" os_id = "448"
label = "advancedlsa storage" label = "storage1"
tag = "advancedlsa" tag = "advancedlsa storage"
hostname = "ala-storage1" hostname = "ala-storage1"
enable_ipv6 = false enable_ipv6 = false
backups = "disabled" backups = "disabled"

View File

@ -1,7 +1,7 @@
{ {
"version": 4, "version": 4,
"terraform_version": "1.1.2", "terraform_version": "1.1.2",
"serial": 174, "serial": 198,
"lineage": "9182161d-2dda-d6b4-a789-8481586b33b1", "lineage": "9182161d-2dda-d6b4-a789-8481586b33b1",
"outputs": {}, "outputs": {},
"resources": [ "resources": [
@ -14,10 +14,10 @@
{ {
"schema_version": 0, "schema_version": 0,
"attributes": { "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": "dnf -y upgrade \u0026\n\nHOSTNAME=\"$(hostname)\"\n\nif [[ $(hostname) =~ infra ]]; then\n dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo\n git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible\nfi\n\n# Always stop and mask firewalld\nsystemctl stop firewalld\nsystemctl mask firewalld\n\n# Always set to permissive.\nsed -i 's/enforcing/permissive/' /etc/sysconfig/selinux\nsed -i 's/enforcing/permissive/' /etc/selinux/config\n\n# Disable agent forwarding, in case user forwards agent, so as not to confuse ansible\ncat \u003c\u003c EOF | tee -a /etc/ssh/sshd_config\nMatch User root\n AllowAgentForwarding no\n\nEOF\n\nsystemctl restart sshd\n\ntouch /etc/cloud/cloud-init.disabled || exit 1\ntrue\n",
"content_base64": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "content_base64": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"filename": "./files/startup.sh", "filename": "./files/startup.sh",
"id": "58efcfcffe2afd977420573c7c6186c0abb92d0a" "id": "0e17daa7c5419279a2f47d3cdb3975d4e8729cdf"
}, },
"sensitive_attributes": [] "sensitive_attributes": []
} }
@ -33,7 +33,7 @@
"schema_version": 0, "schema_version": 0,
"attributes": { "attributes": {
"date_created": "2021-10-30T21:37:07+00:00", "date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00", "date_modified": "2021-12-29T22:04:12+00:00",
"filter": [ "filter": [
{ {
"name": "name", "name": "name",
@ -44,7 +44,7 @@
], ],
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd", "id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa", "name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "script": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"type": "boot" "type": "boot"
}, },
"sensitive_attributes": [] "sensitive_attributes": []
@ -60,7 +60,7 @@
{ {
"schema_version": 0, "schema_version": 0,
"attributes": { "attributes": {
"attached_to_instance": "a55972fb-5e17-4b56-85ab-8b015ae0abb6", "attached_to_instance": "b39eaea4-d1e3-48a8-a7f2-235dae0dcdfc",
"cost": 10, "cost": 10,
"date_created": "2021-12-28T22:51:10+00:00", "date_created": "2021-12-28T22:51:10+00:00",
"id": "1b5e5064-bf92-4c80-b6a2-137eefb9fae9", "id": "1b5e5064-bf92-4c80-b6a2-137eefb9fae9",
@ -96,23 +96,23 @@
"app_id": 0, "app_id": 0,
"backups": "disabled", "backups": "disabled",
"backups_schedule": [], "backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00", "date_created": "2021-12-29T22:18:45+00:00",
"ddos_protection": false, "ddos_protection": false,
"default_password": "5X+y!6GrB})]-(8W", "default_password": "6T=m5CQv]$2zBUJM",
"disk": 110, "disk": 110,
"enable_ipv6": false, "enable_ipv6": false,
"enable_private_network": false, "enable_private_network": false,
"features": [], "features": [],
"firewall_group_id": "", "firewall_group_id": "",
"gateway_v4": "149.28.46.1", "gateway_v4": "149.28.32.1",
"hostname": "ala-compute1", "hostname": "ala-compute1",
"id": "4a25c69f-091b-44bb-b259-a46a5b0066ec", "id": "452fbbfb-f28e-40bc-b501-dc1c4b51013e",
"image_id": null, "image_id": null,
"internal_ip": "", "internal_ip": "",
"iso_id": null, "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", "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8dnp1Z0R2aEcwYWR6bk54WWNlUHRCemE3WnNCaHF2a3Z8lPFY7sSsB-aVm3rMP3HhtB1bTQGd_6PxB9NfPaLQlWEk5pmK-XrKAPsQ5e2LS-D4SOuzUFTboMX2sZiaJ-v6SEG7euaSwuzqeBZEW5uxuM9r1nqIls2UGLHHwFSE-QmNRMH97CmP5THOeV3TqVKDGgpxlrfQ_bOaboCh3GcbBbH94LG3U4n1idr1AuFsvlt-juqYrvn9LkszsQ",
"label": "advancedlsa compute", "label": "compute1",
"main_ip": "149.28.47.218", "main_ip": "149.28.33.91",
"netmask_v4": "255.255.254.0", "netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64", "os": "Rocky Linux x64",
"os_id": 448, "os_id": 448,
@ -133,7 +133,7 @@
"f57eb103-38ce-4a82-a5de-3ffcf1646792" "f57eb103-38ce-4a82-a5de-3ffcf1646792"
], ],
"status": "active", "status": "active",
"tag": "advancedlsa", "tag": "advancedlsa compute",
"timeouts": null, "timeouts": null,
"user_data": null, "user_data": null,
"v6_main_ip": "", "v6_main_ip": "",
@ -166,23 +166,23 @@
"app_id": 0, "app_id": 0,
"backups": "disabled", "backups": "disabled",
"backups_schedule": [], "backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00", "date_created": "2021-12-29T22:18:45+00:00",
"ddos_protection": false, "ddos_protection": false,
"default_password": "!8De]*A_#?nB]4=M", "default_password": "K5g?JD%vAoQsMSEZ",
"disk": 110, "disk": 110,
"enable_ipv6": false, "enable_ipv6": false,
"enable_private_network": false, "enable_private_network": false,
"features": [], "features": [],
"firewall_group_id": "", "firewall_group_id": "",
"gateway_v4": "45.76.0.1", "gateway_v4": "207.246.92.1",
"hostname": "ala-infra1", "hostname": "ala-infra1",
"id": "443c7b6c-b08d-4458-9948-af695e6413a9", "id": "e706954d-e296-429c-928f-fd8809e48197",
"image_id": null, "image_id": null,
"internal_ip": "", "internal_ip": "",
"iso_id": null, "iso_id": null,
"kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8RlFKSlplUG9xbG9yOGkwdUJfZ1V4OVZpZXNpbjVyaDN8gdo_pi7AIJChB7p3n0mRKMhkQmyqhOtYmGc0mqUkFAymQ95Z7TirVjBes6vyaw-nTrKr2iK_BOUNVS5nvwbD9KzfotESwkMMEWLwPmMvi8dAJS3fETlYcSUzIosDvwSGC8glTfDHp3BSkyypn_vT2jkLI8yuIPvH5a75IMhrSmrbp80mVp2JrWcZMfqw8yvrxnUlTD5MC5gqtUe2ZUBujqOvD4BX25_Sxy9-X7JQUPA", "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8VUI1REdGUXFhM1NjX2tBa0JUTldla2xLTGRlNFRheTV8WgaFw8-KPQir6AngKs7wa3afkn0dupBWw0vnZJ5-qzyj6AvdNaYRahvGeyqrOYKgJ552yqPn5fH6XQrxlS90n-CagM8Wo3XKs8ClBMlAJEXBtp9kadV0GNuyTJjW67ZiZAutpMPbUL21vsPW14HfR9kmB6pLP_abFxcQu9Zgw5A8ejAYj1Y_c-8bnBQl-VS_uOvDjU5JM0M",
"label": "advancedlsa infra controlplane", "label": "infra1",
"main_ip": "45.76.0.85", "main_ip": "207.246.93.170",
"netmask_v4": "255.255.254.0", "netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64", "os": "Rocky Linux x64",
"os_id": 448, "os_id": 448,
@ -203,7 +203,7 @@
"f57eb103-38ce-4a82-a5de-3ffcf1646792" "f57eb103-38ce-4a82-a5de-3ffcf1646792"
], ],
"status": "active", "status": "active",
"tag": "advancedlsa", "tag": "advancedlsa infra",
"timeouts": null, "timeouts": null,
"user_data": null, "user_data": null,
"v6_main_ip": "", "v6_main_ip": "",
@ -236,23 +236,23 @@
"app_id": 0, "app_id": 0,
"backups": "disabled", "backups": "disabled",
"backups_schedule": [], "backups_schedule": [],
"date_created": "2021-12-28T22:50:31+00:00", "date_created": "2021-12-29T22:18:45+00:00",
"ddos_protection": false, "ddos_protection": false,
"default_password": "B9(cV}N-M?u_9*tq", "default_password": "!t5Lpkhd.{DEP!QX",
"disk": 160, "disk": 160,
"enable_ipv6": false, "enable_ipv6": false,
"enable_private_network": false, "enable_private_network": false,
"features": [], "features": [],
"firewall_group_id": "", "firewall_group_id": "",
"gateway_v4": "104.156.226.1", "gateway_v4": "45.77.78.1",
"hostname": "ala-storage1", "hostname": "ala-storage1",
"id": "a55972fb-5e17-4b56-85ab-8b015ae0abb6", "id": "b39eaea4-d1e3-48a8-a7f2-235dae0dcdfc",
"image_id": null, "image_id": null,
"internal_ip": "", "internal_ip": "",
"iso_id": null, "iso_id": null,
"kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8cEk2Mk50RkNPUEE1WVY5MnpOREd2VDJfS1JEM2JVSUx8DPzPEGu1uIi2TBGexITs0qXvUkNzrj8tFRcxijcIQGDVBaayc7pMZUw_FruJsCFIxzP4ctC3mqu66WPZLORPcmLpAFy9p3y9s5AokoKdNOPf07XMjk8ieIyoH3xoen-CI9BAvFH78zkymhyBTRrYa1Pksr9pMRRfGHLAfsGE3o4b8kZ3hfP8AKWoVcQtLkDwtRbqTyy4XBXfFaDDYK0pPpx6jtMM", "kvm": "https://my.vultr.com/subs/vps/novnc/api.php?data=djJ8bDhJNk5faDNScVlUYVNWdzZFQWZhWm5tSG40emxFWVF8Ko-ZlONHHxB4_nT6QtxJHYnzYQIxGTJQI7gOrOoUS40pZHeMqPFUeF3UZI7lcXSams2_c9FvLEN2c4-YxXhEyKzop2NUUNJkdYsT_S7FlxFG5-HN7JWW1sGfGVWCTlAJNezl2s2MMnnf7s0L8TcKHjpvCaG1bIwI8rz3gFpx0eow5DLa0sGvJ0LeMemHu0moLP_UOQncbeR_pw",
"label": "advancedlsa storage", "label": "storage1",
"main_ip": "104.156.227.146", "main_ip": "45.77.78.203",
"netmask_v4": "255.255.254.0", "netmask_v4": "255.255.254.0",
"os": "Rocky Linux x64", "os": "Rocky Linux x64",
"os_id": 448, "os_id": 448,
@ -272,7 +272,7 @@
"f57eb103-38ce-4a82-a5de-3ffcf1646792" "f57eb103-38ce-4a82-a5de-3ffcf1646792"
], ],
"status": "active", "status": "active",
"tag": "advancedlsa", "tag": "advancedlsa storage",
"timeouts": null, "timeouts": null,
"user_data": null, "user_data": null,
"v6_main_ip": "", "v6_main_ip": "",
@ -424,10 +424,10 @@
"schema_version": 0, "schema_version": 0,
"attributes": { "attributes": {
"date_created": "2021-10-30T21:37:07+00:00", "date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00", "date_modified": "2021-12-29T22:04:12+00:00",
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd", "id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa", "name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "script": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"type": "boot" "type": "boot"
}, },
"sensitive_attributes": [], "sensitive_attributes": [],

View File

@ -1,7 +1,7 @@
{ {
"version": 4, "version": 4,
"terraform_version": "1.1.2", "terraform_version": "1.1.2",
"serial": 169, "serial": 190,
"lineage": "9182161d-2dda-d6b4-a789-8481586b33b1", "lineage": "9182161d-2dda-d6b4-a789-8481586b33b1",
"outputs": {}, "outputs": {},
"resources": [ "resources": [
@ -14,10 +14,10 @@
{ {
"schema_version": 0, "schema_version": 0,
"attributes": { "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": "dnf -y upgrade \u0026\n\nHOSTNAME=\"$(hostname)\"\n\nif [[ $(hostname) =~ infra ]]; then\n dnf -y install git-core git wget python36 chrony openssh-server python3-devel sudo\n git clone --branch feature/rocky8 --single-branch https://github.com/NeilHanlon/openstack-ansible.git /opt/openstack-ansible\nfi\n\n# Always stop and mask firewalld\nsystemctl stop firewalld\nsystemctl mask firewalld\n\n# Always set to permissive.\nsed -i 's/enforcing/permissive/' /etc/sysconfig/selinux\nsed -i 's/enforcing/permissive/' /etc/selinux/config\n\n# Disable agent forwarding, in case user forwards agent, so as not to confuse ansible\ncat \u003c\u003c EOF | tee -a /etc/ssh/sshd_config\nMatch User root\n AllowAgentForwarding no\n\nEOF\n\nsystemctl restart sshd\n\ntouch /etc/cloud/cloud-init.disabled || exit 1\ntrue\n",
"content_base64": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "content_base64": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"filename": "./files/startup.sh", "filename": "./files/startup.sh",
"id": "58efcfcffe2afd977420573c7c6186c0abb92d0a" "id": "0e17daa7c5419279a2f47d3cdb3975d4e8729cdf"
}, },
"sensitive_attributes": [] "sensitive_attributes": []
} }
@ -33,7 +33,7 @@
"schema_version": 0, "schema_version": 0,
"attributes": { "attributes": {
"date_created": "2021-10-30T21:37:07+00:00", "date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00", "date_modified": "2021-12-29T22:04:12+00:00",
"filter": [ "filter": [
{ {
"name": "name", "name": "name",
@ -44,13 +44,255 @@
], ],
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd", "id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa", "name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "script": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"type": "boot" "type": "boot"
}, },
"sensitive_attributes": [] "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": [
{
"status": "tainted",
"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=djJ8b2xHYkRMX1pKc2tIUS1xaEpTbUdoc0phQy1fOE0xTFJ8r96uD5bifmn6k5UjwBUfcrh5RyqOAY33WdW_VopVd9NE5sdFOW1lZ59vshprwzLZgR7Ktz5i8d5lN7T9BQxUhR5qkJjbTcDwGWZhq587Xpqm-Fdm6j6mWXZYD2WD0At4M0X3sDX480afSB09NEtjIf8-oWth2NXf21tCHk7Q50JyTw5Q3Y0rtUQQTjLUeVUzsRvF9ULhb1aFuiuF2xKxgLLFCiOV",
"label": "compute1",
"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": "ok",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa compute",
"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": [
{
"status": "tainted",
"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=djJ8NUZiYTZzWVhkcktCZ280bUxYZjRjT3BpenVldVpWbGR8LKBl4_Ffhah-Bfis-2WdhHGDsYRM5oAyvd71TwhWKKORvBX7gyEWt4cWblCCSi-hXcy7UqMBIhUBeoUiWf0uUw_s85kQNN0U-1kVKpyPbCh_tU1tBdGsS9elaS9FLpPO8_6Sq4t5meXPT5nAIllF1bU3gRKZPRiny8JW3zCYaJWFic4o_wDVKkf64fce0DPVroFF1GEDGgAwpNMWERD-7-UenuGU-BFIMDvPJBGtN9M",
"label": "infra1",
"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": "ok",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa infra",
"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": [
{
"status": "tainted",
"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=djJ8STllY2pYZUpUdFIyUnQ5aXZZVWZ3SXl0elh3ZndMcFJ8s5EGXA4mcXPIBXiLl5sRkh10zUE4KPpwXCxEJLnmkiRjiLdV19F-6OLZ8RFwiKGOC7LVwnDeSRQXpyxM5q5AnFcIK5rhphmeCnwDRu_e-Y6iXJAcXqbSTywUXWHdj9zv-gyLHpa75O3Jgo2TXk-BwEEXmxLEoQ6Ah1CLqBsJ3PFV4zgd-MJrEP5KZHpXYQi4ciTusqVZBfm0ty7qGI80bZl5FU6-",
"label": "storage1",
"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": "ok",
"snapshot_id": null,
"ssh_key_ids": [
"f57eb103-38ce-4a82-a5de-3ffcf1646792"
],
"status": "active",
"tag": "advancedlsa storage",
"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", "mode": "managed",
"type": "vultr_private_network", "type": "vultr_private_network",
@ -185,10 +427,10 @@
"schema_version": 0, "schema_version": 0,
"attributes": { "attributes": {
"date_created": "2021-10-30T21:37:07+00:00", "date_created": "2021-10-30T21:37:07+00:00",
"date_modified": "2021-12-05T22:23:54+00:00", "date_modified": "2021-12-29T22:04:12+00:00",
"id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd", "id": "0eeabbfb-2d2f-4797-a85a-82d3e1f235bd",
"name": "advancedlsa", "name": "advancedlsa",
"script": "ZG5mIC15IGluc3RhbGwgZ2l0LWNvcmUgZ2l0IHdnZXQgcHl0aG9uMzYgY2hyb255IG9wZW5zc2gtc2VydmVyIHB5dGhvbjMtZGV2ZWwgc3VkbwpzeXN0ZW1jdGwgc3RvcCBmaXJld2FsbGQKc3lzdGVtY3RsIG1hc2sgZmlyZXdhbGxkCnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc3lzY29uZmlnL3NlbGludXgKc2VkIC1pICdzL2VuZm9yY2luZy9wZXJtaXNzaXZlLycgL2V0Yy9zZWxpbnV4L2NvbmZpZwojZ2l0IGNsb25lIC0tYnJhbmNoIGZlYXR1cmUvcm9ja3k4IC0tc2luZ2xlLWJyYW5jaCBodHRwczovL2dpdGh1Yi5jb20vTmVpbEhhbmxvbi9vcGVuc3RhY2stYW5zaWJsZS5naXQgL29wdC9vcGVuc3RhY2stYW5zaWJsZQp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQKI2RuZiAteSBpbnN0YWxsIGh0dHBzOi8vcmVwb3MuZmVkb3JhcGVvcGxlLm9yZy9yZXBvcy9vcGVuc3RhY2svb3BlbnN0YWNrLXhlbmEvcmRvLXJlbGVhc2UteGVuYS0xLmVsOC5ub2FyY2gucnBtCmNhdCA8PCBFT0YgfCB0ZWUgLWEgL2V0Yy9zc2gvc3NoZF9jb25maWcKCk1hdGNoIFVzZXIgcm9vdAogIEFsbG93QWdlbnRGb3J3YXJkaW5nIG5vCgpFT0YKCnN5c3RlbWN0bCByZXN0YXJ0IHNzaGQKI2NwIC9vcHQvYW5zaWJsZS1ydW50aW1lL2xpYi9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9hbnNpYmxlL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkgL2V0Yy9hbnNpYmxlL3JvbGVzL3BsdWdpbnMvY29ubmVjdGlvbi9zc2gucHkK", "script": "ZG5mIC15IHVwZ3JhZGUgJgoKSE9TVE5BTUU9IiQoaG9zdG5hbWUpIgoKaWYgW1sgJChob3N0bmFtZSkgPX4gaW5mcmEgXV07IHRoZW4KICAgIGRuZiAteSBpbnN0YWxsIGdpdC1jb3JlIGdpdCB3Z2V0IHB5dGhvbjM2IGNocm9ueSBvcGVuc3NoLXNlcnZlciBweXRob24zLWRldmVsIHN1ZG8KICAgIGdpdCBjbG9uZSAtLWJyYW5jaCBmZWF0dXJlL3JvY2t5OCAtLXNpbmdsZS1icmFuY2ggaHR0cHM6Ly9naXRodWIuY29tL05laWxIYW5sb24vb3BlbnN0YWNrLWFuc2libGUuZ2l0IC9vcHQvb3BlbnN0YWNrLWFuc2libGUKZmkKCiMgQWx3YXlzIHN0b3AgYW5kIG1hc2sgZmlyZXdhbGxkCnN5c3RlbWN0bCBzdG9wIGZpcmV3YWxsZApzeXN0ZW1jdGwgbWFzayBmaXJld2FsbGQKCiMgQWx3YXlzIHNldCB0byBwZXJtaXNzaXZlLgpzZWQgLWkgJ3MvZW5mb3JjaW5nL3Blcm1pc3NpdmUvJyAvZXRjL3N5c2NvbmZpZy9zZWxpbnV4CnNlZCAtaSAncy9lbmZvcmNpbmcvcGVybWlzc2l2ZS8nIC9ldGMvc2VsaW51eC9jb25maWcKCiMgRGlzYWJsZSBhZ2VudCBmb3J3YXJkaW5nLCBpbiBjYXNlIHVzZXIgZm9yd2FyZHMgYWdlbnQsIHNvIGFzIG5vdCB0byBjb25mdXNlIGFuc2libGUKY2F0IDw8IEVPRiB8IHRlZSAtYSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpNYXRjaCBVc2VyIHJvb3QKICBBbGxvd0FnZW50Rm9yd2FyZGluZyBubwoKRU9GCgpzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCgp0b3VjaCAvZXRjL2Nsb3VkL2Nsb3VkLWluaXQuZGlzYWJsZWQgfHwgZXhpdCAxCnRydWUK",
"type": "boot" "type": "boot"
}, },
"sensitive_attributes": [], "sensitive_attributes": [],