Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am hervekhg on github.
  • I am hervekhg (https://keybase.io/hervekhg) on keybase.
  • I have a public key ASAxnXSPmXYhd-X5Ut2iC6oQU9CODXb9xJZBueyLjzPqjgo

To claim this, I am signing this object:

@hervekhg
hervekhg / docker-help.md
Created October 2, 2018 16:59 — forked from bradtraversy/docker-help.md
Docker Commands, Help & Tips

Docker Commands, Help & Tips

Show commands & management commands

$ docker

Docker version info

@hervekhg
hervekhg / rds.tf
Last active April 29, 2019 15:04
Rds_terraform
resource "aws_db_instance" "db" {
instance_class = "${data.consul_keys.ck.var.db_instance_class}"
engine = "${data.consul_keys.ck.var.db_engine}"
engine_version = "${data.consul_keys.ck.var.db_engine_version}"
allocated_storage = "${data.consul_keys.ck.var.db_disk_size}"
name = "${data.consul_keys.ck.var.db_name}"
username = "${data.consul_keys.ck.var.db_user}"
password = "${data.consul_keys.ck.var.db_password}"
storage_type = "${data.consul_keys.ck.var.db_storage_type}"
db_subnet_group_name = "${aws_db_subnet_group.db.name}"
# --------------------------------------------------------------
# BUCKET FOR GUI WEBSITE
# ---------------------------------------------------------------
resource "aws_s3_bucket" "website_front" {
bucket = "mm-${var.env}-${data.consul_keys.ck.var.project_name}-${var.install_name}-website"
acl = "${data.consul_keys.ck.var.bucket_acl}"
region = "${data.consul_keys.ck.var.region}"
website {
resource "aws_cloudfront_distribution" "site_distribution" {
origin {
domain_name = "${aws_s3_bucket.website_front.bucket_domain_name}"
origin_id = "${data.consul_keys.ck.var.project_name}-${data.consul_keys.ck.var.env}-${var.install_name}"
}
enabled = true
aliases = ["${data.consul_keys.ck.var.project_name}-${data.consul_keys.ck.var.env}-${var.install_name}.thehktech.com"] // DNS route53
//price_class = "PriceClass_100"
default_root_object = "index.html"
default_cache_behavior {
# --------------------------------------------------------------
# ROUTE53 ASSOCIATE TO CLOUDFRONT DISTRIBUTION
# ---------------------------------------------------------------
resource "aws_route53_record" "front" {
provider = "aws.mgmt"
zone_id = "thehktech.com"
name = "tuto"
type = "A"
alias {
evaluate_target_health = true
# --------------------------------------------------------------
# Security Group Rules For Lambda Backend
# ---------------------------------------------------------------
resource "aws_security_group_rule" "sg-lambda-backend-egress-rule" {
from_port = "0"
protocol = "-1"
to_port = "0"
cidr_blocks = ["0.0.0.0/0"]
security_group_id = "${aws_security_group.sg-lambda.id}"
type = "egress"
# --------------------------------------------------------------
# LAMBDA FUNCTION FOR BACKEND
# ---------------------------------------------------------------
resource "aws_lambda_function" "backend_lambda" {
function_name = "${data.consul_keys.ck.var.project_name}-${data.consul_keys.ck.var.env}-${var.install_name}-backend"
role = "${aws_iam_role.aws_iam_role_lambda.arn}"
handler = "slm_processing.handler"
runtime = "python2.7"
s3_bucket = "hktech-repo-lambda"
s3_key = "projects/${data.consul_keys.ck.var.project_name}/releases/${var.version_lot}/slm-backend.zip"
# --------------------------------------------------------------
# Security Group Rules For RDS
# ---------------------------------------------------------------
resource "aws_security_group" "db" {
name = "${data.consul_keys.ck.var.project_name}-${var.install_name}-rds"
description = "Security group for ${data.consul_keys.ck.var.project_name} db rds"
vpc_id = "${data.terraform_remote_state.network.aws_vpc_id}"
tags {
resource-env = "${data.consul_keys.ck.var.env}"
# --------------------------------------------------------------
# IAM ROLES FOR LAMBDA FUNCTION
# ---------------------------------------------------------------
resource "aws_iam_role" "aws_iam_role_lambda" {
name = "${data.consul_keys.ck.var.project_name}-${var.install_name}-${var.env}-lambda-processing"
assume_role_policy = "${data.aws_iam_policy_document.lambda_assume.json}"
tags {
env = "${var.env}"
resource-name = "${data.consul_keys.ck.var.project_name}"