{"id":29016627,"url":"https://github.com/chef/appbundle-updater","last_synced_at":"2025-06-25T22:32:56.903Z","repository":{"id":1593482,"uuid":"42967218","full_name":"chef/appbundle-updater","owner":"chef","description":"A little help when you want to update an appbundled project inside of a Chef/ChefDK omnibus package","archived":false,"fork":false,"pushed_at":"2025-06-17T19:01:37.000Z","size":289,"stargazers_count":6,"open_issues_count":3,"forks_count":4,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-17T20:18:49.345Z","etag":null,"topics":["omnibus","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chef.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-09-22T23:41:35.000Z","updated_at":"2025-06-17T19:01:41.000Z","dependencies_parsed_at":"2024-12-18T15:30:07.378Z","dependency_job_id":"c7cec9ab-8c6c-4cda-9fa5-c8b253aa4021","html_url":"https://github.com/chef/appbundle-updater","commit_stats":{"total_commits":242,"total_committers":14,"mean_commits":"17.285714285714285","dds":0.6570247933884297,"last_synced_commit":"01a6bfb212c55e43474db6f5a8a731d4e17701af"},"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/chef/appbundle-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fappbundle-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fappbundle-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fappbundle-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fappbundle-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chef","download_url":"https://codeload.github.com/chef/appbundle-updater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fappbundle-updater/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260433803,"owners_count":23008421,"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":["omnibus","ruby"],"created_at":"2025-06-25T22:31:00.171Z","updated_at":"2025-06-25T22:32:56.888Z","avatar_url":"https://github.com/chef.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# appbundle-updater\n[![Build status](https://badge.buildkite.com/0d8c5acd906f8477d39b49680f28aa818149dd255ffdabf86f.svg?branch=master)](https://buildkite.com/chef-oss/chef-appbundle-updater-master-verify)\n[![Gem Version](https://badge.fury.io/rb/appbundle-updater.svg)](https://badge.fury.io/rb/appbundle-updater)\n\n**Umbrella Project**: [Chef Foundation](https://github.com/chef/chef-oss-practices/blob/master/projects/chef-foundation.md)\n\n**Project State**: [Active](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md#active)\n\n**Issues [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days\n\n**Pull Request [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days\n\nHelper to update Chef and Chef-DK appbundle'd apps inside of an omnibus bundle.\n\n## Requirements\n\n* A Chef Workstation, ChefDK, or Chef Client installation in the standard location.\n* You need to have the `git` command in your PATH.\n\n## Usage Examples\n\nInstall as a gem:\n\n```\ngem install appbundle-updater\n```\n\nUpdating chef in the /opt/chefdk bundle to master:\n\n```\nsudo appbundle-updater chefdk chef master\n```\n\nUpdating chef-dk in the /opt/chefdk bundle to master (sorry about the inconsistent dashes here\nbut the project/gem is called \"chef-dk\" while the path on the filesystem is /opt/chefdk, the\npath on the filesystem comes first):\n\n```\nsudo appbundle-updater chefdk chef-dk master\n```\n\nUpdating various other softwares in /opt/chefdk bundle to master:\n\n```\nsudo appbundle-updater chefdk berkshelf master\nsudo appbundle-updater chefdk chef-vault master\nsudo appbundle-updater chefdk cookstyle master\nsudo appbundle-updater chefdk ohai master\nsudo appbundle-updater chefdk foodcritic master\nsudo appbundle-updater chefdk test-kitchen master\n```\n\nUpdating chef and ohai in the /opt/chef bundle to master:\n\n```\nsudo appbundle-updater chef chef master\nsudo appbundle-updater chef ohai master\n```\n\nWindows users from PowerShell use the bat file:\n\n```powershell\n\u0026 appbundle-updater chefdk test-kitchen master\n```\n\nIf you don't want \"master\" you can use any other git tag/branch/sha/etc that git understands.\n\n## Using a GitHub Fork\n\nBy default this gem clones from the official repos from the software. To override and point\nat at fork use the `--github`` option on the command-line:\n\n```ruby\nsudo appbundle-updater chef chef lcg/cool-feature --github lamont-granquist/chef\n```\n\n## Using a GitHub tarball instead of a git clone\n\nUsing the `--tarball` method will not use `git clone` and will not require the git binary being\ninstalled on the system.  By using this command the whole functionality should run in pure ruby,\nbe portable across all operating systems that omnibus-chef is ported to, and should only use\nruby stdlib functions.  The disadvantage is that you do now wind up with a real git checkout\nin the apps directory, just an extracted snapshot.\n\n```ruby\nsudo appbundle-updater chef chef master --tarball\n```\n\n## Execution and Target rubies\n\nThis does not need to be installed into the embedded ruby that you are doing the update on.\n\nYou can install this into an rvm gemset as a local user (for example) and run:\n\n```\nrvmsudo appbundle-updater chef chef master\n```\n\nIt will invoke appbundle-updater via rvm (using your user ruby+gemset under sudo), but will\ncorrectly break the bundle and setup the PATH in order to manipulate your /opt/chefdk or\n/opt/chef ruby environment.\n\nOnly tested with RVM, but chruby and rbenv are usually simpler and easier.\n\n## \u003ca name=\"development\"\u003e\u003c/a\u003e Development\n\n* Source hosted at [GitHub][repo]\n* Report issues/questions/feature requests on [GitHub Issues][issues]\n\nPull requests are very welcome! Make sure your patches are well tested.\nIdeally create a topic branch for every separate change you make. For\nexample:\n\n1. Fork the repo\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Added some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## \u003ca name=\"authors\"\u003e\u003c/a\u003e Authors\n\nCreated and maintained by [Fletcher Nichol][fnichol] (\u003cfnichol@nichol.ca\u003e)\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003e License\n\nApache 2.0 (see [LICENSE][license])\n\n[license]:      https://github.com/chef/appbundle-updater/blob/master/LICENSE\n[fnichol]:      https://github.com/fnichol\n[repo]:         https://github.com/chef/appbundle-updater\n[issues]:       https://github.com/chef/appbundle-updater/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fappbundle-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchef%2Fappbundle-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchef%2Fappbundle-updater/lists"}