{"id":15130089,"url":"https://github.com/gforien/reddit-assignment","last_synced_at":"2026-02-17T23:31:32.026Z","repository":{"id":45447465,"uuid":"437539998","full_name":"gforien/reddit-assignment","owner":"gforien","description":"Écrire et déployer un microservice avec Go, Helm, Terraform, AWS, Github Actions","archived":false,"fork":false,"pushed_at":"2021-12-14T12:00:32.000Z","size":29,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T12:39:14.262Z","etag":null,"topics":["aws","aws-eks","go","helm","kubernetes","microservice","terraform"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gforien.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-12T12:32:00.000Z","updated_at":"2021-12-14T12:18:54.000Z","dependencies_parsed_at":"2022-07-30T18:18:07.169Z","dependency_job_id":null,"html_url":"https://github.com/gforien/reddit-assignment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gforien/reddit-assignment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gforien%2Freddit-assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gforien%2Freddit-assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gforien%2Freddit-assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gforien%2Freddit-assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gforien","download_url":"https://codeload.github.com/gforien/reddit-assignment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gforien%2Freddit-assignment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29562191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["aws","aws-eks","go","helm","kubernetes","microservice","terraform"],"created_at":"2024-09-26T02:29:34.298Z","updated_at":"2026-02-17T23:31:32.008Z","avatar_url":"https://github.com/gforien.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reddit-assignment ♻☸🌐\n\n### Coding assignment trouvé sur [r/devops](https://www.reddit.com/r/devops):\u003cbr\u003eÉcrire et déployer un microservice avec Go, Helm, Terraform, AWS, Github Actions\n\n### Table des matières\n1. [Microservice en Go](PART-1.md)\n    1. [Tests](PART-1.md#Tests)\n1. [Containerization](PART-2.md)\n    1. [Écrire le Dockerfile](PART-2.md#dockerfile)\n    1. [Lancer avec Docker-compose](PART-2.md#docker-compose)\n    1. [Lancer avec Docker Swarm](PART-2.md#docker-swarm)\n\n\u003cbr\u003e\n\n### Sujet (légèrement modifié)\n```\n1. Using Go, write a simple counter application (http server) which serves 3 endpoints\n    - /inc which increment the hits and save in redis\n    - /dec which decrement the hits and save in redis\n    - /count will present the number of hits.\n    Containerize all code including the redis, and save it as docker-compose build.\n    Remove the source code from the container.\n    Save it on github repository\n\n2. Build a helm chart of the httpserver you wrote.\n    Explain which kind of k8s resource you pick and why?\n    Add liveness and readiness\n    Expose the service port to 3030\n    Install kind to test you application and install the helm chart\n    Bonus**: Serve a route with the commit SHA of the deployed app.\n\n3. Build github action file that trigger build on specific wildcard PR (*build*) and\n   on merge to master and create tags, which build your container, run unittest, save\n   to the registry with the correct version.\n   Bonus: Write a terraform which spins a virtual machine and sets relevant firewall\n   rules and load balancer for our application. Pick (GCP or AWS).\n\n4. Script:\n    Write a script (shell) which acts like installer (curl …..| bash -c… look a like)\n    Its will download and the httpserver as binary (you can include the httpserver above\n    as binary in the shell script).\tAdd check that its install on linux os and ubuntu 20.04\n    Bonus: add systemctl service start for the application.\n\nNote: Please document all command in README.md format and save on the github repository\n```\n\n#### Gabriel Forien \u003cbr\u003e 5TC INSA Lyon\n![](https://upload.wikimedia.org/wikipedia/commons/b/b9/Logo_INSA_Lyon_%282014%29.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgforien%2Freddit-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgforien%2Freddit-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgforien%2Freddit-assignment/lists"}