{"id":27496178,"url":"https://github.com/letusdevops/learngo","last_synced_at":"2026-04-21T16:41:33.443Z","repository":{"id":288099929,"uuid":"965595286","full_name":"LetusDevops/LearnGo","owner":"LetusDevops","description":"30 days roadmap for Golang for DevOps along with exercises. ","archived":false,"fork":false,"pushed_at":"2025-04-15T14:28:06.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-17T17:52:18.614Z","etag":null,"topics":["devops","golang","roadmap","sre"],"latest_commit_sha":null,"homepage":"","language":null,"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/LetusDevops.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-04-13T14:07:14.000Z","updated_at":"2025-04-15T14:28:10.000Z","dependencies_parsed_at":"2025-04-15T15:49:04.305Z","dependency_job_id":null,"html_url":"https://github.com/LetusDevops/LearnGo","commit_stats":null,"previous_names":["letusdevops/learngo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LetusDevops/LearnGo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetusDevops%2FLearnGo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetusDevops%2FLearnGo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetusDevops%2FLearnGo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetusDevops%2FLearnGo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LetusDevops","download_url":"https://codeload.github.com/LetusDevops/LearnGo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LetusDevops%2FLearnGo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259599331,"owners_count":22882357,"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":["devops","golang","roadmap","sre"],"created_at":"2025-04-17T04:43:36.705Z","updated_at":"2026-04-21T16:41:33.364Z","avatar_url":"https://github.com/LetusDevops.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoLang 10-Day Path for DevOps (Extended to 30 Days)\n\nWelcome to the **GoLang 30-Day Path for DevOps and Platform Engineering**! This guide is designed to help you learn and apply GoLang in DevOps workflows and platform engineering over the course of 30 days.\n\n## Prerequisites\n- Basic understanding of programming concepts.\n- Familiarity with DevOps tools and practices.\n- GoLang installed on your system. [Install Go](https://golang.org/doc/install)\n\n---\n\n## Day-by-Day Plan\n\n### [Day 1: Introduction to GoLang](./day-1-introduction-to-golang/README.md)\n- Learn the basics of GoLang: syntax, variables, and data types.\n- Resources:\n    - [Go Tour](https://tour.golang.org/)\n    - [GoLang Documentation](https://golang.org/doc/)\n\n### [Day 2: Functions and Packages](./day-2-functions-and-packages/README.md)\n- Understand functions, packages, and modular programming in Go.\n- Practice creating and importing packages.\n\n### [Day 3: Error Handling](./day-3-error-handling/README.md)\n- Learn Go's error handling mechanisms.\n- Implement error handling in sample programs.\n\n### [Day 4: Concurrency in Go](./day-4-concurrency-in-go/README.md)\n- Explore goroutines and channels.\n- Write concurrent programs for DevOps tasks.\n\n### [Day 5: File and Network Operations](./day-5-file-and-network-operations/README.md)\n- Work with file I/O and network operations.\n- Build a simple HTTP server.\n\n### [Day 6: Working with APIs](./day-6-working-with-apis/README.md)\n- Learn to consume and create REST APIs using Go.\n- Use libraries like `net/http` and `gorilla/mux`.\n\n### [Day 7: Automation with Go](./day-7-automation-with-go/README.md)\n- Automate DevOps tasks such as CI/CD pipelines and infrastructure provisioning.\n- Integrate Go with tools like Docker and Kubernetes.\n\n### [Day 8: Testing in Go](./day-8-testing-in-go/README.md)\n- Write unit tests using Go's `testing` package.\n- Learn about mocking and test coverage.\n\n### [Day 9: Logging and Monitoring](./day-9-logging-and-monitoring/README.md)\n- Implement logging using Go libraries like `log` and `logrus`.\n- Integrate monitoring tools for Go applications.\n\n### [Day 10: Build a DevOps Tool](./day-10-build-a-devops-tool/README.md)\n- Apply everything you've learned to build a small DevOps tool.\n- Example: A CLI tool for managing Docker containers.\n\n---\n\n### [Day 11: Advanced Concurrency](./day-11-advanced-concurrency/README.md)\n- Dive deeper into goroutines, channels, and worker pools.\n- Optimize concurrent programs for performance.\n\n### [Day 12: Go Modules and Dependency Management](./day-12-go-modules-and-dependency-management/README.md)\n- Learn about Go modules and versioning.\n- Manage dependencies effectively in large projects.\n\n### [Day 13: Building CLI Tools](./day-13-building-cli-tools/README.md)\n- Create command-line tools using Go.\n- Use libraries like `cobra` and `urfave/cli`.\n\n### [Day 14: Infrastructure as Code (IaC)](./day-14-infrastructure-as-code/README.md)\n- Use Go to interact with IaC tools like Terraform and Pulumi.\n- Automate infrastructure provisioning.\n\n### [Day 15: Kubernetes Operators with Go](./day-15-kubernetes-operators-with-go/README.md)\n- Learn to build Kubernetes operators using the `controller-runtime` library.\n- Manage custom resources in Kubernetes.\n\n### [Day 16: Event-Driven Programming](./day-16-event-driven-programming/README.md)\n- Implement event-driven architectures using Go.\n- Work with message queues like RabbitMQ and Kafka.\n\n### [Day 17: Security in Go Applications](./day-17-security-in-go-applications/README.md)\n- Secure your Go applications with best practices.\n- Use libraries for encryption, authentication, and authorization.\n\n### [Day 18: Distributed Systems with Go](./day-18-distributed-systems-with-go/README.md)\n- Build distributed systems using Go.\n- Learn about RPC frameworks like gRPC.\n\n### [Day 19: Observability in Go](./day-19-observability-in-go/README.md)\n- Implement observability using tracing, metrics, and logging.\n- Use tools like OpenTelemetry and Prometheus.\n\n### [Day 20: Advanced API Development](./day-20-advanced-api-development/README.md)\n- Build advanced REST and GraphQL APIs.\n- Implement middleware and rate limiting.\n\n### [Day 21: Working with Databases](./day-21-working-with-databases/README.md)\n- Interact with SQL and NoSQL databases using Go.\n- Use libraries like `gorm` and `mongo-go-driver`.\n\n### [Day 22: Containerization with Go](./day-22-containerization-with-go/README.md)\n- Build and manage Docker containers using Go.\n- Use libraries like `docker/docker` for container orchestration.\n\n### [Day 23: Cloud Development with Go](./day-23-cloud-development-with-go/README.md)\n- Interact with cloud providers like AWS, GCP, and Azure using Go SDKs.\n- Automate cloud resource management.\n\n### [Day 24: Performance Optimization](./day-24-performance-optimization/README.md)\n- Profile and optimize Go applications.\n- Use tools like `pprof` and `benchstat`.\n\n### [Day 25: Building Microservices](./day-25-building-microservices/README.md)\n- Design and implement microservices using Go.\n- Use frameworks like `go-kit` and `micro`.\n\n### [Day 26: Service Mesh Integration](./day-26-service-mesh-integration/README.md)\n- Integrate Go applications with service meshes like Istio and Linkerd.\n- Manage traffic and observability.\n\n### [Day 27: Serverless Applications](./day-27-serverless-applications/README.md)\n- Build serverless applications using Go.\n- Deploy to platforms like AWS Lambda and Google Cloud Functions.\n\n### [Day 28: Continuous Integration/Continuous Deployment (CI/CD)](./day-28-ci-cd/README.md)\n- Automate CI/CD pipelines using Go.\n- Integrate with tools like Jenkins, GitHub Actions, and GitLab CI.\n\n### [Day 29: Advanced Networking](./day-29-advanced-networking/README.md)\n- Work with advanced networking concepts in Go.\n- Implement custom protocols and load balancers.\n\n### [Day 30: Build a Platform Engineering Tool](./day-30-build-a-platform-engineering-tool/README.md)\n- Apply everything you've learned to build a platform engineering tool.\n- Example: A tool for managing Kubernetes clusters or CI/CD pipelines.\n\n---\n\n## Additional Resources\n- [GoLang Blog](https://blog.golang.org/)\n- [Awesome Go](https://github.com/avelino/awesome-go)\n- [DevOps Roadmap](https://roadmap.sh/devops)\n\n---\n\n## Contributing\nFeel free to contribute to this guide by submitting a pull request or opening an issue.\n\n---\n\n## License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\nHappy coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletusdevops%2Flearngo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fletusdevops%2Flearngo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletusdevops%2Flearngo/lists"}