Skip to content

Commit

Permalink
Peg VLAN to git branch (#173)
Browse files Browse the repository at this point in the history
* feat: Added module example

* fix: renamed modules

* fix: moved provider location?

* fix: init --migrate

* fix: how did this get rolled back?

* fix: aaaaa

* fix: blocks ?

* fix: blocks ?

* fix: blocks ?

* fix: remove dhcp.tf for now

* fix: testing changes

* feat: qemu-kvm module

* fix: rip forgot provisioner block

* fix: type in node config

* fix: type in node config

* fix: type in node config

* feat: more vm params set now

* fix: int -> number

* fix: Added 'G' to disk, 4096 ram for example VM.

* fix: disable qemu for now

* Introduce the common config (#40)

* feat: update .gitignore

* feat: add base and test VMs

* fix: update variable names to match existing scheme

* feat: add missing terraform pre-commit

* fix: update workflow

* fix: re-add tflint

* Use forked Proxmox API and Terraform provider with HA container support (#44)

* Add script to manually install Proxmox plugin

- Add Bash script to download and install forked version of Terraform
  Proxmox plugin
- Add script to before_script stage of GitLab CI config
- Update minimum Proxmox plugin version to ensure we get the newer
  forked plugin

* Add Proxmox provider setup to GitHub CI

* Use Bash to run Proxmox provider script

Can't guarantee that permissions will be right to run the script
directly.

* Specify full local path to Proxmox provider script

There's a default `working-directory` statement but I don't know if it's
working.

* Flail some more

- Add an `ls` to see where this stuff is actually running

* Fix Proxmox provider script name

oh wow it really was that stupid wasn't it

* Clone the Proxmox provider repo

* Use HTTPS to clone repo

* Remove check parameter for `terraform fmt`

This causes GitHub action to fail when formatting changes are required.

* Comment out version check for now

The install process finds my fork of the plugin as version v0.0.0.
Instead of making a new tag in the forked repo, just comment out the
version for now.  (Hopefully this works.)

* Fix plugin path, required_providers

* Run Proxmox plugin install with Bash in GitLab too

* Fix GitHub pre-commit pipeline

* Fix pre-commit complaining about my script lol

* Make sure proxmox-api-go updates get installed

* Use go get instead

* Add hastate parameter to default container and VM

* Clean Go module cache before installing

* Specify proxmox-api-go version

* Change plugin provider name

* Remove extraneous step

* Run terraform init in proxmox provider script

* Remove -migrate-state parameter to terraform init

It broke the custom provider location stuff

* Try local terraform.d directory

* Try the directory Terraform complains about

* Revert to original module to test

I want to see where the modules are being installed now...

* Fix provider directory

I forgot about a cd...

* Cleanup directory location before creating

* Try the plugin directory again

* Re-add newer version requirement

* Try the documented plugin dir again

Also force the newer version again to make sure we're getting the
modified plugin.

* Fix working directory for pre-commit GitHub CI

* fix: truthy on -> no

* Also copy provider into module directories

* Fix variable ordering

* Probably fix module path

* why u no work

* no quotes doofus

* NEWLINE

Co-authored-by: Aaron Saderholm <[email protected]>

* Switch to upstream repos (#45)

* Possibly fix builds? (#46)

* Switch back to my fork for testing

* Don't manually install my fork of proxmox-api-go

* Switch back to upstream

* Only run create, Ansible, destroy on main branch

* Be more specific regarding rules

Changes tested using CI linter at
https://gitlab.magevent.net/magfest/bridges/-/ci/lint

* Rsyslog-server base playbook (#41)

* feat: update .gitignore

* feat: add base and test VMs

* fix: update variable names to match existing scheme

* feat: add missing terraform pre-commit

* fix: update workflow

* fix: re-add tflint

* feat: add playbook for rsyslog

* fix: move back to telmate proxmox provider

* feat: add firewall rules and cron entry to compress logs

* Remove terraform provider script (#51)

* fix: remove now outdated script

* fix: remove old pre-commit workflot option

* feat: setup timesyncd (#54)

* feat: add ufw rule for ssh and enable (#53)

* Add rsyslog to common ubuntu role for all clients (#49)

* feat: add client rsyslog config

* feat: update module to be a template

* fix: update IP in vault

* feat: add cups server buildout (#56)

* Remove remnants of Terraform plugin hack (#58)

The script has been gone for a while, but both CI systems are still
trying to run it.

* TOPS-100 First pass at subnet / domain logic

* TOPS-100 First pass at subnet / domain logic

* TOPS-100  not

* TOPS-100 rebase fluke

* TOPS-100 Updated Telemate/proxmox var in a few places

* TOPS-100 simplify python subnet file

* TOPS-100 ??? CIDR math

* TOPS-100 Maybe?

* TOPS-100 Maybe?

* TOPS-100 cleanup

* TOPS-100 Add domain local

* TOPS-100 Scratch stackstorm

* TOPS-100 missing $

* test: Make count dynamic

* Testing instance increments

* Add labels to module

* Testing

* IP off by 1

* Multiple branch support ?

* Template round 1

* DEPLOY_BRANCHES var

* Inventory template path issue

* Remove stackstorm

* Refactor IP+CIDR into two seperate variables

* More testing

* Whoops

* Deploy branch fixes

* Deploy branch fixes

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Messing with deploy branches

* Add hosts.ini as artifact

* This one weird trick, everyone will hate it.

* This one weird trick, everyone will hate it.

* Stub out DNS, NTP, TFTP

* Stub out DNS, NTP, TFTP

* Expand inventory

* Fix lxc-tftp

* Fix bugs

* terraform fmt

* TOPS-102 Removed spurious comment.

* Spacing fix

* TOPS-102 Add Zabbix TF entry

* TOPS-102 Memory allocations are now a optional parameter for LXC containers

* TOPS-95 Add Graylog LCX TF entry

* Branch VLAN table

* syntax error

* Add 25, 26

* terraform-fmt

Co-authored-by: claughinghouse <[email protected]>
Co-authored-by: yesrod <[email protected]>
  • Loading branch information
3 people authored Dec 31, 2022
1 parent 00bf46b commit e23b803
Show file tree
Hide file tree
Showing 13 changed files with 19 additions and 12 deletions.
2 changes: 1 addition & 1 deletion terraform/lxc-asterisk.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "asterisk" {
{
ip = cidrhost(var.subnet, 12)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-cups.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "cups" {
{
ip = cidrhost(var.subnet, 13)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-dhcp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "dhcp" {
{
ip = cidrhost(var.subnet, 4)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-dns.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module "dns" {
{
ip = cidrhost(var.subnet, 110 + (count.index * 10))
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-graylog.tf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module "graylog" {
{
ip = cidrhost(var.subnet, 129)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-laptops.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "laptops" {
{
ip = cidrhost(var.subnet, 69)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
},
{
ip = "10.101.69.${split(".", var.subnet)[2] - 20}"
Expand Down
2 changes: 1 addition & 1 deletion terraform/lxc-nginx.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "nginx-proxy" {
{
ip = cidrhost(var.subnet, 30)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-ntp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module "ntp" {
{
ip = cidrhost(var.subnet, 6 + count.index)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-rsyslog.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "rsyslog" {
{
ip = cidrhost(var.subnet, 130)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
# THIS DOESN'T WORK RIGHT NOW:
Expand Down
2 changes: 1 addition & 1 deletion terraform/lxc-smtp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "smtp" {
{
ip = cidrhost(var.subnet, 23)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-tftp.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "tftp" {
{
ip = cidrhost(var.subnet, 9)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
2 changes: 1 addition & 1 deletion terraform/lxc-zabbix.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module "zabbix" {
{
ip = cidrhost(var.subnet, 201)
cidr = local.cidr_suffix
tag = "22"
tag = local.branch_vlan
}
]
}
7 changes: 7 additions & 0 deletions terraform/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ variable "subnet" {
locals {
cidr_suffix = element(split("/", var.subnet), 1)
domain = "${var.branch}.magevent.net"
vlan_mapping = {
prod = 22,
main = 23,
dev = 24,
aaron-dev = 25
}
branch_vlan = lookup(local.vlan_mapping, lower(var.branch), 26)
}

resource "local_file" "inventory" {
Expand Down

0 comments on commit e23b803

Please sign in to comment.