howsen82 / devops-capstone-project Goto Github PK
View Code? Open in Web Editor NEWFinal project for DevOps Capstone Project
License: Apache License 2.0
Final project for DevOps Capstone Project
License: Apache License 2.0
As a User
I need a service to update an account
So that I can update an account information
* Need a way to update an account
* Need a way to get updated information
Given I need to update account
When I click on Update button
Then information being updated and notification to inform user
As a developer
I need to containerize my microservice using Docker
So that I can deploy it easily with all of its dependencies
Dockerfile
for repeatable buildsPython:3.9-slim
image as the baseroot
gunicorn
wsgi server as an entry pointGiven the Docker image named accounts has been created
When I use docker run accounts
Then I should see the accounts service running in Docker
As a Developer Team
I need to set up the development environment for the project
So that everything was ready for the project
* Need to do initial setup for the project environment
* Prepare python environment ready for installing required dependencies and requirements.
Given a startup python project
When need to setup for the python development environment
Then do it in cloud IDE
As a User
I need a service to display and list all accounts
So that I can see any accounts available inside the application
* Need a way to see all accounts information
* All account records display on the system
Given I need to list all accounts
When I click on **Account** button
Then all accounts details being show on the system.
As a Developer
I need read an account from the service
So that I get can information from the Account to do authentication
* Access right to read an account
* Authenticate user
Given application need to access account information
When I click on the application
Then user being read and authenticated.
As a service provider
I need my service to run on Kubernetes
So that I can easily scale and manage the service
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
**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
```gherkin
Given the site is secured
When a REST API request is made
Then secure headers and a CORS policy should be returned
```
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
Given the CD pipeline has been created
When I trigger the pipeline run
Then I should see the accounts service deployed to OpenShift
**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
```gherkin
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
```
As a User
I need a service to delete account
So that the account being removed from the service
* Need a way to delete an account
* Notify user when account was deleted.
Given I have to delete an account
When click on **Delete** button
Then account being removed from the service account
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.