Infrastructure as Code Testing Framework

Руководитель

Владислав Рассохин

Продукт

TeamCity

Город

Санкт-Петербург

Проект

Следуя практике "Infrastructure as Code" мы автоматизируем установку и конфигурацию своих серверов и приложений с помощью скриптов на Ansible и Terraform, упаковываем сервисы в Docker-имиджи.

Со временем у нас накопилось много кода, который хочется переиспользовать между несколькими проектами. Как с любыми библиотеками, такому коду нужны автоматические тесты. Они проверяют, что виртуальная машина создалась успешно, приложение отвечает на HTTP-запросы, база данных настроена с правильными опциями.

Существующие фреймворки для написания таких высокоуровневых тестов либо слишком экзотичны (Chef InSpec), либо ограничены (Goss).

Требуется создать фреймворк для тестирования элементов инфраструктуры:

  • набор локальных ресурсов (процесс, stdout, файл, порт);
  • обертки для сервисов AWS;
  • test runner для запуска terraform-модулей и ansible-ролей.

Свойства фреймворка:

  • Kotlin;
  • в стиле BDD (spek);
  • выразительные и удобные assertions;
  • понятные ошибки.

Презентация 26 апреля 2017

Требования

Обязательно

  • Знание Java и/или Kotlin

Будет плюсом

  • знакомство с Ansible или Terraform;
  • опыт написания тестов на BDD фрэймворках.
Презентация проекта 31 августа 2017