Code Monkey home page Code Monkey logo

aventus_exercise's Introduction

DEVOPS Exercise Statement 1
Backend with Two Endpoints

PLAN
1. Going to Setup a Python project with Flask by:

    * Creating Flask webframework to /populate and /delete endpoints.
    * Use SQLAlchemy for ORM with PostgreSQL.
    * The /populate endpoint will generates random data and inserts it into the database.
    * The /delete endpoint will deletes all data from the database.

EXERCISE: COMPLETED
TESTED: YES

2. Dockerize the Backend

    * Create a Dockerfile and Docker-compose that sets up a Python environment, installs dependencies, and runs the backend application.
    * Use a multi-stage build for smaller image size if possible.

EXERCISE: COMPLETED
TESTED: YES

3. GitHub CI for Docker Image

* Setted up GitHub Actions workflow in ".github/workflow/docker-image.yml" directory to build Docker image when triggered by push towards "DEVOPS_Exercise_Statement_1" branch

EXERCISE: COMPLETED
TESTED: YES

4. Helm Chart for Deployment

* Created a Helm chart that includes:
    * Deployment for the backend application.
    * A PostgreSQL database deployment , including PVCs for data persistence.
    * Configured to initialize the database schema on first run.
    * A deployment for a web-based PostgreSQL UI (e.g., PGAdmin) accessible securely.
    * Included values.yaml for customizable deployment options.

EXERCISE: COMPLETED
TESTED: YES



5. Not related to previous exercise:
   a. Share some terraform code and/or module that is using the AWS provider that was developed by you.

EXERCISE: COMPLETED
TESTED: YES


DEVOPS Exercise Statement 2

Infrastructure as Code (IaC) Using Terraform

1. Terraform Setup for AWS Resources

    * Defined a Python script that generates a file with random data.
    * Used AWS Lambda to run this script, packaging the Python script within the Lambda deployment package.
    * Trigger the Lambda function through AWS API Gateway, set up with a custom domain.
    * Configured the S3 bucket in a separate AWS account, handling cross-account permissions correctly for Lambda to write to it.

EXERCISE: COMPLETED
TESTED: UNTESTED

2. GitHub Actions for Deployment

    * CreateD a CI/CD pipeline using GitHub Actions to deploy the Terraform code.
    * EnsurIng the pipeline includes steps for Terraform initialization, validation, plan, and apply.
    * Used secrets for sensitive information like AWS credentials.
    * pipeline is located".github/workflow/terraform-action.yml" directory and its triggered when push to "DEVOPS_Exercise_Statement_2" branch

EXERCISE: COMPLETED
TESTED: ON LOCAL ENVIRONMENT

Helm Charts Sharing
* Provide examples of Helm charts you've developed, showcasing how you structure charts, manage dependencies, configure templates, and utilize values for deployment customization.

EXERCISE: CLASSIFIED UNABLE TO SHARE
TESTED: CLASSIFIED UNABLE TO SHARE

aventus_exercise's People

Contributors

gelson12 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.