{"id":19347805,"url":"https://github.com/devopscorner/laravel-eks-deployment","last_synced_at":"2025-04-23T05:32:31.230Z","repository":{"id":63519240,"uuid":"423789989","full_name":"devopscorner/laravel-eks-deployment","owner":"devopscorner","description":"Laravel Kubernetes (EKS ver-1.23) Deployment Tools with Helm","archived":false,"fork":false,"pushed_at":"2024-10-29T12:17:54.000Z","size":11428,"stargazers_count":25,"open_issues_count":18,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T14:47:08.608Z","etag":null,"topics":["alpine","alpine-phpfpm","aws","aws-eks","cicd","devopscorner","docker","docker-compose","eks","eks-cluster","helm","helmfile","kubernetes","laravel","laravel-framework","phpfpm","terraform"],"latest_commit_sha":null,"homepage":"https://devopscorner.id","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devopscorner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-11-02T09:59:36.000Z","updated_at":"2024-10-29T12:17:58.000Z","dependencies_parsed_at":"2024-01-16T14:22:18.697Z","dependency_job_id":"88e154f4-0923-4db6-9d80-0c722269ef0e","html_url":"https://github.com/devopscorner/laravel-eks-deployment","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Flaravel-eks-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Flaravel-eks-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Flaravel-eks-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopscorner%2Flaravel-eks-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devopscorner","download_url":"https://codeload.github.com/devopscorner/laravel-eks-deployment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223910304,"owners_count":17223663,"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":["alpine","alpine-phpfpm","aws","aws-eks","cicd","devopscorner","docker","docker-compose","eks","eks-cluster","helm","helmfile","kubernetes","laravel","laravel-framework","phpfpm","terraform"],"created_at":"2024-11-10T04:18:05.291Z","updated_at":"2024-11-10T04:18:06.549Z","avatar_url":"https://github.com/devopscorner.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infra Laravel Deployment\n\nLaravel Kubernetes (EKS) Deployment Tools\n\n![all contributors](https://img.shields.io/github/contributors/devopscorner/laravel-eks-deployment)\n![tags](https://img.shields.io/github/v/tag/devopscorner/laravel-eks-deployment?sort=semver)\n![download all](https://img.shields.io/github/downloads/devopscorner/laravel-eks-deployment/total.svg)\n![download latest](https://img.shields.io/github/downloads/devopscorner/laravel-eks-deployment/1.5.0/total)\n![view](https://views.whatilearened.today/views/github/devopscorner/laravel-eks-deployment.svg)\n![clone](https://img.shields.io/badge/dynamic/json?color=success\u0026label=clone\u0026query=count\u0026url=https://raw.githubusercontent.com/devopscorner/laravel-eks-deployment/master/clone.json?raw=True\u0026logo=github)\n![issues](https://img.shields.io/github/issues/devopscorner/laravel-eks-deployment)\n![pull requests](https://img.shields.io/github/issues-pr/devopscorner/laravel-eks-deployment)\n![forks](https://img.shields.io/github/forks/devopscorner/laravel-eks-deployment)\n![stars](https://img.shields.io/github/stars/devopscorner/laravel-eks-deployment)\n[![license](https://img.shields.io/github/license/devopscorner/laravel-eks-deployment)](https://img.shields.io/github/license/devopscorner/laravel-eks-deployment)\n\n---\n\n## Available Tags\n\n| Containers  | Pulls |\n|-------------|-------|\n| Container `devopscorner/phpfpm` [Tags](docs/README-PHPFpm.md) | [![phpfpm pulls](https://img.shields.io/docker/pulls/devopscorner/phpfpm.svg?label=phpfpm%20pulls\u0026logo=php)](https://hub.docker.com/r/devopscorner/phpfpm/) |\n| Container `devopscorner/laravel` [Tags](docs/README-Laravel.md) | [![laravel pulls](https://img.shields.io/docker/pulls/devopscorner/laravel.svg?label=laravel%20pulls\u0026logo=laravel)](https://hub.docker.com/r/devopscorner/laravel/) |\n\n---\n\n## Prerequirements\n\n- [Docker](https://www.docker.com)\n- [Docker-Compose](https://github.com/docker/compose/releases)\n- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)\n- [Helm](https://helm.sh)\n- [Terraform](https://www.terraform.io)\n- [Terraform Provider AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)\n- [Kubectx](https://github.com/ahmetb/kubectx/releases)\n\n## Folder Structure\n\n### **docs**\n\nIndex Documentation, see [here](docs/README.md) for detail\n\n### **compose**\n\nDocker Compose for Build Image, eg:\n\n- Ubuntu (Bastion SSH)\n- Nginx\n- PHPFpm (Laravel App)\n- _etc_\n\n### **helm**\n\nHelmChart, Template, Helmfile Values:\n\n- charts\n  - stateful\n    - mariadb\n    - mysql\n    - postgresql\n    - redis\n    - _etc_\n  - others\n    - fluentd\n    - grafana\n    - jenkins\n    - kibana\n    - nginx\n    - phpfpm\n    - _etc_\n- helmfile\n  - laravel-template.yml\n  - laravel-values.yml\n  - manifest-laravel-secret.yml\n  - mariadb-values.yml\n- templates\n  - api\n  - backend\n  - configmap\n  - frontend\n  - secretref\n  - stateful\n  - svcrole\n  - helm-pack-lab.sh\n  - helm-push-lab.sh\n\n\n### **terraform/environment**\n\nTeraform AWS Providers, eg:\n\n- Core\n- TFState\n- Resources\n  - Budget\n  - EKS\n  - RDS\n\n### **terraform/modules (Terraform Submodules)**\n\n- Official Repositories\n\n  ```\n  ./get-official.sh\n  -- or --\n  make sub-official\n  ```\n\n- Community Repositories\n\n  ```\n  ./get-community.sh\n  -- or --\n  make sub-community\n  ```\n\n## How-to-Use\n\n- Clone this repository\n\n  ```\n  git clone git@github.com:devopscorner/laravel-eks-deployment.git\n  ```\n\n- Get all Terraform modules\n\n  ```\n  make sub-all\n  ```\n\n- Assume Role for Terraform command\n\n  ```\n  aws sts assume-role --role-arn arn-role-to-assume --role-session-name AWSCLI\n  ```\n\n- Terraform Execution\n\n  ```\n  terraform init\n  terraform plan\n  terraform apply\n  ```\n\n- Terraform Cleanup (Remove ALL)\n  ```\n  terraform destroy\n  ---\n  Notes: PLEASE BEWARE TO USE THIS !!!\n  ```\n\n## Deploy HelmChart\n\n- Set Context to Your Environment\n  ```\n  kubectl config use-context [YOUR_K8S_CONTEXT]\n  -- or --\n  kubectx [YOUR_K8S_CONTEXT]\n  ```\n- Create Namespace `larave-app`\n  ```\n  kubectl create namespace laravel-app\n  ```\n- Deploy Stateful HelmChart\n  ```\n  make helmchart-stateful [CHART_NAME]\n  ---\n  eg:\n  make helmchart-stateful mariadb\n  ```\n- Deploy Others HelmChart\n  ```\n  make helmchart-others [CHART_NAME]\n  ---\n  eg:\n  make helmchart-others nginx\n  make helmchart-others laravel\n  ```\n\n## Cleanup Installation HelmChart\n\n- Set Context to Your Environment\n  ```\n  kubectl config use-context [YOUR_K8S_CONTEXT]\n  -- or --\n  kubectx [YOUR_K8S_CONTEXT]\n  ```\n- Cleanup Stateful HelmChart\n  ```\n  make remove-helmchart-stateful [CHART_NAME]\n  ---\n  eg:\n  make remove-helmchart-stateful mariadb\n  ```\n- Cleanup Others HelmChart\n  ```\n  make remove-helmchart-others [CHART_NAME]\n  ---\n  eg:\n  make remove-helmchart-others nginx\n  make remove-helmchart-others laravel\n  ```\n\n## Tested Environment\n\n### Versioning\n\n- Docker version\n\n  ```\n  docker -v\n  ---\n  Docker version 20.10.17-rd, build c2e4e01\n\n  docker version\n  ---\n  Client:\n    Version:           20.10.17-rd\n    API version:       1.41\n    Go version:        go1.17.11\n    Git commit:        c2e4e01\n    Built:             Fri Jul 22 18:31:17 2022\n    OS/Arch:           darwin/amd64\n    Context:           default\n    Experimental:      true\n\n  Server: Docker Desktop 4.14.1 (91661)\n  Engine:\n    Version:          20.10.21\n    API version:      1.41 (minimum version 1.12)\n    Go version:       go9.7\n    Git commit:       3056208\n    Built:            Tue Oct 25 18:00:19 2022\n    OS/Arch:          linux/amd64\n    Experimental:     false\n  containerd:\n    Version:          1.6.9\n    GitCommit:        1c90a442489720eec95342e1789ee8a5e1b9536f\n  runc:\n    Version:          1.1.4\n    GitCommit:        v1.1.4-0-g5fd4c4d\n  docker-init:\n    Version:          0.19.0\n    GitCommit:        de40ad0\n  ```\n\n- Docker-Compose version\n\n  ```\n  docker-compose -v\n  ---\n  Docker Compose version v2.11.1\n  ```\n\n- AWS Cli\n\n  ```\n  aws --version\n  ---\n  laravel/2.8.7 Python/3.9.11 Darwin/21.6.0 exe/x86_64 prompt/off\n  ```\n\n- Terraform Cli\n\n  ```\n  terraform version\n  ---\n  Terraform v1.3.5\n  on darwin_amd64\n  - provider registry.terraform.io/hashicorp/aws v3.74.3\n  - provider registry.terraform.io/hashicorp/local v2.1.0\n  - provider registry.terraform.io/hashicorp/null v3.1.0\n  - provider registry.terraform.io/hashicorp/random v3.1.0\n  - provider registry.terraform.io/hashicorp/time v0.7.2\n  ```\n\n- Terraform Environment Cli\n\n  ```\n  tfenv -v\n  ---\n  tfenv 2.2.2\n  ```\n\n## Copyright\n\n- Author: **Dwi Fahni Denni (@zeroc0d3)**\n- License: **Apache v2**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopscorner%2Flaravel-eks-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevopscorner%2Flaravel-eks-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopscorner%2Flaravel-eks-deployment/lists"}