{"id":22350993,"url":"https://github.com/johnae/foreman-export-great","last_synced_at":"2025-08-02T02:37:48.336Z","repository":{"id":4811497,"uuid":"5965126","full_name":"johnae/foreman-export-great","owner":"johnae","description":"Custom Foreman runit exporter tailored to our needs","archived":false,"fork":false,"pushed_at":"2012-09-26T12:06:09.000Z","size":108,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T13:12:56.182Z","etag":null,"topics":[],"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/johnae.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":"2012-09-26T12:00:32.000Z","updated_at":"2015-01-08T16:16:08.000Z","dependencies_parsed_at":"2022-09-10T16:51:03.804Z","dependency_job_id":null,"html_url":"https://github.com/johnae/foreman-export-great","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fforeman-export-great","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fforeman-export-great/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fforeman-export-great/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnae%2Fforeman-export-great/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnae","download_url":"https://codeload.github.com/johnae/foreman-export-great/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245650220,"owners_count":20650098,"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":[],"created_at":"2024-12-04T12:12:04.100Z","updated_at":"2025-03-26T11:45:18.353Z","avatar_url":"https://github.com/johnae.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Foreman::Export::Great\n\nCustom runit exporter with support for rbenv and runit dependent services. This is customized for our uses so some\nunexpected things happen - like the fact that we don't use specific ports or several numbered services of the same type,\nso you WILL NOT get anything like:\n\n    /path/to/services/\u003cappname\u003e-web-1\n    /path/to/services/\u003cappname\u003e-web-2\n    /path/to/services/\u003cappname\u003e-web-3\n\nThis will ONLY create ONE such service, that's the way we run. We generally use stuff that forks as many processes it needs\non it's own. We just want runit to supervise the whole thing.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n    \n    gem 'foreman'\n    gem 'foreman-export-great'\n\nAnd then execute:\n\n    $ bundle\n\n## Usage\n\nDefine the usual stuff in Procfile (and remember the names), if you need one service to depend on another... let's say\nyou've got some workers that should start and stop together with the main web app, so you've got your Procfile looking\nlike this:\n\n    web: bundle exec unicorn -c unicorn.conf\n    workers: ./script/workers\n\nNow you want those workers to start/restart/stop when your main app does eg. when you do sv start \u003cappname\u003e-web you want to\nautomatically also run sv start \u003cappname\u003e-workers. To get this to work, open up .env in your project directory and add:\n\n    WEB_DEPENDENT_SERVICE: \u003cappname\u003e-workers\n\nDone!\n\nTo export to runit, just do something like this:\n\n    bundle exec foreman export great-runit /path/to/services -l /path/to/logdir -a appname -u user\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnae%2Fforeman-export-great","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnae%2Fforeman-export-great","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnae%2Fforeman-export-great/lists"}