Giter Club home page Giter Club logo

devops-task's Introduction

Тестовое задание

1. Ansible playbook

Необходимо написать Ansible playbook, который выполняет на хосте следующие действия:

  • создает нового пользователя brickdev с паролем pass
  • разрешает на хосте авторизацию через ssh по ключу
  • запрещает логин по ssh от пользователя root
  • копирует предоставленный публичный ключ для пользователя cloudru

Плейбук должен выполняться относительно чистого дистрибутива ОС Debian 12. Для написания и проверки плейбука можно локально развернуть VM с помощью любого удобного инструмента виртуализации (VirtualBox, VmWare Fusion, VmWare Fusion Player, Hyper-V, ...)

Полученный плейбук и команду для его запуска положить в папку /playbook

2. Web приложение на NodeJS

Приложение

Требуется написать простое веб-приложение на NodeJS, которое слушает входящие соединения на порту 8000 и предоставляет HTTP API, в котором реализовано 3 метода:

  • GET /hostname - при запросе на этот метод приложение отдает имя хоста, на котором запущено приложение
  • GET /author - возвращает значение переменной окружения $AUTHOR, в которой задано имя или никнейм человека, выполняющего это задание
  • GET /id - возвращает значение переменной окружения $UUID, содержащее любую произвольную строку-идентификатор в формате uuid

Dockerfile

Необходимо написать Dockerfile для полученного приложения в соответствии с принятыми в сообществе best-practice.

Полученный скрипт и Dockerfile к нему положить в папку /app

Docker compose

Далее необходимо написать docker-compose.yml для запуска приложения с 3 репликами. Реализовать health checks. В переменную UUID должен подставляться номер реплики, в котором запущено приложение.

devops-task's People

Contributors

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