Name: ansible-service-broker
Owner: OpenShift
Description: Ansible Service Broker
Created: 2017-01-18 18:40:49.0
Updated: 2018-05-23 20:24:07.0
Pushed: 2018-05-24 12:41:42.0
Homepage: null
Size: 100882
Language: Go
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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
Learn More:
Important Links
Minikube makes
it easy to get started with Kubernetes. Run the commands below individually or
as a script to start a minikube VM that includes the service catalog and the
broker. If you already have a Kubernetes cluster, skip the minikube
command
and proceed with the remaining ones as applicable.
minikube start
and minikube delete
are
working.helm
binary.Run the following from the root of the cloned git repository.
in/env bash
just the version to your liking. Follow installation docs
https://github.com/kubernetes/minikube.
kube start --bootstrapper kubeadm --kubernetes-version v1.9.4
stall helm and tiller. See documentation for obtaining the helm
nary. https://docs.helm.sh/using_helm/#install-helm
init
it until tiller is ready before moving on
l kubectl get pods -n kube-system -l name=tiller | grep 1/1; do sleep 1; done
ctl create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
ds the chart repository for the service catalog
repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
stalls the service catalog
install svc-cat/catalog --name catalog --namespace catalog
it until the catalog is ready before moving on
l kubectl get pods -n catalog -l app=catalog-catalog-apiserver | grep 2/2; do sleep 1; done
l kubectl get pods -n catalog -l app=catalog-catalog-controller-manager | grep 1/1; do sleep 1; done
ripts/run_latest_k8s_build.sh
Once everything is installed, you can interact with the service catalog using
the svcat
command. Learn how to install and use it
here.
There are a few different ways to quickly get up and running with a cluster + ansible-service-broker:
oc cluster up
Let's walk through an oc cluster up
based setup.
You will need a system setup for local OpenShift Origin Cluster Management
oc
) must be >=
v3.7.0-rc.0If you are using minishift you should look at the minishift documentation to get the ansible service broker deployed and running.
oc cluster up --enable=service-catalog,automation-service-broker
.oc cluster up --enable
will give you a full list of features. You may find it helpful to also add persistent-volumes
, registry
, rhel-imagestreams
, router
, etc.oc cluster up --routing-suffix=172.17.0.1.nip.io --public-hostname=172.17.0.1.nip.io --enable=service-catalog,router,registry,web-console,persistent-volumes,rhel-imagestreams,automation-service-broker
Download and execute our run_latest_build.sh script
Origin Version 3.7:
https://raw.githubusercontent.com/openshift/ansible-service-broker/master/scripts/run_latest_build.sh
d +x run_latest_build.sh
n_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
Bind MediaWiki to PostgreSQL
Our release versions align with openshift/origin. For more detailed information see our version document.
| Kubernetes | OpenShift | Ansible Service Broker | Feature Freeze | Release Date | |:———-:|:———:|:———————-:|:————–:|:————:| | 1.7 | 3.7 | release-1.0 | 2017/9/4 | 2017/11/16 | | 1.9 | 3.9 | release-1.1 | 2018/1/4 | 2018/3/28 | | 1.10 | 3.10 | release-1.2 | 2018/4/4 | 2018/7/4 | | 1.11 | 3.11 | release-1.3 | 2018/7/4 | 2018/10/4 | | 1.12 | 3.12 | release-1.4 | 2018/10/4 | 2019/1/4* |
| ansible-service-broker | APB runtime 1 | APB runtime 2 | |———————————————|—————|—————| | ansible-service-broker release-1.0, v3.7 | ? | X | | ansible-service-broker release-1.1, v3.9 | ? | ? | | ansible-service-broker HEAD | ? | ? |
Key:
?
Supported.X
Will not work. Not supported.Ansible Playbook Bundle images are built on the apb-base image. Starting with
apb-base 1.1, a new APB runtime was introduced and captured in the label
com.redhat.apb.runtime
.
Currently, there are two APB runtime versions:
release-1.0
as well as APBs with no
"com.redhat.apb.runtime"
label.release-1.1
as well as APBs with label
"com.redhat.apb.runtime"="2"
.You can examine the runtime of a
particular APB with docker inspect $APB --format "{{ index
.Config.Labels \"com.redhat.apb.runtime\" }}"
. An APB without a
"com.redhat.apb.runtime"
label is APB runtime 1. For example:
cker inspect docker.io/ansibleplaybookbundle/mediawiki-apb:latest --format "{{ index .Config.Labels \"com.redhat.apb.runtime\" }}"
label on release-1.0
cker inspect docker.io/ansibleplaybookbundle/mediawiki-apb:release-1.0 --format "{{ index .Config.Labels \"com.redhat.apb.runtime\" }}"
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:
eck your go source files (gofmt, go vet, golint), build the broker, and run unit tests
check
t helpful information about our make targets
help
Ansible Service Broker is licensed under the Apache License, Version 2.0.