Code Monkey home page Code Monkey logo

dev-ops-test's Introduction

DevOps Test

Must do:

  1. GitOps Principles
  2. Boostrap script or Ansible Code
  3. Document your solution

Steps

  1. Please clone this repository into a new private github repository and add below repository as a git submodule, https://github.com/Star2Billing/a2billing

  2. Follow the INSTALL.rst, this guid is design to run the software in a single VM, you need to separate the services into 5 Kuberenetes services in two helm charts as below (Deployments).

Of course you you can also skip the part for "Callback Service"

Create a helm chart called a2billing with below deployments

  1. web-customer: Docker image: php-apache (ingress: http://cluster/customer)
  2. web-admin: Docker image: php-apache (ingress: http://cluster/admin)
  3. sip-server: Dockerize asterisk asterisk (ingress: sip://cluster TCP/UDP 5060)

Create a second helm chart with deployments

  1. db-server: mysql
  2. phpmyadmin: phpMyAdmin (ingress: http://cluster/phpmyadmin)

Note for the Asterisk: you can use CHAN_SIP which is the legacy asterisk module for SIP Server and can configure with sip.conf and it is recommended to use asterisk 11 to 13 for above (It's OLD!)

Note for PHP: requested php version is 5, but it should also work php 7.x

  1. Test customer portal : try to register when navigating to customer

  2. Test admin portal : you must be able to login and see the customer you just registered

  3. (Nice to do) Add CI/CD Pipeline (You can choose Azure or Gitlab) for automatic testing and automatic deployment

  4. (Nice do do) Once your cluster is up and running, you must be able to use the client you have registered register with a SIP client softphone to your asterisk on port 5060.

  1. We expect to see a single bash script or ansible to bootstrap the build/deployment process for locally execution of the assignment in minimkube or kind environment.

if it works, dialing 77 should announce your credit. provided you have modified extensions.conf to below:


[a2billing]
include => a2billing_callingcard
include => a2billing_monitoring
include => a2billing_voucher

Share the result with user: mason-chase on GitHub in private mode.

dev-ops-test's People

Contributors

mason-chase 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.