{"id":26281257,"url":"https://github.com/asishkumar-gouda/go-web-app-devops","last_synced_at":"2026-02-12T10:03:17.865Z","repository":{"id":262378676,"uuid":"887052523","full_name":"asishkumar-gouda/go-web-app-devops","owner":"asishkumar-gouda","description":"This is the Complete CI/CD implementation for the Golang Application. Helm Charts to Deploy to the EKS namespace using ArgoCD","archived":false,"fork":false,"pushed_at":"2024-11-19T05:48:21.000Z","size":210,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-02T02:43:34.817Z","etag":null,"topics":["argocd","aws","aws-ec2","docker-hub","gitops","helm-charts","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/asishkumar-gouda.png","metadata":{"files":{"readme":"README-DevOps.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}},"created_at":"2024-11-12T04:45:07.000Z","updated_at":"2025-02-01T15:32:16.000Z","dependencies_parsed_at":"2024-11-12T05:27:47.543Z","dependency_job_id":"2d4f6a31-d360-41bb-80fc-a25ed2d44f3a","html_url":"https://github.com/asishkumar-gouda/go-web-app-devops","commit_stats":null,"previous_names":["asishgouda/go-web-app-devops","asishkumar-gouda/go-web-app-devops"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asishkumar-gouda/go-web-app-devops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asishkumar-gouda%2Fgo-web-app-devops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asishkumar-gouda%2Fgo-web-app-devops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asishkumar-gouda%2Fgo-web-app-devops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asishkumar-gouda%2Fgo-web-app-devops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asishkumar-gouda","download_url":"https://codeload.github.com/asishkumar-gouda/go-web-app-devops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asishkumar-gouda%2Fgo-web-app-devops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29363010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","aws-ec2","docker-hub","gitops","helm-charts","kubernetes"],"created_at":"2025-03-14T15:21:47.449Z","updated_at":"2026-02-12T10:03:17.825Z","avatar_url":"https://github.com/asishkumar-gouda.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOpsify the go web application\n\nThe main goal of this project is to implement DevOps practices in the Go web application. The project is a simple website written in Golang. It uses the `net/http` package to serve HTTP requests.\n\nDevOps practices include the following:\n\n- Creating Dockerfile (Multi-stage build)\n- Containerization\n- Continuous Integration (CI)\n- Continuous Deployment (CD)\n\n## Summary Diagram\n![image](https://github.com/user-attachments/assets/45f4ef12-c5b5-4247-9d43-356b5dfb671b)\n\n\n## Creating Dockerfile (Multi-stage build)\n\nThe Dockerfile is used to build a Docker image. The Docker image contains the Go web application and its dependencies. The Docker image is then used to create a Docker container.\n\nWe will use a Multi-stage build to create the Docker image. The Multi-stage build is a feature of Docker that allows you to use multiple build stages in a single Dockerfile. This will reduce the size of the final Docker image and also secure the image by removing unnecessary files and packages.\n\n## Containerization\n\nContainerization is the process of packaging an application and its dependencies into a container. The container is then run on a container platform such as Docker. Containerization allows you to run the application in a consistent environment, regardless of the underlying infrastructure.\n\nWe will use Docker to containerize the Go web application. Docker is a container platform that allows you to build, ship, and run containers.\n\nCommands to build the Docker container:\n\n```bash\ndocker build -t \u003cyour-docker-username\u003e/go-web-app .\n```\n\nCommand to run the Docker container:\n\n```bash\ndocker run -p 8080:8080 \u003cyour-docker-username\u003e/go-web-app\n```\n\nCommand to push the Docker container to Docker Hub:\n\n```bash\ndocker push \u003cyour-docker-username\u003e/go-web-app\n```\n\n## Continuous Integration (CI)\n\nContinuous Integration (CI) is the practice of automating the integration of code changes into a shared repository. CI helps to catch bugs early in the development process and ensures that the code is always in a deployable state.\n\nWe will use GitHub Actions to implement CI for the Go web application. GitHub Actions is a feature of GitHub that allows you to automate workflows, such as building, testing, and deploying code.\n\nThe GitHub Actions workflow will run the following steps:\n\n- Checkout the code from the repository\n- Build the Docker image\n- Run the Docker container\n- Run tests\n\n## Continuous Deployment (CD)\n\nContinuous Deployment (CD) is the practice of automatically deploying code changes to a production environment. CD helps to reduce the time between code changes and deployment, allowing you to deliver new features and fixes to users faster.\n\nWe will use Argo CD to implement CD for the Go web application. Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. It allows you to deploy applications to Kubernetes clusters using Git as the source of truth.\n\nThe Argo CD application will deploy the Go web application to a Kubernetes cluster. The application will be automatically synced with the Git repository, ensuring that the application is always up to date.\n\n## Conclusion\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasishkumar-gouda%2Fgo-web-app-devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasishkumar-gouda%2Fgo-web-app-devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasishkumar-gouda%2Fgo-web-app-devops/lists"}