96 lines
3.4 KiB
Django/Jinja
96 lines
3.4 KiB
Django/Jinja
{%- set plans_install = environ('PLAN_INSTALL_LIST').split(',') -%}
|
|
{%- set plans_delete = environ('PLAN_DELETE_LIST').split(',') %}
|
|
|
|
# Automatic Content Generated
|
|
|
|
generate_documentation: ## Generate Terraform Documentation
|
|
generate_documentation:
|
|
{% for plan_name in plans_install %}
|
|
$(DOCKER_COMPOSE_DEV_TOOLS) run --rm --remove-orphans terraform_docs {{ plan_name }} --config=./.config/.terraform-docs.yml
|
|
{% endfor %}
|
|
|
|
terraform_terrascan: ## Terrascan Terraform
|
|
terraform_terrascan:
|
|
$(TERRASCAN_RUN) scan -i terraform --verbose --config-path=./.terrascan_config.toml {% for plan_name in plans_install %} --iac-dir={{ plan_name }} {% endfor %}
|
|
|
|
format: ## Format all Terraform files using "terraform fmt"
|
|
format:
|
|
{% for plan_name in plans_install %}
|
|
@$(MAKE) --no-print-directory terraform_format CURRENT_DIR="{{ plan_name }}"
|
|
{% endfor %}
|
|
|
|
trivy: ## Terraform Trivy
|
|
trivy:
|
|
{% for plan_name in plans_install %}
|
|
$(TRIVY_RUN) config {{ plan_name }} --config=./.config/.trivy.yaml --skip-dirs .terraform
|
|
{% endfor %}
|
|
|
|
validate: ## Validate all Terraform files using "terraform validate"
|
|
validate:
|
|
{% for plan_name in plans_install %}
|
|
@$(MAKE) --no-print-directory terraform_validate CURRENT_DIR="{{ plan_name }}"
|
|
{% endfor %}
|
|
|
|
lint: ## Check that good naming practices are respected in Terraform files (using tflint)
|
|
lint:
|
|
$(TFLINT_RUN) --init
|
|
{% for plan_name in plans_install %}
|
|
@$(MAKE) --no-print-directory terraform_lint CURRENT_DIR="{{ plan_name }}"
|
|
{% endfor %}
|
|
|
|
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
init_{{ slug}}: ## Init AWS {{ plan_name }} layer
|
|
init_{{ slug }}:
|
|
@$(MAKE) --no-print-directory CURRENT_DIR={{ plan_name }} terraform_init_commands
|
|
{% endfor %}
|
|
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
plan_{{ slug}}: ## Plan AWS {{ plan_name }} layer
|
|
plan_{{ slug }}:
|
|
@$(MAKE) --no-print-directory CURRENT_DIR={{ plan_name }} terraform_plan_commands
|
|
{% endfor %}
|
|
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
install_{{ slug }}: ## Install AWS {{ plan_name }} layer
|
|
install_{{ slug }}:
|
|
@$(MAKE) --no-print-directory CURRENT_DIR={{ plan_name }} terraform_install_commands
|
|
{% endfor %}
|
|
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
destroy_{{ slug }}: ## Uninstall AWS {{ plan_name }} layer
|
|
destroy_{{ slug }}:
|
|
@$(MAKE) --no-print-directory CURRENT_DIR={{ plan_name }} terraform_destroy_commands
|
|
{% endfor %}
|
|
|
|
|
|
init_all: ## Init all AWS layers
|
|
init_all:
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
@$(MAKE) --no-print-directory init_{{ slug }}
|
|
{% endfor %}
|
|
|
|
plan_all: ## Plan all AWS layers
|
|
plan_all:
|
|
{% for plan_name in plans_install %}
|
|
{% set path = plan_name.split('/') %}
|
|
{% set slug = plan_name.replace('/',"_") %}
|
|
@$(MAKE) --no-print-directory plan_{{ slug }}
|
|
{% endfor %}
|
|
|
|
install_all: ## Install all AWS layers
|
|
install_all: {% for plan_name in plans_install %}{% set slug = plan_name.replace('/',"_") %}{% set path = plan_name.split('/') %}install_{{ slug }} {% endfor %}
|
|
|
|
|
|
destroy_all: ## Uninstall all layers
|
|
destroy_all: {% for plan_name in plans_delete %}{% set slug = plan_name.replace('/',"_") %}{% set path = plan_name.split('/') %}delete_{{ slug }} {% endfor %}
|