Skip to content

charlie-goldenowl/goldenowl-devops-internship-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

Golden Owl DevOps Internship - Technical Test

At Golden Owl, we believe in treating infrastructure as code and automating resource provisioning to the fullest extent possible.

In this technical test, we challenge you to create a robust CI build pipeline using GitHub Actions. You have the freedom to complete this test in your local environment.

Your Mission 🌟

Your mission, should you choose to accept it, is to craft a CI job that:

  1. Forks this repository to your personal GitHub account.
  2. Dockerizes a Node.js application.
  3. Establishes an automated CI/CD build process using GitHub Actions workflow and a container registry service such as DockerHub or Amazon Elastic Container Registry (ECR) or similar services.
  4. Initiates CI tests automatically when changes are pushed to the feature branch on GitHub.
  5. Utilizes GitHub Actions for Continuous Deployment (CD) to deploy the application to major cloud providers like AWS EC2, AWS ECS or Google Cloud (please submit the deployment link).

Nice to have 🎨

We would be genuinely delighted if you could complement your submission with a visual flow diagram, illustrating the sequence of tasks you performed, including the implementation of a load balancer and auto scaling for the deployed application. This additional touch would greatly enhance our understanding and appreciation of your work.

Reference tools for creating visual flow diagrams:

Including a visual representation of your workflow will provide valuable insights into your approach and make your submission stand out. Thank you for considering this enhancement!

The Bigger Picture 🌏

This test is designed to evaluate your ability to implement modern automated infrastructure practices while demonstrating a basic understanding of Docker containers. In your solution, we encourage you to prioritize readability, maintainability, and the principles of DevOps.

Submission Guidelines 📬

Your solution should be showcased in a public GitHub repository. We encourage you to commit early and often. We prefer to see a history of iterative progress rather than a single massive push. When you've completed the assignment, kindly share the URL of your repository with us.

Running the Node.js Application Locally 🏃‍♂️

This is a Node.js application, and running it locally is straightforward:

  • Navigate to the src directory by executing cd src.
  • Install the project's dependencies listed in the package.json file by running npm i.
  • Execute npm test to run the application's tests.
  • Start the HTTP server with npm start.

You can test it using the following command:

curl localhost:3000

You should receive the following response:

{"message":"Welcome warriors to Golden Owl!"}

Are you ready to embark on this DevOps journey with us? 🚀 Best of luck with your assignment! 🌟

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published