imp-start-kit + microservice-layout
Репозиторий, который содержит нужные файлы для сборки и деплоя приложения в IMP
Сборка приложения
-
Установить переменные окружения:
export APP_NAME=my-app
export APP_VERSION=version # определяется в cicd
export GITHUB_CREDS=token # определяется в cicd
export BUILD_DIR=cmd/app
export DOCKERFILE_NAME=build/Dockerfile
export OUTPUT_BINARY=build/output/main
export REGISTRY_HOST=registry.idmp.tech
export PROJECT_NAME=indriver
export HELM_VALUES_FILE=deployments/helm/values.yaml
-
Собрать биарник или образ:
# собрать бинарник приложения
# выполняется make deps и make build-binary
make build
# собрать docker-образ
make build-image
Структура прототипа
├── build - конфиги и файлы для сборки проекта
├── cmd - точка входа в приложение - запуск приложения
├── config - конфигурации для правил монторинга, алертов и consul/vault
├── alert_rules.yaml - правила для promentheus
└── default.json - дефлотный конфиг json со всеми полями)
├── deployments - конфиги и файлы для развертывания приложения
└── helm
└── values.yaml - файл параметров для создания helm чарта
├── docs - документация (swagger, etc)
├── scripts - скрипты и конфиги
└── local - скрипты и конфиги для локальной разработки (локальное окружение mysql, redis, kafka, nats и тп)
├── Makefile - файл, в котором описаны сценраии сборки приложения как в контейнере, так и локально
└── PASSPORT.md - по этому файлу будет генерироваться карточка приложения
Генерация документации
В start-kit были добавлены файлы из проекта https://github.com/inDriver/microservice-layout,
в случае возникновения идей по универсализации репозиториев, просьба писать в канал Slack #imp