GithubHelp home page GithubHelp logo

devops-capstone-project's People

Contributors

anderzzz avatar

Watchers

 avatar

devops-capstone-project's Issues

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

Delete an account from the service

As a Developer
I need to be able to delete an account from the service
So that all data and associations with the service are removed

Details and Assumptions

* [document what you know]      

Acceptance Criteria

    Given an authorized connection and a valid account with a unique identifier
    When that unique account identifier is provided through the authorized connection to the delete function
    Then all data associated with the account with that unique identifier are deleted from the database
    And the unique identifier is retired such that no new account is associated with that identifier

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

Update an account in the service

As a Developer
I need to be able to update account data
So that any errors in said data can be fixed

Details and Assumptions

* [document what you know]      

Acceptance Criteria

    Given an authorized connection and a valid account with a unique identifier
    When that unique account identifier is provided through the authorized connection to the update function
    And one account field key is provided along with a valid value through the same connection
    Then the value of the account field with said key is changed to the new valid value
    And all other account fields remain unchanged

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

Read an account from the service

As a Developer
I need to be able to read account data
So that any data on completed and pending orders, and user name and address can be used to instruct fulfilment actions

Details and Assumptions

* [document what you know]      

Acceptance Criteria

    Given an authorized connection and a valid account with a unique identifier
    When that unique account identifier is provided through the authorized connection to the read function
    Then all completed and pending order data for said account are listed along with name and address associated with the account

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

List all accounts in the service

As a Developer
I need to be able to list all accounts in the service
So that an overview of current accounts is obtained

Details and Assumptions

* [document what you know]      

Acceptance Criteria

    Given an authorized connection
    When a list all command is invoked through the authorized connection
    Then all unique account identifiers are listed for current accounts

Set up the development environment

As an Operations Manager
I need to be able to set up the development environment
So that development and testing of new features are done in the appropriate environment

Details and Assumptions

* [document what you know]      

Acceptance Criteria

    Given a configuration of a development environment in a text format
    When the configuration text file is machine interpreted and of valid syntax
    Then within 5 minutes, a development environment is set up as configured

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.