Ansible Service Broker is an implementation of the Open Service Broker API that manages applications defined in Ansible Playbook Bundles. Ansible Playbook Bundles (APB) are a method of defining applications via a collection of Ansible Playbooks built into a container with an Ansible runtime with the playbooks corresponding to a type of request specified in the Open Service Broker API Specification.
Check out the Keynote Demo from Red Hat Summit 2017
Features
- Easily define, distribute, and provision microservice(s), like RocketChat and PostgreSQL, via ansible playbooks packaged in Ansible Playbook Bundles.
- Easily bind microservice(s) provisioned through Ansible Playbook Bundles, for example: Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App.
Learn More:
- Documentation
- Our Trello Board
- Chat with us on IRC (Freenode): #asbroker
- Email us at [email protected] and subscribe to the Ansible Service Broker's mailing list
- Our YouTube Channel
Important Links
- Check out the ansible playbook bundle project and our library of example APBs
- catasb gives you more control over your development environment
- Amazon Web Services deployed into OpenShift via Ansible Service Broker
- Presentation Open Service Broker API + Ansible Service Broker/Ansible Playbook Bundles
There are a few different ways to quickly get up and running with a cluster + ansible-service-broker:
oc cluster up
- Alternatively, you can use minishift and install the broker with our addon, documented here.
Let's walk through an oc cluster up
based setup.
- You will need a system setup for local OpenShift Origin Cluster Management
- Your OpenShift Client binary (
oc
) must be>=
v3.7.0-rc.0
- Your OpenShift Client binary (
-
Download and execute our run_latest_build.sh script
Origin Version 3.7:
wget https://raw.githubusercontent.com/openshift/ansible-service-broker/master/scripts/run_latest_build.sh chmod +x run_latest_build.sh ./run_latest_build.sh
-
At this point you should have a running cluster with the service-catalog and the Ansible Service Broker running.
Provision an instance of MediaWiki and PostgreSQL
- Log into OpenShift Web Console
- Create a new project 'apb-demo'
- Provision MediaWiki APB
- Select the 'apb-demo' project
- Enter a 'MediaWiki Admin User Password': 's3curepw'
- Click 'Create'
- Provision PostgreSQL APB
- Select the 'apb-demo' project
- Leave 'PostgreSQL Password' blank, a random password will be generated
- Choose a 'PostgreSQL Version'; either version will work.
- Click 'Next'
- Select 'Do not bind at this time' and then 'Create'
- Wait until both APBs have finished deploying, and you see pods running for MediaWiki and PostgreSQL
Bind MediaWiki to PostgreSQL
- Bind MediaWiki to PostgreSQL
- Click on kebab menu for PostgreSQL
- Select 'Create Binding' and then 'Bind'
- Click on the link to the created secret
- Click 'Add to Application'
- Select 'mediawiki123' and 'Environment variables'
- Click 'Save'
- View the route for MediaWiki and verify the wiki is up and running.
- Observe that mediawiki123 is on deployment '#2', having been automatically redeployed
First, start with the Contributing Guide.
Contributions are welcome. Open issues for any bugs or problems you may run into, ask us questions on IRC (Freenode): #asbroker, or see what we are working on at our Trello Board.
If you want to run the test suite, when you are ready to submit a PR for example, make sure you have your development environment setup, and from the root of the project run:
# Check your go source files (gofmt, go vet, golint), build the broker, and run unit tests
make check
# Get helpful information about our make targets
make help
Ansible Service Broker is licensed under the Apache License, Version 2.0.