Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denisnp/as2023env
https://github.com/denisnp/as2023env
Last synced: about 9 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/denisnp/as2023env
- Owner: DenisNP
- Created: 2023-04-09T22:25:05.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-06-17T07:27:49.000Z (over 1 year ago)
- Last Synced: 2023-08-02T22:03:08.291Z (over 1 year ago)
- Language: C#
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Окружение для компетенции "Программные решения для бизнеса" на AtomSkills 2023
## Принцип работы
При старте сервис создаёт фейковых сотрудников на каждую должность, а на каждого сотрудника ровно одну штатную единицу в статусе "Закрыта". Далее раз в заданный период времени сервис будет уволнять сотрудника до тех пор, пока число открытых штатных единиц не достигнет некоторого предела. При добавлении сотрудника штатная единица поменяется в статус "Ожидание" на другой заданный период времени, после чего переходит в статус "Закрыта".## Инструкция по развёртыванию
### I. Задать необходимые параметры в файле `docker-compose.yml`
| Парметр | Пример значения | Описание |
| --- | --- | --- |
| `ports` | _5000:80_ | Маппинг портов. Первое число определяет, на каком порту будет открываться сервис. Второе число всегда должно быть 80. |
| `AS23_CREDENTIALS` в блоке `environment` | _admin:password_ | Логин и пароль для Basic-авторизации с сервисе. Какие будут установлены здесь, такие и потребуются впоследствии клиентам для авторизации. |
| `AS23_CONFIG` в блоке `environment` | _{"empPerPosMin":2, "empPerPosMax":4, "activeUnitsMax":5, "fireDelaySec":15, "pendingDelaySec":30}_ | JSON с конфигурацией сервиса, см. ниже |
| `AS23_POSITIONS` в блоке `environment` | _{"backend-developer":"Бэкенд-разработчик", "frontend-developer":"Фронтенд-разработчик"}_ | Список предустановленных в систему должностей в формате JSON: ключи это идентификаторы должностей, а значения это текстовые описания. |#### Конфигурация сервиса
| Поле | Описание |
| --- | --- |
| `empPerPosMin` | Минимальное количество сотрудников, которые будут созданы на каждую должность. |
| `empPerPosMax` | Максимальное количество сотрудников, которые будут созданы на каждую должность. |
| `activeUnitsMax` | Количество свободных штатных единиц, после которого прекращается увольнение сотрудников. |
| `fireDelaySec` | Промежуток времени в секундах между увольнениями сотрудников. |
| `pendingDelaySec` | Промежуток времени в секундах от регистрации нового сотрудника до закрытия его штатной единицы. |#### Должности по-умолчанию
```json
{
"backend-developer": "Бэкенд-разработчик",
"design": "Дизайнер",
"devops": "DevOps инженер",
"frontend-developer": "Фронтенд-разработчик",
"hr": "Сотрудник отдела кадров",
"qa": "Инженер по тестированию",
"teamlead": "Тимлид"
}
```### II. Запустить сервис и вывести логи в нужный файл
Команда на запуск
`docker compose up -d` в репозитории сервиса
Вывод логов в отдельный файл
`docker compose logs -t > /path/to/logs.txt &` в том же репозитории