Skip to content
Open

V2 #34

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
4c5da4e
Add scope-definition-agent-association
geisbruch Sep 16, 2025
d5a56f6
Simolify asociation process
geisbruch Sep 17, 2025
5e0eed9
Update to support metrics
geisbruch Sep 18, 2025
c13ec02
Update to support metrics
geisbruch Sep 18, 2025
2eba5e8
Add service definition
geisbruch Sep 19, 2025
2d804f3
Add readme
geisbruch Sep 19, 2025
b0ecea2
Add service-definition-agent-association
geisbruch Sep 19, 2025
d9650f7
Add readme
geisbruch Sep 19, 2025
73076e3
Fixes
geisbruch Sep 19, 2025
cf83b3e
Fix
geisbruch Sep 19, 2025
c588b2d
Fix
geisbruch Sep 19, 2025
c788da4
Fix
geisbruch Sep 19, 2025
04ec53a
Fix
geisbruch Sep 19, 2025
8696060
Update var merges
geisbruch Sep 22, 2025
07adcc6
Change git usage
geisbruch Sep 22, 2025
60d7015
Avoid circular reference
geisbruch Sep 22, 2025
c569885
feat:add infraestructure
violenti Sep 29, 2025
0d88a88
feat: add code provider
violenti Sep 29, 2025
effe7db
feat: remove lock
violenti Sep 29, 2025
7f5b93d
feat: add google
violenti Sep 29, 2025
767668f
feat: add aws
violenti Sep 29, 2025
3b289cd
feat: add prometheus
violenti Sep 29, 2025
3885509
feat: add docker server
violenti Sep 29, 2025
18de9cd
feat: add docker server
violenti Sep 29, 2025
b6d3876
feat: edit variables
violenti Sep 29, 2025
3e21122
feat: add prometheus
violenti Sep 29, 2025
2c1cde2
feat(main-modules): add v2 modules-aws
Sep 30, 2025
8106bab
feat(main-modules): change vpc name
Sep 30, 2025
3678cc8
feat(main-modules): add output files
Sep 30, 2025
8247c9c
feat(main-modules): add varieble OIDC
Sep 30, 2025
212956c
feat: add external_dns
violenti Sep 30, 2025
479afbe
feat: add external_dns
violenti Sep 30, 2025
b5d6d3b
feat: remove old file
violenti Sep 30, 2025
f1a7f9a
fear: remove old file
violenti Sep 30, 2025
aef9c74
feat: add istios and cert manager config
violenti Sep 30, 2025
b768f8a
feat(main-modules): add variable OIDC alb-controller
Sep 30, 2025
dd303ad
feat(main-modules): disable cloudwatch logs eks
Sep 30, 2025
f58406a
feat(main-modules): fix disable cloudwatch logs eks
Sep 30, 2025
ff250c8
feat(main-modules): fix disable cloudwatch logs eks
Sep 30, 2025
752d3aa
feat: edit variables values default
violenti Sep 30, 2025
98f55f6
feat: edit variables values default
violenti Sep 30, 2025
d76aedc
feat(main-modules): fix vpc configurations
Sep 30, 2025
8182c2b
feat(main-modules): fix vpc configurations
Sep 30, 2025
584a49f
feat(main-modules): decoupling providers
Sep 30, 2025
2aece6b
fix: edit variables
violenti Sep 30, 2025
5f2385d
feat(main-modules): decoupling providers
Sep 30, 2025
c6987e4
feat(main-modules): add account & users
Sep 30, 2025
846b6e1
feat(main-modules): add org_id users
Oct 1, 2025
e7cb645
feat(main-modules): rollback organization_id
Oct 1, 2025
3d0db12
feat: remove aws reference
violenti Oct 1, 2025
57a2eba
feat: change provider gcp
violenti Oct 1, 2025
2f89d32
feat: add variables
violenti Oct 1, 2025
31de24d
feat:remove gcp reference
violenti Oct 1, 2025
ee4f2a9
feat: remove variables and data
violenti Oct 1, 2025
3da0d51
feat: edit namesapce variable
violenti Oct 1, 2025
434079f
feat: rename variable name
violenti Oct 1, 2025
506898a
feat: rename variable name
violenti Oct 1, 2025
a0ae497
feat: rename variable name
violenti Oct 1, 2025
933b27a
feat: rename variable name
violenti Oct 1, 2025
29dfd51
feat: rename variable name
violenti Oct 1, 2025
dc6a061
feat:rename resource
violenti Oct 1, 2025
5a38b5d
feat:rename resource
violenti Oct 1, 2025
0d7b9c2
feat: comment accout
violenti Oct 1, 2025
f10d001
feat: edit repo ref
violenti Oct 1, 2025
a383f9a
feat(main-v2): add aws/acm
Oct 1, 2025
c85969c
feat: edit branch
violenti Oct 1, 2025
ebaf40a
feat(main-v2): add examples
Oct 1, 2025
e3439b3
feat: edit port base
violenti Oct 1, 2025
2e4e909
feat: edit port base
violenti Oct 1, 2025
e0c314e
feat: edit port base
violenti Oct 1, 2025
d00d4e1
feat: remove variables agent
violenti Oct 2, 2025
229b196
feat: edit branch agent
violenti Oct 2, 2025
b01c999
feat: edit port base
violenti Oct 2, 2025
4139293
Merge pull request #32 from nullplatform/chore/IaC-v2
sebastiancorrea81 Oct 2, 2025
2718105
feat(main-v2): add aws config null
Oct 2, 2025
0cbb032
feat: new structure
violenti Oct 2, 2025
574705a
feat: new structure
violenti Oct 2, 2025
118719f
feat(main-v2): replace workload -> commons
Oct 3, 2025
60fadbb
feat(main-v2): fix format
Oct 3, 2025
cb790b8
feat(main-v2): change referecia to release
Oct 3, 2025
fb179f4
feat(main-v2): fix aws backend example
Oct 3, 2025
66f585a
feat(main-v2): disbled terraform check
Oct 3, 2025
86757bd
Merge pull request #33 from nullplatform/feature/add-aws
sebastiancorrea81 Oct 3, 2025
31a6c62
feat(main-v2): delete fodler
Oct 3, 2025
72cc3a9
Merge pull request #35 from nullplatform/feature/add-aws
sebastiancorrea81 Oct 3, 2025
f8a651b
Create gcp
violenti Oct 3, 2025
c966b7f
feat: add gcp
violenti Oct 3, 2025
45d1e98
Update README.md
agustincelentano Oct 3, 2025
564120b
Update README.md
agustincelentano Oct 3, 2025
295d8fb
feat: add azure
violenti Oct 3, 2025
3390064
Merge branch 'v2' of github.com:nullplatform/main-terraform-modules i…
violenti Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 29 additions & 29 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,32 +34,32 @@ jobs:
chmod +x terraform-docs
mv terraform-docs /home/runner/work/terraform-docs

- name: Validate Terraform modules
run: |
set +e # Disable immediate exit on error
FAILED=0
TF_DIRS=$(git diff --name-only origin/main HEAD | xargs -n1 dirname | sort -u)
for DIR in $TF_DIRS; do
echo "Validating Terraform in directory: $DIR"
(cd $DIR; terraform fmt -check)
if [ $? -ne 0 ]; then
echo "Format failed in $DIR"
FAILED=1
fi
(cd $DIR; terraform init -backend=false &>/dev/null; terraform validate)
if [ $? -ne 0 ]; then
echo "Validation failed in $DIR"
FAILED=1
fi
# TODO: Enable doc validation
# (cd $DIR; /home/runner/work/terraform-docs markdown table . >> README.md)
# git diff $DIR/README.md
# if [ -n "$(git diff $DIR/README.md)" ]; then
# echo "Documentation failed in $DIR"
# FAILED=1
# fi
done

if [ $FAILED -ne 0 ]; then
exit 1 # Exit with error if any validation failed
fi
# - name: Validate Terraform modules
# run: |
# set +e # Disable immediate exit on error
# FAILED=0
# TF_DIRS=$(git diff --name-only origin/main HEAD | xargs -n1 dirname | sort -u)
# for DIR in $TF_DIRS; do
# echo "Validating Terraform in directory: $DIR"
# (cd $DIR; terraform fmt -check)
# if [ $? -ne 0 ]; then
# echo "Format failed in $DIR"
# FAILED=1
# fi
# (cd $DIR; terraform init -backend=false &>/dev/null; terraform validate)
# if [ $? -ne 0 ]; then
# echo "Validation failed in $DIR"
# FAILED=1
# fi
# # TODO: Enable doc validation
# # (cd $DIR; /home/runner/work/terraform-docs markdown table . >> README.md)
# # git diff $DIR/README.md
# # if [ -n "$(git diff $DIR/README.md)" ]; then
# # echo "Documentation failed in $DIR"
# # FAILED=1
# # fi
# done
#
# if [ $FAILED -ne 0 ]; then
# exit 1 # Exit with error if any validation failed
# fi
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# Local .terraform directories
.terraform/
.terraform.lock.hcl
**/.terraform/
# .tfstate files
*.tfstate
*.tfstate.*

# Crash log files
crash.log
crash.*.log

# Exclude all .tfvars files, which are likely to contain sensitive data, such as
# password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject
# to change depending on the environment.
*.tfvars
*.tfvars.json


# Logs
logs
*.log
Expand All @@ -7,6 +27,9 @@ yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

**/**/.terraform.lock.hcl
**/**/.terraform
**/**/*.state
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

Expand Down
118 changes: 111 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,120 @@
</a>
<br>
<br>
Nullplatform Terraform modules
# Nullplatform Main Terraform Modules
<br>
</h2>

# General

This repository contains an extensive list of modules used and shared by Nullplatform to simplify the configuration of Nullplatform across your ecosystem.

# Generating modules
This repository contains the **shared Terraform modules** used by Nullplatform to standardize and reuse infrastructure across all projects.

- Create your module folder
- Execute the following command into the module to generate the documentation
- Push and create a PR
---

## 📦 Repository structure

```
.
├── modules/ # All reusable Terraform modules
│ ├── moduleA/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── README.md
│ ├── moduleB/
│ └── ...
├── .github/
│ └── workflows/ # CI/CD workflows, validations, etc.
├── .gitignore
└── README.md # This file
```

---

## 🚀 How to use the modules

1. In your Terraform project, add the dependency to the desired module:

```hcl
module "my_module" {
source = "git@github.com:nullplatform/main-terraform-modules.git//modules/moduleA"
# or: source = "github.com/nullplatform/main-terraform-modules//modules/moduleA?ref=vX.Y.Z"

# Module parameters:
var1 = "value1"
var2 = "value2"
# ...
}
```

2. Run Terraform commands:

```bash
terraform init
terraform plan
terraform apply
```

3. Check the module *outputs* so you can use them in other resources.

---

## 📄 Module documentation

Each module inside `modules/` should include its own `README.md` describing:

- Purpose of the module.
- Variables (`variables.tf`) with descriptions, types, and default values.
- Outputs (`outputs.tf`) with explanations.
- Usage example (small HCL snippet).
- Notes about internal dependencies, restrictions, or compatibility.

Additionally, you can generate automatic documentation (e.g., using `terraform-docs`) if integrated into your pipeline.

---

## 🧪 Validations and CI/CD workflows

In `.github/workflows/` you may include pipelines such as:

- Terraform syntax validation.
- `terraform fmt` for automatic formatting.
- `terraform validate` for logical checks.
- Automatic documentation generation for modules.

---

## 📌 Versioning / Releases

- Use **semantic tags** (`vX.Y.Z`) to version the repository.
- Ideally, modules should keep compatibility across minor versions. Breaking changes should bump the major version.
- The main `README.md` can indicate the recommended (or stable) version.

---

## 🛠️ Best practices

- Keep each module isolated: one module = one clear responsibility.
- Avoid unnecessary cross-references between modules.
- Clearly document required vs optional variables.
- Tag and version the repository before using it in production.
- Centralize repeated logic in these modules to avoid duplication.

---

## 👥 Contributions

If you want to add or modify a module:

1. Create a `feature/` or `fix/` branch.
2. Add tests or validations if applicable.
3. Update or generate documentation for the affected module.
4. Open a Pull Request for review.

---

## 🔗 Useful resources

- [Terraform Docs](https://www.terraform.io/docs)
- [terraform-docs](https://github.com/terraform-docs/terraform-docs)
- Nullplatform internal manuals (if available)
Loading