mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 07:01:56 +03:00
ef34e41349
* packer jenkins update
68 lines
1.5 KiB
Terraform
68 lines
1.5 KiB
Terraform
data "aws_ami" "ubuntu" {
|
|
most_recent = true
|
|
|
|
filter {
|
|
name = "name"
|
|
values = ["ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*"]
|
|
}
|
|
|
|
filter {
|
|
name = "virtualization-type"
|
|
values = ["hvm"]
|
|
}
|
|
|
|
owners = ["099720109477"] # Canonical
|
|
}
|
|
|
|
resource "aws_instance" "jenkins-instance" {
|
|
ami = data.aws_ami.ubuntu.id
|
|
instance_type = "t2.small"
|
|
|
|
# the VPC subnet
|
|
subnet_id = aws_subnet.main-public-1.id
|
|
|
|
# the security group
|
|
vpc_security_group_ids = [aws_security_group.jenkins-securitygroup.id]
|
|
|
|
# the public SSH key
|
|
key_name = aws_key_pair.mykeypair.key_name
|
|
|
|
# user data
|
|
user_data = data.template_cloudinit_config.cloudinit-jenkins.rendered
|
|
|
|
# iam instance profile
|
|
iam_instance_profile = aws_iam_instance_profile.jenkins-role.name
|
|
}
|
|
|
|
resource "aws_ebs_volume" "jenkins-data" {
|
|
availability_zone = "eu-west-1a"
|
|
size = 20
|
|
type = "gp2"
|
|
tags = {
|
|
Name = "jenkins-data"
|
|
}
|
|
}
|
|
|
|
resource "aws_volume_attachment" "jenkins-data-attachment" {
|
|
device_name = var.INSTANCE_DEVICE_NAME
|
|
volume_id = aws_ebs_volume.jenkins-data.id
|
|
instance_id = aws_instance.jenkins-instance.id
|
|
skip_destroy = true
|
|
}
|
|
|
|
resource "aws_instance" "app-instance" {
|
|
count = var.APP_INSTANCE_COUNT
|
|
ami = var.APP_INSTANCE_AMI
|
|
instance_type = "t2.micro"
|
|
|
|
# the VPC subnet
|
|
subnet_id = aws_subnet.main-public-1.id
|
|
|
|
# the security group
|
|
vpc_security_group_ids = [aws_security_group.app-securitygroup.id]
|
|
|
|
# the public SSH key
|
|
key_name = aws_key_pair.mykeypair.key_name
|
|
}
|
|
|