Giter Club home page Giter Club logo

devops-workshop-2020's Introduction

Hello, I am Justin ๐Ÿ‘‹

I am a devops engineer at IBM making sure compilers get built on time and are ready to ๐Ÿšข...Infrastructure as code...amirit... Also learning some gold standard web development, project management and Flutter in my spare time ๐ŸŒฑ. Before I started social distancing I used be a gym rat especially proud of my squats ๐Ÿ‹๏ธ. Ask me about index funds ๐Ÿ“ˆ or what kind of fitness routine I follow. For engineering matters you're well off with your search engine.

devops-workshop-2020's People

Contributors

justinjk007 avatar rofrano avatar

devops-workshop-2020's Issues

Add ability to delete a counter

Add ability to delete a counter

As a: User
I need: the ability to delete a counter
So that: I can remove unwanted counters

Assumptions:

  • Deleting a counter will remove it from the database
  • If the counter doesn't exist a 204_NO_CONTENT will be returned

Acceptance Criteria:

Given I have counter named foo
When I delete the counter named foo
Then I should receive a 204_NO_CONTENT
And I retrieve the counter named foo
Then I should receive 404_NOT_FOUND
And I delete the counter named foo again
Then I should receive a 204_NO_CONTENT

Create a skeleton Flask service

Create a skeleton Flask service

As a: Service Provider
I need: a minimal Flask service
So that: my developers have a starting point to add code

Assumptions:

  • Only the root / URl needs to be defined
  • Call it app.py for now

Acceptance Criteria:

Given I have a skeleton Flask app
When I call the / URL
Then I should see "Hello from Flask" returned

Add a counter where each GET increments the counter

As a: User
I need: a way to register a hit on the counter So that: it increments with every access

Assumptions:

Calling the GET /counter URl will increment the counter
No need for the counter to be persistent for now

Acceptance Criteria:

Given I have a counter
When I call the /counter URL
Then I should see the counter increment

Make the counter persistent

Make the counter persistent

As a: User
I need: the hit counter to persist the last known count
So that: I don't loose track of the count after the service is restarted

Assumptions:

  • We will use Redis as the persistent store
  • A Redis image from Docker should be used

Tasks:

  • Need to update the Vagrantfile with Redis Docker image
  • Need to create a Model that uses Redis

Acceptance Criteria:

Given I have a persistent counter
When I advance the hit counter to 2
And I restart the hit counter service
And I call the hit /counter URL
Then I should see 3 returned from the service

Add Docker support

Add Docker support

As a: Service Provider
I need: the ability to deploy my service using Docker
So that: I can move with speed and agility

Assumptions:

  • Need to create a Dockerfle for the service
  • Need to update Travis CI to use Docker version

Acceptance Criteria:

Given I have my service in a Docker image
When I user docker run
Then I should have my service running in a contatiner

Add Kubernetes support

Add Kubernetes support

As a: Service Provider
I need: the ability to deploy my service on Kubernetes
So that: I can easily scale it out horizontally as needed

Assumptions:

  • Need to create Kubernetes manifests
  • Need a to deploy a Redis database in Kubernetes

Tasks:

  • Create a deployment.yaml file for service
  • Create a service.yaml file for the service
  • Create a redis.yaml file to deploy Redis as a StatefulService

Acceptance Criteria:

Given I have my service in Kubernetes
When I ask Kubernetes to scale to 5 instance
Then I should have 5 instances of my service running

Add ability for multiple counters that are RESTful

Add ability for multiple counters that are RESTful

As a: User
I need: the ability to create multiple RESTful counters
So that: I can keep track of multiple hit targets

Assumptions:

  • We will implement using REST API guidelines
  • Add ability to create multiple named counters
  • Add ability to update counters by name

Tasks:

  • Need to update root / URL to return json message
  • Need to rename /counter to /counters
  • Need to change GET to only return the counter
  • Need to implemtent POST to create new counters
  • Need to implement PUT to update multiple counters

Acceptance Criteria:

Given I have a multi-counter ability
When I create a counter named foo
And I update the counter named foo to 1
And I call the hit /counters/foo URL
Then I should see 1 returned from the service

Setup Continuous Integration

Setup Continuous Integration

As a: Developer
I need: the ability to continuously test my code
So that: I can know if a Pull Request has broken the build

Assumptions:

  • We will use Travis CI
  • Need to tell Travis CI that we need a Redis database

Acceptance Criteria:

Given I have set up Travis CI
When I make a Pull Request
Then my automated tests should run automatically
And if they fail the build will be stopped

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.