IaC for a Tangled Knot
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

First commit, basic dev infra working

+100
+43
.gitignore
··· 1 + # Created by https://www.toptal.com/developers/gitignore/api/ansible,terraform 2 + # Edit at https://www.toptal.com/developers/gitignore?templates=ansible,terraform 3 + 4 + ### Ansible ### 5 + *.retry 6 + 7 + ### Terraform ### 8 + # Local .terraform directories 9 + **/.terraform/* 10 + 11 + # .tfstate files 12 + *.tfstate 13 + *.tfstate.* 14 + 15 + # Crash log files 16 + crash.log 17 + crash.*.log 18 + 19 + # Exclude all .tfvars files, which are likely to contain sensitive data, such as 20 + # password, private keys, and other secrets. These should not be part of version 21 + # control as they are data points which are potentially sensitive and subject 22 + # to change depending on the environment. 23 + *.tfvars 24 + *.tfvars.json 25 + 26 + # Ignore override files as they are usually used to override resources locally and so 27 + # are not checked in 28 + override.tf 29 + override.tf.json 30 + *_override.tf 31 + *_override.tf.json 32 + 33 + # Include override files you do wish to add to version control using negated pattern 34 + # !example_override.tf 35 + 36 + # Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan 37 + # example: *tfplan* 38 + 39 + # Ignore CLI configuration files 40 + .terraformrc 41 + terraform.rc 42 + 43 + # End of https://www.toptal.com/developers/gitignore/api/ansible,terraform
+1
README.md
··· 1 + # Tangled Knot IAC
+23
infra/dev/.terraform.lock.hcl
··· 1 + # This file is maintained automatically by "tofu init". 2 + # Manual edits may be lost in future updates. 3 + 4 + provider "registry.opentofu.org/lxc/incus" { 5 + version = "1.0.0" 6 + constraints = "1.0.0" 7 + hashes = [ 8 + "h1:60Pdmig/YGfoubppeZzkOLbEJO5r14N49pg30et4nkE=", 9 + "zh:05b9c9d6934cf657653b4e75fb31845bad3d4c65f9a87a710e65405521bec1b4", 10 + "zh:12ce15d9234ec68fff961dda83f0c7b2c2ed2011fc816f00b3cd3b5a408080d8", 11 + "zh:14ab1a712d78037013dfc16d8d3b36f3b479aca2f93e222e9befca880c180d1e", 12 + "zh:180b4a2bcaa66f9b8e3c660500c0f5e20c5449bdfb8b20384693f3358ccc8a55", 13 + "zh:3f38c9ceb5f2a1e6a5ef82af158e1d211032408b8bdc71b42ccb7fbc722335cb", 14 + "zh:42c640a13186c9a02a2fbd75846ab31f24e722ff5270f0133519108a60a38258", 15 + "zh:44e5f5595029914d5fe1db2175d1ba33fcbdc4cb551702570846e236bcaf1aa2", 16 + "zh:5971304c486478d27062d80b61f49559e39164053458015ece42683aeff47c08", 17 + "zh:72113b3aff6f77b177369010f16147bf6c4269420c4db32ad9a6d63182a10874", 18 + "zh:774e607d54a5889c612b8d8a1ca576355d0c5e1921ea1d8fb9a18191791f440b", 19 + "zh:aa722a1262ee8df025140ebe594514ddcf03cc37f1bd008249401fc9bbd7f6e2", 20 + "zh:df91629cf7098cee682ffce3670786b849a672e81dc7f6b547db65a60e2bb261", 21 + "zh:e5e6581eb12db0bf8bde2acdbec8dcc305a1b67cb8e1ae90967ca1eebbf9a3e3", 22 + ] 23 + }
+33
infra/dev/main.tf
··· 1 + terraform { 2 + required_providers { 3 + incus = { 4 + source = "lxc/incus" 5 + version = "1.0.0" 6 + } 7 + } 8 + } 9 + 10 + provider "incus" {} 11 + 12 + resource "incus_instance" "knot0" { 13 + name = "nudo0" 14 + project = "tangled" 15 + image = "images:ubuntu/24.04" 16 + type = "virtual-machine" 17 + 18 + config = { 19 + "boot.autostart" = "false" 20 + "limits.cpu" = 2 21 + "limits.memory" = "2GB" 22 + } 23 + 24 + profiles = ["default"] 25 + 26 + wait_for { 27 + type = "ipv4" 28 + } 29 + } 30 + 31 + output "knot0_ipv4" { 32 + value = incus_instance.knot0.ipv4_address 33 + }