{"id":17252189,"url":"https://github.com/eagletmt/hako","last_synced_at":"2025-05-14T19:09:28.283Z","repository":{"id":1634773,"uuid":"43672640","full_name":"eagletmt/hako","owner":"eagletmt","description":"Deploy Docker container","archived":false,"fork":false,"pushed_at":"2025-05-08T03:31:55.000Z","size":976,"stargazers_count":281,"open_issues_count":7,"forks_count":46,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-14T08:13:10.391Z","etag":null,"topics":["aws","docker","ecs"],"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/eagletmt.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}},"created_at":"2015-10-05T08:20:17.000Z","updated_at":"2025-05-08T03:31:54.000Z","dependencies_parsed_at":"2025-01-09T23:35:55.311Z","dependency_job_id":"178bc6e2-6a64-48ff-b9d4-345591f84ed0","html_url":"https://github.com/eagletmt/hako","commit_stats":{"total_commits":570,"total_committers":21,"mean_commits":"27.142857142857142","dds":"0.22807017543859653","last_synced_commit":"4c477cbe17eb585bb23415fa2d01d3f574f40c34"},"previous_names":[],"tags_count":115,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fhako","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fhako/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fhako/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fhako/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eagletmt","download_url":"https://codeload.github.com/eagletmt/hako/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129555,"owners_count":22019630,"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":["aws","docker","ecs"],"created_at":"2024-10-15T06:53:15.808Z","updated_at":"2025-05-14T19:09:27.016Z","avatar_url":"https://github.com/eagletmt.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hako\n[![Gem Version](https://badge.fury.io/rb/hako.svg)](http://badge.fury.io/rb/hako)\n![CI](https://github.com/eagletmt/hako/workflows/CI/badge.svg)\n\nDeploy Docker container.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'hako'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install hako\n\n## Usage\n\n```\n% hako deploy examples/hello.jsonnet\nI, [2015-10-02T12:51:24.530274 #7988]  INFO -- : Registered task-definition: arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:task-definition/hello:29\nI, [2015-10-02T12:51:24.750501 #7988]  INFO -- : Uploaded front configuration to s3://nanika/hako/front_config/hello.conf\nI, [2015-10-02T12:51:24.877409 #7988]  INFO -- : Updated service: arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:service/hello\nI, [2015-10-02T12:56:07.284874 #7988]  INFO -- : Deployment completed\n\n% hako deploy examples/hello.jsonnet\nI, [2015-10-02T12:56:12.262760 #8141]  INFO -- : Deployment isn't needed\n\n% hako status examples/hello.jsonnet\nLoad balancer:\n  hako-hello-XXXXXXXXXX.ap-northeast-1.elb.amazonaws.com:80 -\u003e front:80\nDeployments:\n  [PRIMARY] hello:30 desired_count=2, pending_count=0, running_count=2\nTasks:\n  [RUNNING]: i-XXXXXXXX (ecs-001)\n  [RUNNING]: i-YYYYYYYY (ecs-002)\nEvents:\n  2015-10-05 13:35:53 +0900: (service hello) has reached a steady state.\n  2015-10-05 13:35:14 +0900: (service hello) stopped 1 running tasks.\n\n% hako rollback examples/hello.jsonnet\nI, [2016-05-02T13:07:12.679926 #10961]  INFO -- : Current task defintion is hello:29. Rolling back to arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:task-definition/hello:28\nI, [2016-05-02T13:07:12.959116 #10961]  INFO -- : Updated service: arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:service/hello\nI, [2016-05-02T13:08:27.280686 #10961]  INFO -- : Deployment completed\n```\n\nRun oneshot command.\n\n```\n% hako oneshot examples/hello.jsonnet date\nI, [2017-07-18T18:14:06.099763 #6627]  INFO -- : Task definition isn't changed: arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:task-definition/hello-oneshot:32\nI, [2017-07-18T18:14:06.147062 #6627]  INFO -- : Started task: arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:task/01234567-89ab-cdef-0123-456789abcdef\nI, [2017-07-18T18:14:06.193860 #6627]  INFO -- : Container instance is arn:aws:ecs:ap-northeast-1:XXXXXXXXXXXX:container-instance/01234567-89ab-cdef-0123-456789abcdef (i-0123456789abcdef0)\nI, [2017-07-18T18:14:37.826389 #6627]  INFO -- : Started at 2017-07-18 18:14:37 +0900\nI, [2017-07-18T18:14:37.826482 #6627]  INFO -- : Stopped at 2017-07-18 18:14:37 +0900 (reason: Essential container in task exited)\nI, [2017-07-18T18:14:37.826520 #6627]  INFO -- : Oneshot task finished\nI, [2017-07-18T18:14:37.826548 #6627]  INFO -- : app has stopped with exit_code=0\n```\n\nSee also [docs/ecs-task-notification.md](docs/ecs-task-notification.md).\n\n## Front image\nThe front container receives these environment variables.\n\n- `S3_CONFIG_BUCKET` and `S3_CONFIG_KEY`\n    - The front container should download configuration file from S3.\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/eagletmt/hako.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagletmt%2Fhako","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feagletmt%2Fhako","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagletmt%2Fhako/lists"}