Code Monkey home page Code Monkey logo

devops-capstone-project's People

Contributors

h3u avatar

Watchers

 avatar

devops-capstone-project's Issues

Set up the development environment

As a Developer
I need to use a development environment
So that I'm able to produce code

Details and Assumptions

* Git/Github for Source Code Management
* Zenhub for Issue/User Story handling 
* App should be built with Python and Flask
* Microservice with REST API
* An online lab environment will be used

Acceptance Criteria

gherkin 
Given the online lab environment is available
When starting the environment
Then I can begin implementing the service 

Create a CD pipeline to automate deployment to Kubernetes

As a developer
I need to create a CD pipeline to automate deployment to Kubernetes
So that the developers are not wasting their time doing it manually

Assumptions

  • Use Tekton to define the pipeline
  • It should clone, lint, test, build, and deploy the service
  • Deployment should be to OpenShift
  • It can use a manual trigger for this MVP

Acceptance Criteria

Given the CD pipeline has been created
When I trigger the pipeline run
Then I should see the accounts service deployed to OpenShift

Update an account in the service

As a customer account manager
I need to update a customers data
So that I can make corrections for name or address

Details and Assumptions

* Adding a customer is already implemented, so there should be functionality reusable

Acceptance Criteria

gherkin 
Given a customer has been added
When I change customers name or address
Then it should be persistent in the service

Need the Ability to Automate Continuous Integration Checks

As a Developer
I need automation to build and test every pull request
So that I do not have to rely on manual testing of each request, which is time-consuming

Assumptions

  • GitHub Actions will be used for the automation workflow
  • The workflow must include code linting and testing
  • The Docker image should be postgres:alpine for the database
  • A GitHub Actions badge should be added to the README.md to reflect the build status

Acceptance Criteria

Given code is ready to be merged
When a pull request is created
Then GitHub Actions should run linting and unit tests
And the badge should show that the build is passing

Deploy your Docker image to Kubernetes

As a service provider
I need my service to run on Kubernetes
So that I can easily scale and manage the service

Assumptions

  • Kubernetes manifests will be created in yaml format
  • These manifests could be useful to create a CD pipeline
  • The actual deployment will be to OpenShift

Acceptance Criteria

Given the Kubernetes manifests have been created
When I use the oc command to apply the manifests
Then the service should be deployed and run in Kubernetes

Containerize your microservice using Docker

As a developer
I need to containerize my microservice using Docker
So that I can deploy it easily with all of its dependencies

Assumptions

  • Create a Dockerfile for repeatable builds
  • Use a Python:3.9-slim image as the base
  • It must install all of the Python requirements
  • It should not run as root
  • It should use the gunicorn wsgi server as an entry point

Acceptance Criteria

Given the Docker image named accounts has been created
When I use docker run accounts
Then I should see the accounts service running in Docker

Read an account from the service

As a customer account manager
I need to keep track of the customers on our e-commerce website
So that customer basic data, like name and address can be used on the website

Details and Assumptions

* Endpoint for adding a customer is already implemented

Acceptance Criteria

gherkin 
Given customer data has been added to the service
When I request a customers data
Then I receive the stored data of the given customer

List all accounts in the service

As a customer account manager
I need to list all customers
So that I have an overview and can select one for further actions

Details and Assumptions

* Customers can already be added and most likely updated and deleted

Acceptance Criteria

gherkin 
Given there are customers added to the service
When I request a list of customers
Then I can get a list with all customers with name and address

Need to add security headers and CORS policies

As a service provider
I need my service to use security headers and CORS policies
So that my web site is not vulnerable to CORS attacks

Assumptions

  • Flask-Talisman will be used for security headers
  • Flask-Cors will be used to establish cross-origin resource sharing (CORS) policies

Acceptance Criteria

Given the site is secured
When a REST API request is made
Then secure headers and a CORS policy should be returned

Delete an account from the service

As a customer account manager
I need to delete a customer and its data
So that I can remove obsolete customers

Acceptance Criteria

gherkin 
Given there are customers added
When I delete a given customer
Then it is removed from the service

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.