Skip to content
View jouls0217's full-sized avatar

Block or report jouls0217

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jouls0217/README.md

jouls0217

aws · terraform · kubernetes · github-actions

I build and maintain the infrastructure and delivery pipelines that production workloads run on.


🧠 main.tf

resource "engineer" "jouls" {
  role  = "DevOps Engineer"
  cloud = "aws"

  focus = [
    "infrastructure as code",
    "ci/cd pipelines",
    "container platforms",
    "cost visibility",
  ]

  optimizes_for = "reproducible, reviewable, boring to operate"

  lifecycle {
    prevent_destroy = true
  }
}

If it can't be described in code and rolled back, it isn't done.


☁️ providers.tf

locals {
  # multiple AWS regions, each with its own state backend
  regions      = ["primary", "secondary"]
  environments = ["uat", "staging", "prod"]

  # separate state, separate credentials, separate blast radius
  isolation = "per-region, per-environment"
}

🔀 moved.tf

# development is where I came from; infrastructure is where I work
moved {
  from = module.developer
  to   = module.devops
}

📦 modules.tf

module "cloud" {
  source = "./modules/aws"

  services = [
    "eks", "ecr", "ec2", "s3", "rds",
    "vpc", "iam", "route53", "cloudwatch", "cost-explorer",
  ]
}

module "iac" {
  source = "./modules/iac"

  tools = ["terraform", "helm", "yaml"]
}

module "ci_cd" {
  source = "./modules/ci-cd"

  tools = ["github-actions", "git", "bash", "python"]
}

module "runtime" {
  source = "./modules/runtime"

  tools = ["docker", "kubernetes", "nginx", "linux"]
}

module "data" {
  source = "./modules/data"

  engines = ["postgresql", "mongodb", "mysql"]
}

🧪 side_projects.tf

locals {
  hobbies = {
    odoo = ["python", "postgresql", "qweb", "xml"]
    mern = ["mongodb", "express", "react", "node"]
  }
}

# created only when capacity allows — never on the critical path
resource "side_project" "hobby" {
  for_each = var.free_time > 0 ? local.hobbies : {}

  name  = each.key
  stack = each.value
}

Development is a hobby and the occasional side gig these days — but it's still how I understand what I'm deploying.


$ terraform apply

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Popular repositories Loading

  1. jouls0217 jouls0217 Public

    Config files for my GitHub profile.

  2. reclip reclip Public

    Forked from averygan/reclip

    Download videos from almost any website. Lightweight, self-hosted media downloader with a clean web UI.

    HTML