diff --git a/.forms.yml b/.forms.yml index 93e69be..aabe2cd 100644 --- a/.forms.yml +++ b/.forms.yml @@ -77,9 +77,9 @@ default: description: "Branch of the config Git repository." key: config_git_branch widget: cy_branch + source: config_git_repository type: string description: "The branch used by the config repository" - source: config_git_repository default: "config" required: true Cycloid: @@ -96,6 +96,20 @@ default: type: string default: "2.9" terraform: + ec2-ami: + - name: "EC2 AMI name" + description: "The AMI name to use for the EC2 machine to launch. You can use a regex like debian-11-*." + key: debian_ami_name + widget: simple_text + type: string + default: "debian-11-*" + - name: "EC2 AMI owner" + description: "The name or ID of the owner of the AMI to use" + key: debian_ami_name + widget: simple_text + type: string + default: "136693071363" + application: - name: "Extra AWS tags" description: "Dict of extra tags to add on aws resources." diff --git a/ansible/environments/default_prometheus.yml b/ansible/environments/default_prometheus.yml index aa46745..df2e775 100644 --- a/ansible/environments/default_prometheus.yml +++ b/ansible/environments/default_prometheus.yml @@ -568,7 +568,7 @@ nginx_sites_default: } 07-grafana-80: - - listen 80 default_server + - listen 80 - server_name {{ grafana_domain_name }} # - auth_basic "Restricted" # - auth_basic_user_file auth_basic/grafana @@ -630,7 +630,7 @@ nginx_sites_default_https: 10-force-https: - listen 80 default_server - - return 301 https://$server_name$request_uri + - return 301 https://$host$request_uri 12-prometheus-443: - listen 443 ssl default_server diff --git a/ansible/prometheus.yml b/ansible/prometheus.yml index 01089c9..49c4815 100644 --- a/ansible/prometheus.yml +++ b/ansible/prometheus.yml @@ -31,6 +31,10 @@ roles: # Install docker - role: geerlingguy.docker + docker_packages: + - "docker-{{ docker_edition }}" + - "docker-{{ docker_edition }}-cli" + - "containerd.io" tags: - docker @@ -42,6 +46,20 @@ # Monitoring client part - role: cycloid.telegraf + telegraf_agent_version: 1.10.0 + telegraf_plugins_default: + - plugin: cpu + config: + - percpu = true + - plugin: disk + - plugin: diskio + - plugin: mem + - plugin: net + - plugin: system + - plugin: swap + - plugin: netstat + - plugin: processes + - plugin: kernel tags: - telegraf diff --git a/ansible/requirements.yml b/ansible/requirements.yml index 89647f5..b7db188 100644 --- a/ansible/requirements.yml +++ b/ansible/requirements.yml @@ -5,7 +5,7 @@ scm: git - src: https://github.com/cycloidio/ansible-prometheus.git - version: master + version: fix_jinja_indent name: cycloid.prometheus scm: git @@ -15,7 +15,7 @@ scm: git - src: https://github.com/dj-wasabi/ansible-telegraf - version: master + version: 0.14.0 name: dj-wasabi.telegraf scm: git diff --git a/terraform/module-prometheus/ami.tf b/terraform/module-prometheus/ami.tf index aaae075..ee68320 100644 --- a/terraform/module-prometheus/ami.tf +++ b/terraform/module-prometheus/ami.tf @@ -21,6 +21,6 @@ data "aws_ami" "debian" { values = ["ebs"] } - owners = ["379101102735"] # Debian + owners = [var.debian_ami_owner] # Debian } diff --git a/terraform/module-prometheus/outputs.tf b/terraform/module-prometheus/outputs.tf index bfa0824..982cac6 100644 --- a/terraform/module-prometheus/outputs.tf +++ b/terraform/module-prometheus/outputs.tf @@ -33,7 +33,7 @@ output "rds_port" { } output "rds_database" { - value = var.create_rds_database ? aws_db_instance.grafana[0].name : "" + value = var.create_rds_database ? aws_db_instance.grafana[0].db_name : "" } output "rds_username" { diff --git a/terraform/module-prometheus/prometheus.tf b/terraform/module-prometheus/prometheus.tf index c14c023..671b0e2 100644 --- a/terraform/module-prometheus/prometheus.tf +++ b/terraform/module-prometheus/prometheus.tf @@ -108,7 +108,7 @@ resource "aws_instance" "prometheus" { resource "aws_eip" "prometheus" { instance = aws_instance.prometheus.id - vpc = true + domain = "vpc" count = var.prometheus_enable_eip ? 1 : 0 } diff --git a/terraform/module-prometheus/rds.tf b/terraform/module-prometheus/rds.tf index abf7834..0e4491d 100644 --- a/terraform/module-prometheus/rds.tf +++ b/terraform/module-prometheus/rds.tf @@ -33,7 +33,7 @@ resource "aws_db_instance" "grafana" { engine = var.rds_engine engine_version = var.rds_engine_version instance_class = var.rds_type - name = var.rds_database + db_name = var.rds_database username = var.rds_username password = var.rds_password diff --git a/terraform/module-prometheus/variables.tf b/terraform/module-prometheus/variables.tf index bafdce5..9d95308 100644 --- a/terraform/module-prometheus/variables.tf +++ b/terraform/module-prometheus/variables.tf @@ -79,7 +79,11 @@ locals { ### variable "debian_ami_name" { - default = "debian-stretch-*" + default = "debian-11-*" +} + +variable "debian_ami_owner" { + default = "136693071363" } variable "prometheus_disk_size" { diff --git a/terraform/prometheus.tf.sample b/terraform/prometheus.tf.sample index 1f779f4..644d5b4 100644 --- a/terraform/prometheus.tf.sample +++ b/terraform/prometheus.tf.sample @@ -10,6 +10,14 @@ module "prometheus" { ##################################### + #. debian_ami_name (optional): + #+ The debian name to use. You can use a regex like debian-11-*. + debian_ami_name = "debian-11-*" + + #. debian_ami_owner (optional): + #+ The name or ID of the owner of the image to use. + debian_ami_owner = "136693071363" + #. vpc_id (required): #+ Amazon VPC id on which create each components. vpc_id = data.terraform_remote_state.infrastructure.outputs.infra_vpc_id