diff --git a/ops/ansible/apache2-debian.yml b/ops/ansible/apache2-debian.yml new file mode 120000 index 0000000..e9a5a05 --- /dev/null +++ b/ops/ansible/apache2-debian.yml @@ -0,0 +1 @@ +/home/s0dy/Documents/dot/ansible/apache2-debian.yml \ No newline at end of file diff --git a/ops/ansible/mariadb-debian.yml b/ops/ansible/mariadb-debian.yml new file mode 120000 index 0000000..6a3c1a6 --- /dev/null +++ b/ops/ansible/mariadb-debian.yml @@ -0,0 +1 @@ +/home/s0dy/Documents/dot/ansible/mariadb-debian.yml \ No newline at end of file diff --git a/ops/ansible/master.yml b/ops/ansible/master.yml new file mode 120000 index 0000000..5c80649 --- /dev/null +++ b/ops/ansible/master.yml @@ -0,0 +1 @@ +/home/s0dy/Documents/dot/ansible/master.yml \ No newline at end of file diff --git a/ops/ansible/php7.0-debian.yml b/ops/ansible/php7.0-debian.yml new file mode 120000 index 0000000..ac5752f --- /dev/null +++ b/ops/ansible/php7.0-debian.yml @@ -0,0 +1 @@ +/home/s0dy/Documents/dot/ansible/php7.0-debian.yml \ No newline at end of file diff --git a/ops/ansible/roles b/ops/ansible/roles new file mode 120000 index 0000000..c5bbaf6 --- /dev/null +++ b/ops/ansible/roles @@ -0,0 +1 @@ +/home/s0dy/Documents/dot/ansible/roles \ No newline at end of file diff --git a/ops/terraform/.terraform/plugins/linux_amd64/lock.json b/ops/terraform/.terraform/plugins/linux_amd64/lock.json new file mode 100755 index 0000000..64ed6ed --- /dev/null +++ b/ops/terraform/.terraform/plugins/linux_amd64/lock.json @@ -0,0 +1,3 @@ +{ + "aws": "786d8c636203ec6487ab391ee5e63550182c417ae3fb9666cc9d25f1ed062fdf" +} \ No newline at end of file diff --git a/ops/terraform/.terraform/plugins/linux_amd64/terraform-provider-aws_v1.41.0_x4 b/ops/terraform/.terraform/plugins/linux_amd64/terraform-provider-aws_v1.41.0_x4 new file mode 100755 index 0000000..818748e Binary files /dev/null and b/ops/terraform/.terraform/plugins/linux_amd64/terraform-provider-aws_v1.41.0_x4 differ diff --git a/ops/terraform/key-pair.tf b/ops/terraform/key-pair.tf new file mode 100644 index 0000000..4a78c2c --- /dev/null +++ b/ops/terraform/key-pair.tf @@ -0,0 +1,12 @@ +########################### +# KEY-PAIR +########################### + +variable "aws_ssh_key" { + default = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClFxq0O91KsqPLYWeONMjta9p5XsoP/LjzE1jUayr4n5c7uUb/ND9rab9lD+6DK0fhvN58xfZ4YdqPA1HUubaZtE21TIqL6zcOJ8c2z55iBEpzN6c9x6bmS+ZmOrWMUWsweZa1WWBz6UMDvrCRy+yDysndGOLbHZbjtYPv9Zg/9aCunVYDbQIfStRl9YwrR/wtIAyC5PsXJMoaoGrkh5Ac24upkPXCfm2MDirZuKfeMFh+5gSEzSfXXS1OKSVfXrxh9uL+TyqL1MCOn8QSxHVvdaLql6p0FXZrU53RXg5fVz0OwX2W1iSi/7xJiTcXoqZH7RhsH+gLfi1GdljQ2hCj s0dy@thinkpad" +} + +resource "aws_key_pair" "terraform_ec2_key" { + key_name = "terraform_ec2_key" + public_key = "${var.aws_ssh_key}" +} diff --git a/ops/terraform/main.tf b/ops/terraform/main.tf new file mode 100644 index 0000000..e530eab --- /dev/null +++ b/ops/terraform/main.tf @@ -0,0 +1,45 @@ +########################### +# ELASTIC IP +########################### + +data "aws_eip" "webserver-ip" { + public_ip = "35.180.10.123" +} + +resource "aws_eip_association" "webserver-eip" { + instance_id = "${aws_instance.webserver.id}" + allocation_id = "${data.aws_eip.webserver-ip.id}" +} + + +########################### +# INSTANCE WEBSERVER +########################### + +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" "webserver" { + ami = "${data.aws_ami.ubuntu.id}" + instance_type = "t2.micro" + key_name = "${aws_key_pair.terraform_ec2_key.id}" + vpc_security_group_ids = ["${aws_security_group.allow_ssh.id}"] + + tags { + Name = "hifive-webserver" + } +} diff --git a/ops/terraform/provider.tf b/ops/terraform/provider.tf new file mode 100644 index 0000000..137f3ef --- /dev/null +++ b/ops/terraform/provider.tf @@ -0,0 +1,10 @@ +########################### +# PROVIDER +########################### + +provider "aws" { + access_key = "${var.aws_access_key_id}" + secret_key = "${var.aws_secret_access_key}" + region = "${var.aws_region}" +} + diff --git a/ops/terraform/secrets.tf b/ops/terraform/secrets.tf new file mode 100644 index 0000000..218c8b7 --- /dev/null +++ b/ops/terraform/secrets.tf @@ -0,0 +1,15 @@ +########################### +# VARS +########################### + +variable "aws_access_key_id" { + default = "AKIAIQG7G3XFFHYZRFWQ" +} + +variable "aws_secret_access_key" { + default = "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" +} + +variable "aws_region" { + default = "eu-west-3" +} diff --git a/ops/terraform/security-groups.tf b/ops/terraform/security-groups.tf new file mode 100644 index 0000000..35cdf2d --- /dev/null +++ b/ops/terraform/security-groups.tf @@ -0,0 +1,15 @@ +########################### +#SECURITY GROUP +########################### + +resource "aws_security_group" "allow_ssh" { + name = "terraform-example-instance" + + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } +} + diff --git a/ops/terraform/terraform.tfstate b/ops/terraform/terraform.tfstate new file mode 100644 index 0000000..927fff9 --- /dev/null +++ b/ops/terraform/terraform.tfstate @@ -0,0 +1,245 @@ +{ + "version": 3, + "terraform_version": "0.11.10", + "serial": 1, + "lineage": "4559bbe1-495e-5de2-cb83-77e241ef9eac", + "modules": [ + { + "path": [ + "root" + ], + "outputs": {}, + "resources": { + "aws_eip_association.webserver-eip": { + "type": "aws_eip_association", + "depends_on": [ + "aws_instance.webserver", + "data.aws_eip.webserver-ip" + ], + "primary": { + "id": "eipassoc-0edb0ab1c83127191", + "attributes": { + "allocation_id": "eipalloc-0f61e902f5f680dc0", + "id": "eipassoc-0edb0ab1c83127191", + "instance_id": "i-08b55950401cc9976", + "network_interface_id": "eni-099550d3263efebcf", + "private_ip_address": "172.31.39.96", + "public_ip": "35.180.10.123" + }, + "meta": {}, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + }, + "aws_instance.webserver": { + "type": "aws_instance", + "depends_on": [ + "aws_key_pair.terraform_ec2_key", + "aws_security_group.allow_ssh", + "data.aws_ami.ubuntu" + ], + "primary": { + "id": "i-08b55950401cc9976", + "attributes": { + "ami": "ami-0a2ca21adb4a04084", + "arn": "arn:aws:ec2:eu-west-3:116854918046:instance/i-08b55950401cc9976", + "associate_public_ip_address": "true", + "availability_zone": "eu-west-3c", + "cpu_core_count": "1", + "cpu_threads_per_core": "1", + "credit_specification.#": "1", + "credit_specification.0.cpu_credits": "standard", + "disable_api_termination": "false", + "ebs_block_device.#": "0", + "ebs_optimized": "false", + "ephemeral_block_device.#": "0", + "get_password_data": "false", + "iam_instance_profile": "", + "id": "i-08b55950401cc9976", + "instance_state": "running", + "instance_type": "t2.micro", + "ipv6_addresses.#": "0", + "key_name": "terraform_ec2_key", + "monitoring": "false", + "network_interface.#": "0", + "network_interface_id": "eni-099550d3263efebcf", + "password_data": "", + "placement_group": "", + "primary_network_interface_id": "eni-099550d3263efebcf", + "private_dns": "ip-172-31-39-96.eu-west-3.compute.internal", + "private_ip": "172.31.39.96", + "public_dns": "ec2-35-180-98-19.eu-west-3.compute.amazonaws.com", + "public_ip": "35.180.98.19", + "root_block_device.#": "1", + "root_block_device.0.delete_on_termination": "true", + "root_block_device.0.iops": "100", + "root_block_device.0.volume_id": "vol-0a7dfd6d0b2e29b1f", + "root_block_device.0.volume_size": "8", + "root_block_device.0.volume_type": "gp2", + "security_groups.#": "1", + "security_groups.3705046556": "terraform-example-instance", + "source_dest_check": "true", + "subnet_id": "subnet-6308d02e", + "tags.%": "1", + "tags.Name": "hifive-webserver", + "tenancy": "default", + "volume_tags.%": "0", + "vpc_security_group_ids.#": "1", + "vpc_security_group_ids.3229956732": "sg-0d04233f1196d8c4c" + }, + "meta": { + "e2bfb730-ecaa-11e6-8f88-34363bc7c4c0": { + "create": 600000000000, + "delete": 1200000000000, + "update": 600000000000 + }, + "schema_version": "1" + }, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + }, + "aws_key_pair.terraform_ec2_key": { + "type": "aws_key_pair", + "depends_on": [], + "primary": { + "id": "terraform_ec2_key", + "attributes": { + "fingerprint": "24:c0:bd:83:25:d9:bb:12:0e:88:ab:d0:17:d9:07:74", + "id": "terraform_ec2_key", + "key_name": "terraform_ec2_key", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClFxq0O91KsqPLYWeONMjta9p5XsoP/LjzE1jUayr4n5c7uUb/ND9rab9lD+6DK0fhvN58xfZ4YdqPA1HUubaZtE21TIqL6zcOJ8c2z55iBEpzN6c9x6bmS+ZmOrWMUWsweZa1WWBz6UMDvrCRy+yDysndGOLbHZbjtYPv9Zg/9aCunVYDbQIfStRl9YwrR/wtIAyC5PsXJMoaoGrkh5Ac24upkPXCfm2MDirZuKfeMFh+5gSEzSfXXS1OKSVfXrxh9uL+TyqL1MCOn8QSxHVvdaLql6p0FXZrU53RXg5fVz0OwX2W1iSi/7xJiTcXoqZH7RhsH+gLfi1GdljQ2hCj s0dy@thinkpad" + }, + "meta": { + "schema_version": "1" + }, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + }, + "aws_security_group.allow_ssh": { + "type": "aws_security_group", + "depends_on": [], + "primary": { + "id": "sg-0d04233f1196d8c4c", + "attributes": { + "arn": "arn:aws:ec2:eu-west-3:116854918046:security-group/sg-0d04233f1196d8c4c", + "description": "Managed by Terraform", + "egress.#": "0", + "id": "sg-0d04233f1196d8c4c", + "ingress.#": "1", + "ingress.2541437006.cidr_blocks.#": "1", + "ingress.2541437006.cidr_blocks.0": "0.0.0.0/0", + "ingress.2541437006.description": "", + "ingress.2541437006.from_port": "22", + "ingress.2541437006.ipv6_cidr_blocks.#": "0", + "ingress.2541437006.prefix_list_ids.#": "0", + "ingress.2541437006.protocol": "tcp", + "ingress.2541437006.security_groups.#": "0", + "ingress.2541437006.self": "false", + "ingress.2541437006.to_port": "22", + "name": "terraform-example-instance", + "owner_id": "116854918046", + "revoke_rules_on_delete": "false", + "tags.%": "0", + "vpc_id": "vpc-8a4b1ae3" + }, + "meta": { + "e2bfb730-ecaa-11e6-8f88-34363bc7c4c0": { + "create": 600000000000, + "delete": 600000000000 + }, + "schema_version": "1" + }, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + }, + "data.aws_ami.ubuntu": { + "type": "aws_ami", + "depends_on": [], + "primary": { + "id": "ami-0a2ca21adb4a04084", + "attributes": { + "architecture": "x86_64", + "block_device_mappings.#": "3", + "block_device_mappings.1634610537.device_name": "/dev/sdb", + "block_device_mappings.1634610537.ebs.%": "0", + "block_device_mappings.1634610537.no_device": "", + "block_device_mappings.1634610537.virtual_name": "ephemeral0", + "block_device_mappings.2547816212.device_name": "/dev/sda1", + "block_device_mappings.2547816212.ebs.%": "6", + "block_device_mappings.2547816212.ebs.delete_on_termination": "true", + "block_device_mappings.2547816212.ebs.encrypted": "false", + "block_device_mappings.2547816212.ebs.iops": "0", + "block_device_mappings.2547816212.ebs.snapshot_id": "snap-0ed1c0001fd1991b0", + "block_device_mappings.2547816212.ebs.volume_size": "8", + "block_device_mappings.2547816212.ebs.volume_type": "gp2", + "block_device_mappings.2547816212.no_device": "", + "block_device_mappings.2547816212.virtual_name": "", + "block_device_mappings.3850042718.device_name": "/dev/sdc", + "block_device_mappings.3850042718.ebs.%": "0", + "block_device_mappings.3850042718.no_device": "", + "block_device_mappings.3850042718.virtual_name": "ephemeral1", + "creation_date": "2018-10-13T15:11:50.000Z", + "description": "Canonical, Ubuntu, 18.04 LTS, amd64 bionic image build on 2018-10-12", + "filter.#": "2", + "filter.490168357.name": "virtualization-type", + "filter.490168357.values.#": "1", + "filter.490168357.values.0": "hvm", + "filter.942818600.name": "name", + "filter.942818600.values.#": "1", + "filter.942818600.values.0": "ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*", + "hypervisor": "xen", + "id": "ami-0a2ca21adb4a04084", + "image_id": "ami-0a2ca21adb4a04084", + "image_location": "099720109477/ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20181012", + "image_type": "machine", + "most_recent": "true", + "name": "ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20181012", + "owner_id": "099720109477", + "owners.#": "1", + "owners.0": "099720109477", + "product_codes.#": "0", + "public": "true", + "root_device_name": "/dev/sda1", + "root_device_type": "ebs", + "root_snapshot_id": "snap-0ed1c0001fd1991b0", + "sriov_net_support": "simple", + "state": "available", + "state_reason.%": "2", + "state_reason.code": "UNSET", + "state_reason.message": "UNSET", + "tags.%": "0", + "virtualization_type": "hvm" + }, + "meta": {}, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + }, + "data.aws_eip.webserver-ip": { + "type": "aws_eip", + "depends_on": [], + "primary": { + "id": "eipalloc-0f61e902f5f680dc0", + "attributes": { + "id": "eipalloc-0f61e902f5f680dc0", + "public_ip": "35.180.10.123" + }, + "meta": {}, + "tainted": false + }, + "deposed": [], + "provider": "provider.aws" + } + }, + "depends_on": [] + } + ] +}