GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Consek/devops-example-application: Example DevOps application with three services

BranchesTags
Open more actions menu

Latest commit

 

History

92 Commits
92 Commits

Folders and files

NameName
Last commit message
Last commit date
.build
.build
 
 
.deployment
.deployment
 
 
.github/workflows
.github/workflows
 
 
ansible
ansible
 
 
backend
backend
 
 
doc/images
doc/images
 
 
frontend
frontend
 
 
jenkins
jenkins
 
 
proxy
proxy
 
 
terraform
terraform
 
 
test
test
 
 
.editorconfig
.editorconfig
 
 
.env-template
.env-template
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
Jenkinsfile-containers
Jenkinsfile-containers
 
 
Jenkinsfile-deployment
Jenkinsfile-deployment
 
 
Jenkinsfile-dip
Jenkinsfile-dip
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 

Repository files navigation

Devops example application

This application serves as an example to show different methodologies for deployment and building in DevOps.

It consists of four services:

  • frontend
  • proxy
  • backend
  • redis

App diagram with request flow

  +--------------+                                      +--------------+
  |              |                                      |              |
  |   Frontend   |                                      |    Redis     |
  |              |                                      |              |
  +----------+---+                                      +----------+---+
       ^     |                                               ^     |
       |     |                                               |     |
       1     2                                               5     6
       |     |                                               |     |
       |     v                                               |     v
  +----+---------+             +-------------+          +----+---------+
  |              +------3----->|             +----4---->|              |
  |    Client    |             |    Proxy    |          |    Backend   |
  |              |<-----8------+             |<---7-----+              |
  +--------------+             +-------------+          +--------------+

App UI

The application displays proxy and backend instances with version and hostname. Also displays which instances handled the current connection by connecting them by an arrow.

App view

How to run the application

To start the application cd into the .deployment folder and either run dip provision or docker-compose up -d.

In case of docker compose the command will need to be run multiple times because of dependencies, dip tool handles it automatically.

Folder and file structure

Application folders

Whole application is kept in frontend, backend and proxy folders. Each consists of service code, makefile for building and running the application, Dockerfile and files used to deploy to Google Cloud environment.

Other folders

  • .build - builds all components using dip. Used by CI.
  • .deployment - deploys whole project using dip. Can be deployed locally or on external server
  • .github - stores workflows for Github Actions
  • ansible - configures Jenkins server and staging and production environments with auto deployment. To be used with terraform folder
  • doc - documentation related files
  • jenkins - container related files to deploy Jenkins locally
  • terraform - code for deploying infrastructure using Hetzner Cloud and Cloudflare
  • test - files for testing infrastructure

Files

  • Jenkinsfile - different Jenkinsfiles used by Jenkins
  • .travis.yml - Travis CI pipeline

Author

Jan Kacik

About

Example DevOps application with three services

Topics

devopsdevops-enabled

Resources

Readme
MIT license
Activity

Stars

2 stars

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.