Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gforien/reddit-assignment
Écrire et déployer un microservice avec Go, Helm, Terraform, AWS, Github Actions
https://github.com/gforien/reddit-assignment
aws aws-eks go helm kubernetes microservice terraform
Last synced: 16 days ago
JSON representation
Écrire et déployer un microservice avec Go, Helm, Terraform, AWS, Github Actions
- Host: GitHub
- URL: https://github.com/gforien/reddit-assignment
- Owner: gforien
- Created: 2021-12-12T12:32:00.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-14T12:00:32.000Z (almost 3 years ago)
- Last Synced: 2024-10-09T16:41:13.078Z (about 1 month ago)
- Topics: aws, aws-eks, go, helm, kubernetes, microservice, terraform
- Language: PowerShell
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# reddit-assignment ♻☸🌐
### Coding assignment trouvé sur [r/devops](https://www.reddit.com/r/devops):
Écrire et déployer un microservice avec Go, Helm, Terraform, AWS, Github Actions### Table des matières
1. [Microservice en Go](PART-1.md)
1. [Tests](PART-1.md#Tests)
1. [Containerization](PART-2.md)
1. [Écrire le Dockerfile](PART-2.md#dockerfile)
1. [Lancer avec Docker-compose](PART-2.md#docker-compose)
1. [Lancer avec Docker Swarm](PART-2.md#docker-swarm)
### Sujet (légèrement modifié)
```
1. Using Go, write a simple counter application (http server) which serves 3 endpoints
- /inc which increment the hits and save in redis
- /dec which decrement the hits and save in redis
- /count will present the number of hits.
Containerize all code including the redis, and save it as docker-compose build.
Remove the source code from the container.
Save it on github repository2. Build a helm chart of the httpserver you wrote.
Explain which kind of k8s resource you pick and why?
Add liveness and readiness
Expose the service port to 3030
Install kind to test you application and install the helm chart
Bonus**: Serve a route with the commit SHA of the deployed app.3. Build github action file that trigger build on specific wildcard PR (*build*) and
on merge to master and create tags, which build your container, run unittest, save
to the registry with the correct version.
Bonus: Write a terraform which spins a virtual machine and sets relevant firewall
rules and load balancer for our application. Pick (GCP or AWS).4. Script:
Write a script (shell) which acts like installer (curl …..| bash -c… look a like)
Its will download and the httpserver as binary (you can include the httpserver above
as binary in the shell script). Add check that its install on linux os and ubuntu 20.04
Bonus: add systemctl service start for the application.Note: Please document all command in README.md format and save on the github repository
```#### Gabriel Forien
5TC INSA Lyon
![](https://upload.wikimedia.org/wikipedia/commons/b/b9/Logo_INSA_Lyon_%282014%29.svg)