GithubHelp home page GithubHelp logo

testdrive's Introduction

Задание 1 - docker-compose

  • Реализовать тривиальное HTTP "Hello, world!" web-приложение на любом удобном Вам языке программирования и завернуть его в clound native окружение.

Реализация

  • Dockerfile c Python приложением на Flask с названием testdrive которые выводит на 5000 TCP порт сообщение "Hello world".
  • Приложение имеет ready-check в виде образа waisbrot/wait который через переменную окружения TARGETS=testdrive:5000 обращается к сервису и дожидаетя его запуска.
  • Приложение имеет health-check через встроенную функцию HEALTHCHECK, обращается на 5000 TCP порт через curl и, в случае получения отрицательного HTTP кода ответа, выходит при получении не 0 ответа.
  • Приложение предоставляет metrics endpoint для Prometheus через prometheus flask exporter (https://github.com/rycus86/prometheus_flask_exporter) встроенный в код и отдающий метрики по роуту /metrics.
  • Подключена связка Prometheus и Grafana с Flask dashboard с визуализацией метрик.
  • Все оформлено в docker-compose.yml файл, который запускает приложение со всеми необходимыми образами.

Метрики

  • Посмотреть метрики можно в Grafana обратившись к порту 3000 и ввести логин/пароль: admin/testdrive
  • Также можно обратиться через curl по адресу http://ip:5000/metrics

Задание 2 - k8s

Hi, in this practical test we expect you to show skills at IaC, cloud configuration management and web application deployment. Solution should be published as a git repo. You can use any tools that you want, there is no any limitations on that side.

  1. Setup a Kubernetes cluster
  2. Install Nginx Ingress
  3. Deploy basic web application
  4. Setup prometheus operator end expose Prometheus and Alertmanager
  5. Expose metrics from application to Prometheus
  6. Set up Grafana and expose a public Grafana dashboard
  7. Add dashboard in Grafana for Nginx ingress controller and your web application

Grafana - http://grafana.gcp.megaanton.ru (admin/prom-operator)
Application - http://app.gcp.megaanton.ru
Prometheus - http://prometheus.gcp.megaanton.ru
Alertmanager - http://alertmanager.gcp.megaanton.ru

testdrive's People

Contributors

holooloo 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.