{"id":28955873,"url":"https://github.com/alexandrbig1/microservice-project","last_synced_at":"2026-04-02T01:02:32.647Z","repository":{"id":299169050,"uuid":"1001113745","full_name":"Alexandrbig1/microservice-project","owner":"Alexandrbig1","description":"A hands-on DevOps project for mastering CI/CD, infrastructure automation, and microservices. This repository showcases practical skills in Bash scripting, Docker, Kubernetes, Terraform, Jenkins, AWS, and more - covering the full DevOps toolchain from environment setup to automated deployment.","archived":false,"fork":false,"pushed_at":"2025-06-22T17:13:51.000Z","size":13,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-22T18:24:30.189Z","etag":null,"topics":["argocd","aws","bash","ci-cd","devops","docker","grafana","helm","jenkins","k8s","kanban","kubernetes","linux","powershell","project","prometheus","terraform","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alexandrbig1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-12T21:02:33.000Z","updated_at":"2025-06-21T18:59:14.000Z","dependencies_parsed_at":"2025-06-22T18:21:57.068Z","dependency_job_id":null,"html_url":"https://github.com/Alexandrbig1/microservice-project","commit_stats":null,"previous_names":["alexandrbig1/microservice-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Alexandrbig1/microservice-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fmicroservice-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fmicroservice-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fmicroservice-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fmicroservice-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexandrbig1","download_url":"https://codeload.github.com/Alexandrbig1/microservice-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fmicroservice-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261548756,"owners_count":23175502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argocd","aws","bash","ci-cd","devops","docker","grafana","helm","jenkins","k8s","kanban","kubernetes","linux","powershell","project","prometheus","terraform","zsh"],"created_at":"2025-06-23T20:11:57.031Z","updated_at":"2025-12-30T19:14:43.688Z","avatar_url":"https://github.com/Alexandrbig1.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# microservice-project\n\n\u003cimg align=\"right\" src=\"https://media.giphy.com/media/du3J3cXyzhj75IOgvA/giphy.gif\" width=\"100\"/\u003e\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/Alexandrbig1/microservice-project)](https://github.com/Alexandrbig1/microservice-project/commits/main)\n[![CI](https://github.com/Alexandrbig1/microservice-project/actions/workflows/ci.yml/badge.svg)](https://github.com/Alexandrbig1/microservice-project/actions)\n[![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker\u0026logoColor=white)](https://www.docker.com/)\n[![AWS](https://img.shields.io/badge/AWS-232F3E?logo=amazonaws\u0026logoColor=white)](https://aws.amazon.com/)\n[![Terraform](https://img.shields.io/badge/Terraform-623CE4?logo=terraform\u0026logoColor=white)](https://www.terraform.io/)\n[![Kubernetes](https://img.shields.io/badge/Kubernetes-326CE5?logo=kubernetes\u0026logoColor=white)](https://kubernetes.io/)\n[![Shell](https://img.shields.io/badge/Shell-FFD500?logo=gnu-bash\u0026logoColor=black)](https://www.gnu.org/software/bash/)\n[![Bash](https://img.shields.io/badge/Bash-4EAA25?logo=gnubash\u0026logoColor=white)](https://www.gnu.org/software/bash/)\n[![Python](https://img.shields.io/badge/Python-3776AB?logo=python\u0026logoColor=white)](https://www.python.org/)\n[![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux\u0026logoColor=black)](https://www.linux.org/)\n[![Nginx](https://img.shields.io/badge/Nginx-009639?logo=nginx\u0026logoColor=white)](https://nginx.org/)\n[![Jenkins](https://img.shields.io/badge/Jenkins-D24939?logo=jenkins\u0026logoColor=white)](https://www.jenkins.io/)\n\n## microservice-project\n\nThis repository is an educational microservices and DevOps playground that contains multiple example modules showing how to provision and operate microservice infrastructure using modern tooling: shell scripts, Docker, Kubernetes (Helm), Terraform (AWS), Argo CD, Jenkins, and GitHub Actions.\n\nThe goal: provide small, reusable modules and hands-on examples for learning and improving DevOps \u0026 SRE skills. Each module can be used independently for experiments, CI/CD exercises, and demonstrations.\n\nKey notes:\n- This repository is intentionally modular: many subfolders are separate exercises and example projects (Terraform modules, Helm charts, Dockerized apps, CI pipelines).\n- Secrets and sensitive values are not stored in the repo. Use environment variables, AWS Secrets Manager, SSM, or your CI secret store.\n- The examples are opinionated and simplified for learning; adapt them before using in production.\n\n## What this repo contains\n\nTop-level structure (high level):\n\n```\nsrc/\n   practice/         # lab exercises and small examples (Docker, Terraform, Helm, etc.)\n   project/          # larger composed projects and end-to-end examples (EKS, Jenkins, ArgoCD)\n   script/           # helper scripts for local env setup\n```\n\nHighlights:\n- Terraform modules: `vpc`, `eks`, `ecr`, `rds`, `s3-backend`, `jenkins`, `argo_cd`.\n- Helm charts: `charts/django-app` and others for demo deployments.\n- Dockerized sample apps: Django, PHP, FastAPI in different folders under `practice/` and `project/`.\n- CI/CD examples: Jenkins Helm deployments, Argo CD configs, and example GitHub Actions workflows (see `.github/workflows`).\n\n## Quick start (local)\n\n1. Clone the repo:\n\n```bash\ngit clone https://github.com/Alexandrbig1/microservice-project.git\ncd microservice-project\n```\n\n2. Read the module you want to try, for example:\n\n```bash\nls src/project/aws-kube-jenkins\n```\n\n3. Follow the README inside each module (e.g., `src/project/iac-aws-terraform/README.md`) for module-specific setup.\n\n## Common workflows\n\nTerraform (example):\n\n```bash\ncd src/project/iac-aws-terraform\n# ensure AWS credentials and region are set\nterraform init\nterraform plan\nterraform apply\n```\n\nBuild \u0026 push Docker image to ECR (example):\n\n```bash\ndocker build -t \u003caws_account\u003e.dkr.ecr.\u003cregion\u003e.amazonaws.com/django-app:TAG ./src/project/iac-aws-terraform/django\naws ecr get-login-password --region \u003cregion\u003e | docker login --username AWS --password-stdin \u003caws_account\u003e.dkr.ecr.\u003cregion\u003e.amazonaws.com\ndocker push \u003caws_account\u003e.dkr.ecr.\u003cregion\u003e.amazonaws.com/django-app:TAG\n```\n\nHelm (install demo chart):\n\n```bash\nhelm upgrade --install django-app src/project/iac-aws-terraform/charts/django-app --values src/project/iac-aws-terraform/charts/django-app/values.yaml --namespace app --create-namespace\n```\n\nArgo CD (example flow):\n\n1. Deploy Argo CD into cluster (see module `project/modules/argo_cd` or `src/project/...`).\n2. Register the repo/application in Argo CD pointing to the desired chart path (e.g., `charts/django-app`).\n\nJenkins (demo):\n\n- A Helm-based Jenkins deployment is available in `src/project/...` (or `practice/...`). See the `values.example.yaml` in the module for credential wiring.\n\nCI / GitHub Actions\n\n- This repo contains example GitHub Actions workflows under `.github/workflows/` for CI and simple automation; update the workflow names and secrets for your account. The top badge links to `actions/workflows/ci.yml` if present.\n\n## Security \u0026 secrets\n\n- Do not commit secrets. Use AWS Secrets Manager, SSM Parameter Store, Kubernetes Secrets, or CI secret stores.\n- If you configure remote Terraform state (S3 + DynamoDB), create the S3 bucket and DynamoDB table before `terraform init`.\n\n## Contributing \u0026 learning\n\nThis repository is a learning resource. Contributions, corrections, and improvements are welcome. Suggested ways to contribute:\n\n- Add clearer module READMEs with step-by-step lab guides.\n- Add CI tests (lint, terraform validate, helm lint) to `.github/workflows`.\n- Add small unit/integration tests for any scripts or code under `src/`.\n\nWhen contributing, prefer small, focused pull requests and include a short description of what was tested locally.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## Languages and Tools\n\n\u003cdiv align=\"center\"\u003e  \n\u003ca href=\"https://www.gnu.org/software/bash/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/gnu_bash-icon.svg\" alt=\"Bash\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://github.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/git-scm-icon.svg\" alt=\"Git\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://www.linux.org/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/linux-original.svg\" alt=\"Linux\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://aws.amazon.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/amazonwebservices-original-wordmark.svg\" alt=\"AWS\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://www.docker.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/docker-original-wordmark.svg\" alt=\"Docker\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://kubernetes.io/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/kubernetes-icon.svg\" alt=\"Kubernetes\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://www.terraform.io/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/terraformio-icon.svg\" alt=\"Terraform\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://www.jenkins.io/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/jenkins-icon.svg\" alt=\"Jenkins\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003ca href=\"https://www.nginx.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/nginx-original.svg\" alt=\"Nginx\" height=\"50\" /\u003e\u003c/a\u003e  \n\u003c/div\u003e\n\n---\n\n## Connect with me\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://linkedin.com/in/alex-smagin29\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/linkedin-%231E77B5.svg?\u0026style=for-the-badge\u0026logo=linkedin\u0026logoColor=white alt=linkedin style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.youtube.com/@AlexSmaginDev\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/youtube-%23FF0000.svg?\u0026style=for-the-badge\u0026logo=youtube\u0026logoColor=white\" alt=\"YouTube\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://discord.gg/t6MGsCqdFX\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/discord-%237289DA.svg?\u0026style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://stackoverflow.com/users/22484161/alex-smagin\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/stackoverflow-%23F28032.svg?\u0026style=for-the-badge\u0026logo=stackoverflow\u0026logoColor=white alt=stackoverflow style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://dribbble.com/Alexandrbig1\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/dribbble-%23E45285.svg?\u0026style=for-the-badge\u0026logo=dribbble\u0026logoColor=white alt=dribbble style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.behance.net/a1126\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/behance-%23191919.svg?\u0026style=for-the-badge\u0026logo=behance\u0026logoColor=white alt=behance style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.upwork.com/freelancers/~0117da9f9f588056d2\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/upwork-%230077B5.svg?\u0026style=for-the-badge\u0026logo=upwork\u0026logoColor=white\u0026color=%23167B02\" alt=\"Upwork\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fmicroservice-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrbig1%2Fmicroservice-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fmicroservice-project/lists"}