Apigee OPDK Setup Bootstrap
===========================

This role manages downloading and invoking the bootstrap script from the Apigee servers that will install Apigee 
OPDK service manager.  

Requirements
------------

This role requires that you have an account with Apigee. 
 
The installation of Apigee OPDK requires root access. Credentials must also be supplied to override the empty placeholders
provided here. It is recommended that credentials be consolidated into a single credentials.yml file that can be stored 
separately. It is assumed that files containing credentials are stored in the ~/.apigee folder. 

Role Variables
--------------
Default values for these variables are provided by the role opdk-setup-default-settings.

URL from which to download the bootstrap scripts

    apigee_repo_url: 'https://{{ apigee_repo_uri }}'

Path to the bootstrap script

    bootstrap_script: 'bootstrap.sh'

Apigee repository user

    apigee_repo_user: ''
    
Apigee repository user password

    apigee_repo_password: ''
    
Apigee repository host that can be used for special releases.
    
    apigee_repo_host: ''
    
Apigee artifact stage
    
    apigee_stage: ''
        

Dependencies
------------

role: opdk-setup-default-settings

Example Playbook
----------------

    - hosts: servers
      roles:
         - { role: opdk-setup-bootstrap }

License
-------

Apache License Version 2.0, January 2004

Author Information
------------------

Carlos Frias