{"id":20585767,"url":"https://github.com/triglav-dataflow/triglav","last_synced_at":"2025-09-16T16:11:47.297Z","repository":{"id":87363416,"uuid":"77113063","full_name":"triglav-dataflow/triglav","owner":"triglav-dataflow","description":"Triglav is a Data Driven Job Workflow Tool","archived":false,"fork":false,"pushed_at":"2018-09-27T08:23:29.000Z","size":128,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T21:11:16.954Z","etag":null,"topics":["rails","ruby","workflow"],"latest_commit_sha":null,"homepage":"","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/triglav-dataflow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-22T04:49:27.000Z","updated_at":"2018-09-27T08:23:31.000Z","dependencies_parsed_at":"2023-03-10T04:16:05.467Z","dependency_job_id":null,"html_url":"https://github.com/triglav-dataflow/triglav","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/triglav-dataflow/triglav","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/triglav-dataflow%2Ftriglav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/triglav-dataflow%2Ftriglav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/triglav-dataflow%2Ftriglav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/triglav-dataflow%2Ftriglav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/triglav-dataflow","download_url":"https://codeload.github.com/triglav-dataflow/triglav/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/triglav-dataflow%2Ftriglav/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274291358,"owners_count":25258156,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["rails","ruby","workflow"],"created_at":"2024-11-16T07:09:19.546Z","updated_at":"2025-09-16T16:11:42.272Z","avatar_url":"https://github.com/triglav-dataflow.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Triglav\n================\n\nCore API and message queue server of Triglav.\n\n# API Spec\n\n[./doc](./doc)\n\n# Requirements\n\n* Ruby \u003e= 2.3.0\n* MySQL \u003e= 5.6\n\n# Development\n\n## Prepare\n\nCopy config files and modify them if you want.\n\n```\ncp config/database.yml{.development,}\ncp config/settings.yml{.development,}\ncp config/secrets.yml{.development,}\ncp db/seeds.rb{.development,}\n```\n\n## Migrate\n\n```\n./bin/rails db:create\n./bin/rails db:apply # using ridgepole\n./bin/rails db:seed\n```\n\n## Start\n\n```\nbundle exec foreman start\n```\n\n## Try\n\n```\n$ curl -H \"Content-type: application/json\" http://localhost:3000/api/v1/auth/token -X POST -d '{\"username\":\"triglav_test\", \"password\": \"triglav_test\", \"authenticator\":\"local\"}'\n{\"access_token\":\"xxxxxxxxxxxxxxxxxx\",\"expires_at\":1430458696}\n```\n\n```\n$ curl -H \"Content-type: application/json\" -H \"Authorization: xxxxxxxxxxxxxxxxxx\" http://localhost:7800/api/v1/auth/me -X GET\n```\n\n# Test\n\nDo migration with `RAILS_ENV=test bundle exec rails db:create db:apply`, then\n\n```\nbundle exec rspec\n```\n\nYou may generate API doc from requests spec as\n\n```\nAUTODOC=1 bundle exec rspec\n```\n\nYou may run your tests with [spring](https://github.com/rails/spring) to make it faster to finish:\n\n```\nbundle exec spring binstubs rspec\nbin/rspec\n```\n\n# Swagger\n\nWe use [swagger](http://swagger.io/) to describe API specification. Write API doc on rails controllers, and serializers referring [Swagger Documentation Specification v2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md).\n\n## Trying with Swaggeer UI\n\n[swagger-ui](https://github.com/swagger-api/swagger-ui) is already bundled. You can start swagger-ui as\n\n```\nbundle exec rails s\n```\n\nand access to [http://localhost:7800/apidocs](http://localhost:7800/apidocs). By the way, swagger-ui is a full javascript application, so serving this with nginx is also fine.\n\nAuthenticate with `POST /auth/token`.\n\n![image](https://cloud.githubusercontent.com/assets/2290461/21415529/0736fb72-c84e-11e6-997f-0c4153352f6b.png)\n\nClick `Try it out!` button, you will get an access token\n\n![image](https://cloud.githubusercontent.com/assets/2290461/21415534/0e0090c6-c84e-11e6-966f-24c843f78679.png)\n\nGo to top bar of Swagger UI, and click `Authorize` button.\n\n![image](https://cloud.githubusercontent.com/assets/2290461/21415537/145e8874-c84e-11e6-9a6e-7ed4aa82df94.png)\n\nPaste your access token to the `value` field, then click Authorize.\n\n![image](https://cloud.githubusercontent.com/assets/2290461/21415538/1889b7c0-c84e-11e6-8d97-2a77e9350b0f.png)\n\nNow, you should be able to hit any APIs.\n\n## Generating Swagger API Specification\n\nTo generate a static swagger.json, run\n\n```\nbundle exec rake swagger:generate\n```\n\n## Generating Swagger API Clients\n\n```\nwget http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.0/swagger-codegen-cli-2.2.0.jar -O bin/swagger-codegen-cli.jar\n```\n\nGenerate `../triglav-client-ruby`\n\n```\nbundle exec rails swagger:codegen-ruby\n```\n\nGenerate `../triglav-client-java`\n\n```\nbundle exec rails swagger:codegen-java\n```\n\nGenerate both\n\n```\nbundle exec rails swagger:codegen\n```\n\n## Release\n\nEdit [VERSION](./VERSION)\n\nRelease `../triglav-client-ruby`\n\n```\nbundle exec rails release:client-ruby\n```\n\nRelease `../triglav-client-java`\n\n```\nbundle exec rails release:client-java\n```\n\nRelease `triglav` itself (tagging version)\n\n```\nbundle exec rails release:core\n```\n\nRelease all\n\n```\nbundle exec rails release:all\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftriglav-dataflow%2Ftriglav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftriglav-dataflow%2Ftriglav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftriglav-dataflow%2Ftriglav/lists"}