{"id":23712159,"url":"https://github.com/digillect/meister","last_synced_at":"2026-05-05T04:07:43.617Z","repository":{"id":40532428,"uuid":"193492211","full_name":"Digillect/meister","owner":"Digillect","description":"Git multirepository orchestrator","archived":false,"fork":false,"pushed_at":"2023-01-20T16:15:13.000Z","size":26,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T19:57:17.592Z","etag":null,"topics":["git","multirepo","orchestrator"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Digillect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-24T11:26:47.000Z","updated_at":"2020-03-11T09:14:28.000Z","dependencies_parsed_at":"2023-02-01T06:45:52.988Z","dependency_job_id":null,"html_url":"https://github.com/Digillect/meister","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digillect%2Fmeister","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digillect%2Fmeister/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digillect%2Fmeister/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digillect%2Fmeister/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Digillect","download_url":"https://codeload.github.com/Digillect/meister/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239800432,"owners_count":19699122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","multirepo","orchestrator"],"created_at":"2024-12-30T19:57:29.548Z","updated_at":"2026-02-08T03:30:21.179Z","avatar_url":"https://github.com/Digillect.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Подключение к GitLab\n\nАдрес API-сервисов GitLab и токен пользователя, от лица которого будут осуществляться\nзапросы, указываются переменными среды `GITLAB_API_ENDPOINT` и `GITLAB_API_PRIVATE_TOKEN`.\n\n## Проект развёртывания\n\nПроект `deployment` содержит правила и настройки развёртывания сервисов в кластер, а также\nконфигурационный файл, который описывает какие сервисы должны обрабатываться.\n\nИдентификатор проекта развёртывания указывается переменной среды `DEPLOYMENT_PROJECT_ID`.\n\n## Управление хуками GitLab\n\nЕсли задана переменная среды `MEISTER_BASE_URL`, то автоматически будет производиться управление\nweb hook-ами в проектах. Если указана переменная `MEISTER_GITLAB_HOOK_SECRET`, то секрет будет\nиспользован при установке хуков и будет проверяться при вызове.\n\n## Конфигурационный файл\n\nКонфигурационный файл должен лежать в корне репозитория проекта развёртывания\nи называться `meister.yaml`. Формат файла:\n\n```yaml\ncomponents:\n  component_1:\n    project: 12\n    job: package\n  component_2: 45\n```\n\nгде `component_1` - имя компонента, значение ключа `project` - идентификатор проекта\nв GitLab, а `job` - название шага, при успешном завершении которого срабатывает механизм\nсоздания слепка версий (по умолчанию `deploy`). Если кроме идентификатора проекта других настроек нет, то можно использовать\nсокращённую форму, как у `component_2`.\n\n## Поддержка feature-веток\n\nСоздание feature-ветки в одном из отслеживаемых репозиториев приводит к созданию ветки\nс аналогичным именем в deployment-репозитории, после чего `components.yaml` начинает обновляться\nуже на конкретной ветке (а также подтягивать master-версии). Необходимо внести код из инкубатора\nв этот репозиторий.\n\n## Файл компонентов\n\nПуть до файла указывается в конфигурационном файле значением `components_file`, по\nумолчанию это файл `components.yaml` в корне репозитория. Формат файла:\n\n```yaml\ncomponents:\n  component_1:\n    sha: 39f0632522c13862eff614cd48272fddc0365d2a\n    ref: master\n```\n\nгде `component_1` - имя компонента, соответствует имени компонента из конфигурационного файла,\n`sha` - SHA-номер коммита, который привёл к последней успешной сборке компонента (образы Docker\nпомечены этим значением), а `ref` - название ветки, на которой происходила сборка.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigillect%2Fmeister","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigillect%2Fmeister","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigillect%2Fmeister/lists"}