https://github.com/opus-codium/puppet-bundle
Manage ruby bundles through Puppet
https://github.com/opus-codium/puppet-bundle
bundler hacktoberfest puppet ruby
Last synced: about 2 months ago
JSON representation
Manage ruby bundles through Puppet
- Host: GitHub
- URL: https://github.com/opus-codium/puppet-bundle
- Owner: opus-codium
- License: apache-2.0
- Created: 2016-08-03T19:04:57.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2025-08-21T19:00:58.000Z (11 months ago)
- Last Synced: 2025-08-21T19:59:07.817Z (11 months ago)
- Topics: bundler, hacktoberfest, puppet, ruby
- Language: Ruby
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# bundle
[](https://github.com/opus-codium/puppet-bundle/releases)
[](https://forge.puppetlabs.com/opuscodium/bundle)
[](https://forge.puppetlabs.com/opuscodium/bundle)
[](https://forge.puppetlabs.com/opuscodium/bundle)
[](https://forge.puppetlabs.com/opuscodium/bundle)
[](https://github.com/voxpupuli/opuscodium-bundle/blob/master/LICENSE.md)
#### Table of Contents
* [Overview](#overview)
* [Module Description](#module-description)
* [Setup](#setup)
* [What bundle affects](#what-bundle-affects)
* [Beginning with bundle](#beginning-with-bundle)
* [Usage](#usage)
* [Reference](#reference)
* [Limitations](#limitations)
* [Contributing](#contributing)
## Overview
Manage Ruby bundles using [bundler](http://bundler.io/).
## Module Description
This module installs bundler and aims at making it easy to manage Ruby
applications.
## Setup
### What bundle affects
* Installed packages;
* Installed gems (when `deployment` is set to `false`).
### Beginning with bundle
The following example deploys a fictive Rails application:
```puppet
$app_directory = '/var/www/app'
vcsrepo { $app_directory:
ensure => latest,
provider => 'git',
source => 'git@example.com/repo.git',
user => 'deploy',
}
bundle::install { $app_directory:
user => 'deploy',
group => 'deploy',
}
bundle::exec { "${app_directory}:rake db:migrate":
user => 'app',
group => 'app',
environment => ['RAILS_ENV=production'],
refreshonly => true,
}
exec { 'notify-app':
command => "/usr/bin/touch ${app_directory}/tmp/restart.txt",
refreshonly => true,
}
Vcsrepo[$app_directory] ~>
Bundle::Install[$app_directory] ~>
Bundle::Exec["${app_directory}:rake db:migrate"] ~>
Exec['notify-app']
```
## Usage
Only the `bundle`, `bundle::install` and `bundle::exec` classes are intended to end users
usage. See reference documentation bellow.
## Reference
* [Public classes](#private-classes)
* [`bundle`](#class-bundle)
* [Private classes](#private-classes)
* [`bundle::params`](#class-bundleparams)
* [Defined Types](#defined-types)
* [`bundle::exec`](#defined-type-bundleexec)
* [`bundle::install`](#defined-type-bundleinstall)
## Limitations
The current implementation supports Debian GNU/Linux and FreeBSD. Patches to
add support to more platforms are welcome.
## Contributing
1. Fork it ( https://github.com/opus-codium/puppet-bundle/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request