{"id":22915648,"url":"https://github.com/dcermak/obs-to-vagrantcloud","last_synced_at":"2025-08-30T06:45:18.298Z","repository":{"id":38356359,"uuid":"313634122","full_name":"dcermak/obs-to-vagrantcloud","owner":"dcermak","description":"Script to upload vagrant boxes from the Open Build Service to Vagrant Cloud","archived":false,"fork":false,"pushed_at":"2023-03-06T14:59:27.000Z","size":48,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T06:45:17.387Z","etag":null,"topics":["open-build-service","vagrant","vagrant-cloud"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcermak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-11-17T13:49:51.000Z","updated_at":"2022-05-06T08:34:19.000Z","dependencies_parsed_at":"2025-07-11T15:24:57.964Z","dependency_job_id":"16088b7c-4772-4183-bf49-718f8d4a72c9","html_url":"https://github.com/dcermak/obs-to-vagrantcloud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dcermak/obs-to-vagrantcloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcermak%2Fobs-to-vagrantcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcermak%2Fobs-to-vagrantcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcermak%2Fobs-to-vagrantcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcermak%2Fobs-to-vagrantcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcermak","download_url":"https://codeload.github.com/dcermak/obs-to-vagrantcloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcermak%2Fobs-to-vagrantcloud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272815818,"owners_count":24997661,"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-08-30T02:00:09.474Z","response_time":77,"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":["open-build-service","vagrant","vagrant-cloud"],"created_at":"2024-12-14T05:27:38.448Z","updated_at":"2025-08-30T06:45:18.274Z","avatar_url":"https://github.com/dcermak.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# obs-to-vagrantcloud\n\n[![RuboCop](https://github.com/dcermak/obs-to-vagrantcloud/actions/workflows/rubocop.yml/badge.svg)](https://github.com/dcermak/obs-to-vagrantcloud/actions/workflows/rubocop.yml)\n\nThis is a very simple script that either uploads or links a Vagrant box that has\nbeen build and published in the [Open Build\nService](https://openbuildservice.org/) to [Vagrant\nCloud](https://app.vagrantup.com/).\n\n\n## Prerequisites\n\nYou need a Vagrant box that is being build in the Open Build Service and\npublished with the repository type `vagrant` set in the project configuration.\n\nThis script itself requires ruby and the gems listed in the `gemspec`, install\nthese preferably via bundler:\n```ShellSession\n$ bundle install --path vendor\n```\n\n## Usage\n\nFirst, you'll have to get the link to the json file that is produced by the Open\nBuild Service when publishing your Vagrant box. To obtain it, navigate to the\npublished repository and into the `boxes` subdirectory. It will contain at least\none `*.json` file. Find the correct one and save its URL.\n\nFurthermore, you have to obtain an API Key for Vagrant Cloud from\nhttps://app.vagrantup.com/settings/security and export it as the environment\nvariable `ATLAS_TOKEN`.\n\nThere are two possible modes of operation:\n1. Linking - the box is published on Vagrant Cloud, but not uploaded there.\n   Instead, vagrant will be redirected to your Open Build Service instance.\n   To use this mode, add the flag `--link`\n\n2. Upload - the box will be published and uploaded to Vagrant Cloud.\n\nUsage:\n```ShellSession\n$ export ATLAS_TOKEN='YOUR_API_KEY'\n$ bundle exec ./obs-to-vagrantcloud.rb --url INSERT_URL_TO_BOX_JSON --organization NAME_OF_YOUR_ORGANIZATION\n```\n\nAdditional options:\n- `--name NEW_BOX_NAME` Override the name of the Vagrant box.\n  This can be used to specify better box names as OBS can sometimes create pretty long ones.\n- `--link`: The box will only be linked to Vagrant Cloud and not uploaded there.\n- `--provider PROVIDER` Only upload the specified provider and not others that\n  are present in the boxes' json file.\n  **NOTE** This option is not available when linking boxes! It does not really\n  make sense to link individual providers, as OBS only keeps exactly those\n  builds around that are mentioned in the json.\n\n## Linking or Uploading?\n\nThe general recommendation is to upload your boxes to Vagrant Cloud if your\nlocal Internet connection allows that. The disadvantage of linking is, that the\nOpen Build Service only keeps the last version rebuild of each image around. So\nyou must continuously run this script to ensure that Vagrant Cloud has the\nlatest version available, otherwise users of your box will get a 404 from time\nto time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcermak%2Fobs-to-vagrantcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcermak%2Fobs-to-vagrantcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcermak%2Fobs-to-vagrantcloud/lists"}