Git Product home page Git Product logo

devops-capstone-project's People

Contributors

jurij-robba avatar

Watchers

 avatar

devops-capstone-project's Issues

Containerize your microservice using Docker

As a developer
I need to containerise the application
So that I can deploy it

Details and Assumptions

  • we will be using docker

Acceptance Criteria

Given I am a developer
When I run docker build
Then I get container image

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

Set up the development environment

As a developer
I need functional development environment
So that i can develop application

Details and Assumptions

  • needs to support devops best practices

Acceptance Criteria

Given I am developer with a development machine
When I start application development
Then I have all the tools necessary

List all accounts in the service

As a administrator
I need a way to list users
So that so that i can perform statistics

Details and Assumptions

  • we should be using REST api

Acceptance Criteria

Given i have sufficient rights
When a call api
Then list of accounts is returned

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

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

Read an account from the service

As a costumer
I need a way to read account from the service
So that I can see data connected to it

Details and Assumptions

  • we will use GET REST request

Acceptance Criteria

Given I am user and connected to internet
When I issue get request to the service
Then I get account details

Update an account in the service

As a costumer
I need a need a way to update account
So that I can provide most recent info

Details and Assumptions

  • this should be done over POST / UPDATE request

Acceptance Criteria

Given I am user with internet access
When i try to update 
Then next time i call GET i get updated infromation

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

Containerize your microservice using Docker

As a developer
I need to deploy my container to production
So that it is accessible to public

Details and Assumptions

  • we will be using kubernetes

Acceptance Criteria

Given I am a developer
When I deploy container to production
Then It is accessible by the public

Delete an account from the service

As a User
I need ability to delete account
So that I can comply with GDPR

Details and Assumptions

  • account needs to be deleted permanently, not just archived

Acceptance Criteria

Given a user wanting to delete account
When call to DELETE is called
Then the account cannot be retrieved anymore 

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.