AWS_REGION ?= eu-central-1

help:
	@echo 'dostępne cele make:'
	@grep PHONY: Makefile | cut -d: -f2 | sed '1d;s/^/make/'

.PHONY: galaxy                   # Lokalnie - insyalacja ról Ansible
galaxy:
	(cd playbooks && ansible-galaxy install -p roles -r roles/requirements.yml)

.PHONY: lint                     # Lokalnie - weryfikacja plików
lint: galaxy
	python3 --version
	ansible-playbook --version
	ansible-playbook --syntax-check playbooks/*.yml
	(cd playbooks && ansible-inventory --list|jq -r .aws_ec2)
	git ls-files *.yml | xargs yamllint
	ansible-lint playbooks/*.yml
	packer -version
	packer validate ec2.pkr.hcl
	shellcheck scripts/*.sh
	pylint *.py


.PHONY: ec2-image                # AWS EC2 - Utworzenie obrazu maszyny wirtualnej za pomocą narzędzia Packer
ifndef AWS_ACCESS_KEY_ID
	$(error AWS_ACCESS_KEY_ID należy wyeksportować jako zmienną środowiskową)
endif
ifndef AWS_SECRET_ACCESS_KEY
	$(error AWS_SECRET_ACCESS_KEY należy wyeksportować jako zmienną środowiskową)
endif
ec2-image: galaxy lint
	packer build -force ec2.pkr.hcl

