Giter Club home page Giter Club logo

candv's Introduction

Stories in Ready

CandV ('kand-ve)

What is this?

A simple copy and paste (ctrl+c, ctrl+v) application and database that is configured for Red Hat's OpenShift.

Screenshot CandV

How can I run my own candv app?

This app is configured to be deployed and managed via OpenShift. Which means all you'll need to do is: point Open Shift to the source code, tell it you want a mongo database, and then set any variables you want to customize for your environment.

Here's how from the Open Shift command line tool:

oc new-project candvdemo

oc new-app https://github.com/dudash/candv

oc process openshift//mongodb-ephemeral | oc create -f -

oc expose service candv

(Note that using this method you will also have to create ENV vars in the app to allow for the MongoDB connection - see the deployment config of mongodb for the variables)

-OR- You can run this as an Instant App (aka templates)

There is also template for this to be an Instant app for OpenShift. It contains the definitions of resources and configuration parameters that OpenShift can use to create everything you need to run. This makes things even more automated. Try this by typing this into the command line (after logging into an OpenShift server):

oc new-app -f https://raw.githubusercontent.com/dudash/candv/master/oc_templates/candv-instantapp-template.json

Or if you are an Open Shift administrator you can install the template for users to create with the web console.

Click here if you want to read about making your own instant apps for OpenShift.

What is now running and being managed by OpenShift looks like the diagram below.

CandV architecture diagrams

  • TBD Conceptual Arch - webapp node.js serverside, webapp client side java script, database
  • TBD Deployment Arch - openshift containers, pods, services, routes

How is this deployment/devops magic happening?

oc new-app is creating a bunch of configuration metadata for the app. Then the app is getting built into a container image with a tool called Source 2 Image (s2i). You can read about S2I here. And even more here. The container then gets pushed to a container registry so that it's accessible to all nodes in the cluster. And then an instance of the container is getting deployed (pulled and run) in the cluster. Kubernetes does the orchestrating of container placement in the best fit of your cluster and then keeps watching it to keep it running. A route configuration is allowing external traffic into the container and a service layer is acting as an internal load balancer to get traffic to the correct container.

Read more about OpenShift and getting started here:

Notes on using CandV

The webapp is mostly obvious in terms of user interaction. Click in the box and paste your data, then press enter or click the 'Add' button to insert into the global clipboard list. You can retrieve previously entered data from the list by clicking the copy icon located to the right of the data. Currently delete is not supported.

Notes on the CandV REST interface

The REST interface and corresponding OpenAPI spec is in-progress, so the write-up is TBD.

Common Problems and Debugging Help

Currently there are no common problems - if you have some please submit issues. Here are some tips on debugging openshift origin.

Future Features + Bugs + Etc...

Everything is tracked in the github issue tracker.

Please write up bugs with as much detail as possible and include:

  1. Details on what happened
  2. How to reproduce it
  3. Anything unqiue about your deployment environment

License

Under the terms of the MIT.

candv's People

Contributors

dudash avatar waffle-iron avatar

Watchers

 avatar

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.