https://github.com/exercism/tooling-manager
https://github.com/exercism/tooling-manager
community-contributions-paused
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/exercism/tooling-manager
- Owner: exercism
- License: agpl-3.0
- Created: 2020-10-17T22:25:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-01T14:10:26.000Z (over 1 year ago)
- Last Synced: 2024-05-01T11:25:34.623Z (about 1 year ago)
- Topics: community-contributions-paused
- Language: Ruby
- Size: 73.2 KB
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Tooling Manager

[](https://codeclimate.com/github/exercism/tooling-manager/maintainability)
[](https://codeclimate.com/github/exercism/tooling-manager/test_coverage)An service responsible for deploying and managing Exercism's tooling.
It does the following:
- Gets the machines EC2 tags
- Looks for tags that list which languages should be used for each tool (e.g. `tooling-test-runners: all`)
- Creates a list of all the language/tool types
- For each:
- Finds the production tag for that in ECR
- Downloads the production image
- Symlinks it.All of that can be stepped through quite clearly in [`lib/tooling_manager/manager.rb`](lib/tooling_manager/manage.rb).
## Server Setup
Each tooling server should have the following tags:
- `tooling-test-runners`
- `tooling-analyzers`
- `tooling-representers`Each should have a value of a language group.
Language groups are stored in DynamoDB.The language group is prefixed with the type when looked up.
For example, specifying the tag: `tooling-test-runners: "all"`, will lookup the `test-runners-all` group in DynamoDB.