MOVE: moving to terraform.example repo
This commit is contained in:
parent
f79414605a
commit
99909b1d7c
4
tf-modulised/.gitignore
vendored
4
tf-modulised/.gitignore
vendored
@ -1,4 +0,0 @@
|
||||
*.tfstate
|
||||
*.tfstate.backup
|
||||
terraform.tfvars
|
||||
.terraform
|
@ -1,3 +0,0 @@
|
||||
With the new terraform, repeative tasks are modulised. Making the code much cleaner.
|
||||
|
||||
See a list of terraform aws modules - https://registry.terraform.io/modules/terraform-aws-modules
|
@ -1,14 +0,0 @@
|
||||
resource "aws_instance" "web" {
|
||||
ami = "ami-49bbfa38"
|
||||
instance_type = "t3.micro"
|
||||
key_name = "kfong-aws"
|
||||
vpc_security_group_ids = ["sg-053612d40f966eec7"]
|
||||
subnet_id = "subnet-0a4edc273558afaab"
|
||||
associate_public_ip_address = true
|
||||
iam_instance_profile = "AmazonSSMRoleForInstancesQuickSetup"
|
||||
|
||||
tags = {
|
||||
Name = "kf-ssm-test"
|
||||
ssm-enabled = "yes"
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
variable "aws_access_key" {}
|
||||
variable "aws_secret_key" {}
|
||||
variable "aws_region" {}
|
||||
|
||||
provider "aws" {
|
||||
access_key = var.aws_access_key
|
||||
secret_key = var.aws_secret_key
|
||||
region = var.aws_region
|
||||
version = ">= 2.28.1"
|
||||
}
|
2
tf-modulised/kubernetes/sshd/.gitignore
vendored
2
tf-modulised/kubernetes/sshd/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
*tfstate*
|
||||
provider.tf
|
@ -1,66 +0,0 @@
|
||||
resource "kubernetes_deployment" "nginx" {
|
||||
metadata {
|
||||
name = "scalable-nginx-example"
|
||||
labels = {
|
||||
App = "ScalableNginxExample"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
replicas = 2
|
||||
selector {
|
||||
match_labels = {
|
||||
App = "ScalableNginxExample"
|
||||
}
|
||||
}
|
||||
template {
|
||||
metadata {
|
||||
labels = {
|
||||
App = "ScalableNginxExample"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
container {
|
||||
image = "nginx:latest"
|
||||
name = "example"
|
||||
|
||||
port {
|
||||
container_port = 60080
|
||||
}
|
||||
|
||||
resources {
|
||||
limits {
|
||||
cpu = "0.5"
|
||||
memory = "512Mi"
|
||||
}
|
||||
requests {
|
||||
cpu = "250m"
|
||||
memory = "50Mi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_service" "nginx" {
|
||||
metadata {
|
||||
name = "nginx-example"
|
||||
}
|
||||
spec {
|
||||
selector = {
|
||||
App = kubernetes_deployment.nginx.spec.0.template.0.metadata[0].labels.App
|
||||
}
|
||||
port {
|
||||
port = 60080
|
||||
target_port = 60080
|
||||
}
|
||||
|
||||
type = "LoadBalancer"
|
||||
}
|
||||
}
|
||||
|
||||
output "lb_ip" {
|
||||
value = kubernetes_service.nginx.load_balancer_ingress[0].ip
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
variable "kubernetes_client_certificate"{
|
||||
type = string
|
||||
default = "xxx"
|
||||
}
|
||||
|
||||
variable "kubernetes_client_key"{
|
||||
type = string
|
||||
default = "xxx"
|
||||
}
|
||||
|
||||
variable "kubernetes_cluster_ca_certificate"{
|
||||
type = string
|
||||
default = "xxx"
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
load_config_file = "false"
|
||||
|
||||
host = "https://192.168.86.51:6443"
|
||||
|
||||
client_certificate = base64decode(var.kubernetes_client_certificate)
|
||||
client_key = base64decode(var.kubernetes_client_key)
|
||||
cluster_ca_certificate = base64decode(var.kubernetes_cluster_ca_certificate)
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
# Configure the OpenStack Provider
|
||||
provider "openstack" {
|
||||
user_name = "admin"
|
||||
tenant_name = "demo"
|
||||
password = "your-password"
|
||||
auth_url = "URL-to-keystone"
|
||||
region = "RegionOne"
|
||||
}
|
||||
|
@ -1,45 +0,0 @@
|
||||
resource "openstack_compute_secgroup_v2" "test-sg1" {
|
||||
name = "test-sg1"
|
||||
description = "Allow all"
|
||||
rule {
|
||||
from_port = -1
|
||||
to_port = -1
|
||||
ip_protocol = "icmp"
|
||||
cidr = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
rule {
|
||||
from_port = 1
|
||||
to_port = 65535
|
||||
ip_protocol = "tcp"
|
||||
cidr = "0.0.0.0/0"
|
||||
}
|
||||
|
||||
rule {
|
||||
from_port = 1
|
||||
to_port = 65535
|
||||
ip_protocol = "udp"
|
||||
cidr = "0.0.0.0/0"
|
||||
}
|
||||
}
|
||||
|
||||
resource "openstack_compute_instance_v2" "tfvm1" {
|
||||
name = "tfvm1"
|
||||
flavor_id = "b8159937-a5f9-46fb-97eb-2d59b67cfedd"
|
||||
key_pair = "opc-key"
|
||||
security_groups = ["${openstack_compute_secgroup_v2.test-sg1.name}"]
|
||||
|
||||
block_device {
|
||||
uuid = "871c021d-baef-4010-ba8e-2a900a48f41c"
|
||||
source_type = "image"
|
||||
volume_size = 10
|
||||
boot_index = 0
|
||||
destination_type = "volume"
|
||||
delete_on_termination = true
|
||||
}
|
||||
|
||||
network {
|
||||
name = "shared"
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
# terraform.tfvars example
|
||||
```
|
||||
aws_access_key = "..."
|
||||
aws_secret_key = "..."
|
||||
aws_region = "ap-east-1"
|
||||
default-tags = {
|
||||
"owner" = "KF"
|
||||
"terraform" = "initial-deployment-only"
|
||||
"environment" = "demo"
|
||||
"project" = "project1"
|
||||
"application" = "network"
|
||||
}
|
||||
```
|
@ -1,17 +0,0 @@
|
||||
resource "random_string" "string" {
|
||||
length = 4
|
||||
special = false
|
||||
}
|
||||
|
||||
resource "random_integer" "number" {
|
||||
min = 1000
|
||||
max = 9999
|
||||
}
|
||||
|
||||
output "string" {
|
||||
value = random_string.string.result
|
||||
}
|
||||
|
||||
output "number" {
|
||||
value = random_integer.number.result
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
variable "aws_access_key" {}
|
||||
variable "aws_secret_key" {}
|
||||
variable "aws_region" {}
|
||||
|
||||
provider "aws" {
|
||||
access_key = var.aws_access_key
|
||||
secret_key = var.aws_secret_key
|
||||
region = var.aws_region
|
||||
version = ">= 2.28.1"
|
||||
}
|
||||
|
||||
variable "default-tags" {}
|
@ -1,23 +0,0 @@
|
||||
data "aws_availability_zones" "available" {}
|
||||
|
||||
module "random" {
|
||||
source = "./m.random"
|
||||
}
|
||||
|
||||
module "vpc" {
|
||||
source = "terraform-aws-modules/vpc/aws"
|
||||
version = "2.6.0"
|
||||
|
||||
name = "demo-vpc-${module.random.number}"
|
||||
cidr = "172.16.0.0/16"
|
||||
azs = data.aws_availability_zones.available.names
|
||||
private_subnets = cidrsubnets("172.16.18.0/23", 1, 1)
|
||||
public_subnets = cidrsubnets("172.16.20.0/23", 1, 1)
|
||||
enable_nat_gateway = false
|
||||
single_nat_gateway = true
|
||||
enable_dns_hostnames = true
|
||||
|
||||
tags = var.default-tags
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user