GithubHelp home page GithubHelp logo

epienbroek / adb-vagrant-registration Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectatomic/adb-vagrant-registration

0.0 2.0 0.0 496 KB

A plugin to add "register" and "unregister" capabilities to Vagrant guests.

License: GNU General Public License v2.0

Ruby 81.81% Shell 18.19%

adb-vagrant-registration's Introduction

vagrant-registration

vagrant-registration plugin for Vagrant allows developers to easily register their guests for updates on systems with a subscription model (like Red Hat Enterprise Linux).

This plugin would run register action on vagrant up before any provisioning and unregister on vagrant halt or vagrant destroy. The actions then call the registration capabilities that have to be provided for given OS.

Installation

Install vagrant-registration as any other Vagrant plugin:

$ vagrant plugin install vagrant-registration

If you are on Fedora, you can install the packaged version of the plugin by running:

# dnf install vagrant-registration

Usage

The plugin is designed in an registration-manager-agnostic way which means that plugin itself does not depend on any OS nor way of registration. vagrant-registration only calls registration capabilities for given guest, passes the configuration options to them and handles interactive registration.

That being said, this plugin currently ships only with registration capability files for RHEL's Subscription Manager. Feel free to submit others.

Note: This plugin is still alpha. Please help us to find and fix any bugs.

Plugin Configuration

  • skip skips the registration. If you wish to skip the registration process altogether, you can do so by setting a skip option to true:
  config.registration.skip = true
  • unregister_on_halt disables or enables automatic unregistration on halt (on shut down) so the box will unregister only on destroy. By default the plugin unregisters on halt, you can however change that by setting the option to false:
  config.registration.unregister_on_halt = false

subscription-manager Configuration

vagrant-registration supports all the options of subscription-manager's register command. You can set any option easily by setting config.registration.OPTION_NAME = 'OPTION_VALUE' in your Vagrantfile (please see the subscription-manager's documentation for option description).

Setting up the credentials can be done as follows:

if Vagrant.has_plugin?('vagrant-registration')
  config.registration.username = 'foo'
  config.registration.password = 'bar'
end

# Alternatively
if Vagrant.has_plugin?('vagrant-registration')
  config.registration.org = 'foo'
  config.registration.activationkey = 'bar'
end

This should go, preferably, into the Vagrantfile in your Vagrant home directory (defaults to ~/.vagrant.d), to make it available for every project. It can be later overridden in an individual project's Vagrantfile if needed.

If you prefer not to store your username and/or password on your filesystem, you can optionally configure vagrant-registration plugin to use environment variables, such as:

  config.registration.username = ENV['SUB_USERNAME']
  config.registration.password = ENV['SUB_PASSWORD']

If you do not provide credentials, you will be prompted for them in the "up process."

Please note the the interactive mode asks you for the preferred registration pair only. In case of a subscription-manager, you would be ask on your username/password combination.

subscription-manager Default Options

  • --force: Subscription Manager will fail if you attempt to register an already registered machine (see the man page for explanation), therefore vagrant-registration appends the --force flag automatically when subscribing. If you would like to disable this feature, set force option to false:
  config.registration.force = false
  • --auto-attach: Vagrant would fail to install packages on registered RHEL system if the subscription is not attached, therefore vagrant-registration appends the --auto-attach flag automatically when subscribing. To disable this option, set auto_attach option to false:
  config.registration.auto_attach = false

Note that the auto_attach option is set to false when using org/activationkey for registration.

subscription-manager Options Reference

  # The username to subscribe with (required)
  config.registration.username

  # The password of the subscriber (required)
  config.registration.password

  # Give the hostname of the subscription service to use (required for Subscription
  # Asset Manager, defaults to Customer Portal Subscription Management)
  config.registration.serverurl

  # Give the hostname of the content delivery server to use to receive updates
  # (required for Satellite 6)
  config.registration.baseurl

  # Give the organization to which to join the system (required, except for
  # hosted environments)
  config.registration.org

  # Register the system to an environment within an organization (optional)
  config.registration.environment

  # Name of the subscribed system (optional, defaults to hostname if unset)
  config.registration.name

  # Auto attach suitable subscriptions (optional, auto attach if true,
  # defaults to true)
  config.registration.auto_attach

  # Attach existing subscriptions as part of the registration process (optional)
  config.registration.activationkey

  # Set the service level to use for subscriptions on that machine
  # (optional, used only used with the --auto-attach)
  config.registration.servicelevel

  # Set the operating system minor release to use for subscriptions for
  # the system (optional, used only used with the --auto-attach)
  config.registration.release

  # Force the registration (optional, force if true, defaults to true)
  config.registration.force

  # Set what type of consumer is being registered (optional, defaults to system)
  config.registration.type

  # Skip the registration (optional, skip if true, defaults to false)
  config.registration.skip

Acknowledgements

The project would like to make sure we thank purpleidea, humaton, strzibny, scollier, puzzle, voxik, lukaszachy and goern (in no particular order) for their contributions of ideas, code and testing for this project.

adb-vagrant-registration's People

Contributors

dtschan avatar goern avatar humaton avatar langdon avatar strzibny avatar voxik avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.