{"id":13500421,"url":"https://github.com/openshift/ansible-service-broker","last_synced_at":"2026-06-26T07:01:28.404Z","repository":{"id":57498563,"uuid":"79371528","full_name":"openshift/ansible-service-broker","owner":"openshift","description":"Ansible Service Broker","archived":false,"fork":false,"pushed_at":"2025-05-08T12:54:21.000Z","size":102044,"stargazers_count":228,"open_issues_count":1,"forks_count":84,"subscribers_count":207,"default_branch":"master","last_synced_at":"2025-06-12T06:11:34.645Z","etag":null,"topics":["ansible","ansible-playbook-bundles","ansibleapp","apb","broker","docker","go","golang","openservicebrokerapi","openshift","servicebroker"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-18T18:40:49.000Z","updated_at":"2025-04-04T04:30:44.000Z","dependencies_parsed_at":"2024-01-13T19:19:17.251Z","dependency_job_id":"b02b45fa-2408-42c3-a837-802874b7158c","html_url":"https://github.com/openshift/ansible-service-broker","commit_stats":{"total_commits":927,"total_committers":41,"mean_commits":"22.609756097560975","dds":0.8306364617044228,"last_synced_commit":"d34274a9eb44ed662b5347d835c9ac16e34b1d46"},"previous_names":["fusor/ansible-service-broker"],"tags_count":104,"template":false,"template_full_name":null,"purl":"pkg:github/openshift/ansible-service-broker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fansible-service-broker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fansible-service-broker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fansible-service-broker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fansible-service-broker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/ansible-service-broker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fansible-service-broker/sbom","scorecard":{"id":414542,"data":{"date":"2025-08-11","repo":{"name":"github.com/openshift/ansible-service-broker","commit":"d34274a9eb44ed662b5347d835c9ac16e34b1d46"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/openshift/.github/SECURITY.md:1","Info: Found linked content: github.com/openshift/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/openshift/.github/SECURITY.md:1","Info: Found text in security policy: github.com/openshift/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: ansible_role/apb/Dockerfile-canary:1: pin your Docker image by updating ansibleplaybookbundle/apb-base:canary to ansibleplaybookbundle/apb-base:canary@sha256:1b6836c03ec5ea3ac40628ede9dbf5d88c53d9adb66202f05b9fd070c3674036","Warn: containerImage not pinned by hash: ansible_role/apb/Dockerfile-latest:1: pin your Docker image by updating ansibleplaybookbundle/apb-base:latest to ansibleplaybookbundle/apb-base:latest@sha256:783f7f4c1331db61c396c3c1e5a4b8022fb9f8a3590d052eae539f97c6a63cc2","Warn: containerImage not pinned by hash: ansible_role/apb/Dockerfile-nightly:1: pin your Docker image by updating ansibleplaybookbundle/apb-base:nightly to ansibleplaybookbundle/apb-base:nightly@sha256:928382d8628dc1e8510aac9b0255ead2777af981b3cd0d5b96e8226ad89b6554","Warn: containerImage not pinned by hash: ansible_role/apb/Dockerfile-v3.10:1: pin your Docker image by updating ansibleplaybookbundle/apb-base:v3.11 to ansibleplaybookbundle/apb-base:v3.11@sha256:279e65625b6fc056ba7a7ba172e5d26a4f162f82e1ed57eaf5a4c194f9acd761","Warn: containerImage not pinned by hash: ansible_role/apb/Dockerfile-v3.11:1: pin your Docker image by updating ansibleplaybookbundle/apb-base:v3.11 to ansibleplaybookbundle/apb-base:v3.11@sha256:279e65625b6fc056ba7a7ba172e5d26a4f162f82e1ed57eaf5a4c194f9acd761","Warn: containerImage not pinned by hash: build/Dockerfile-canary:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-latest:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-localdev:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-nightly:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-openshift:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-ubi:1","Warn: containerImage not pinned by hash: build/Dockerfile-ubi:7","Warn: containerImage not pinned by hash: build/Dockerfile-v3.10:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-v3.11:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/Dockerfile-v3.9:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: build/custom-ci-build-root.Dockerfile:1: pin your Docker image by updating openshift/origin-release:golang-1.13 to openshift/origin-release:golang-1.13@sha256:ea37b39d60644744fbd48c1cc8a2f32fb4334bad9b91d561148ae9d3f3c630c4","Warn: containerImage not pinned by hash: operator/Dockerfile.rhel:1: pin your Docker image by updating quay.io/operator-framework/ansible-operator:master to quay.io/operator-framework/ansible-operator:master@sha256:8e0448ab89b50ae2f891fbc4ededeacb781cc27db40378444c514e588d7712a1","Warn: containerImage not pinned by hash: operator/build/Dockerfile:1: pin your Docker image by updating quay.io/operator-framework/ansible-operator:master to quay.io/operator-framework/ansible-operator:master@sha256:8e0448ab89b50ae2f891fbc4ededeacb781cc27db40378444c514e588d7712a1","Warn: containerImage not pinned by hash: operator/build/olm-testing.Dockerfile:1","Warn: containerImage not pinned by hash: operator/build/olm-testing.Dockerfile:9: pin your Docker image by updating quay.io/openshift/origin-operator-registry:latest to quay.io/openshift/origin-operator-registry:latest@sha256:abe317aaa9dbc5358bac4b71a6c1b464058066e6f171020c5bd9b0796e2a01be","Warn: containerImage not pinned by hash: operator/build/olm-testing.downstream.Dockerfile:1","Warn: containerImage not pinned by hash: operator/build/olm-testing.downstream.Dockerfile:9: pin your Docker image by updating quay.io/openshift/origin-operator-registry:latest to quay.io/openshift/origin-operator-registry:latest@sha256:abe317aaa9dbc5358bac4b71a6c1b464058066e6f171020c5bd9b0796e2a01be","Warn: goCommand not pinned by hash: build/Dockerfile-canary:46","Warn: pipCommand not pinned by hash: build/custom-ci-build-root.Dockerfile:6","Warn: pipCommand not pinned by hash: build/custom-ci-build-root.Dockerfile:6","Info:   0 out of  22 containerImage dependencies pinned","Info:   0 out of   1 goCommand dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-18T23:29:10.263Z","repository_id":57498563,"created_at":"2025-08-18T23:29:10.263Z","updated_at":"2025-08-18T23:29:10.263Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34806448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-playbook-bundles","ansibleapp","apb","broker","docker","go","golang","openservicebrokerapi","openshift","servicebroker"],"created_at":"2024-07-31T22:01:00.145Z","updated_at":"2026-06-26T07:01:28.378Z","avatar_url":"https://github.com/openshift.png","language":"Go","funding_links":[],"categories":["Go","openshift"],"sub_categories":[],"readme":"Ansible Service Broker\n======================\n\n[![Build Status](https://travis-ci.org/openshift/ansible-service-broker.svg?branch=master)](https://travis-ci.org/openshift/ansible-service-broker)\n[![Go_Report_Card](https://goreportcard.com/badge/github.com/openshift/ansible-service-broker)](https://goreportcard.com/report/github.com/openshift/ansible-service-broker)\n[![Join the chat at freenode:asbroker](https://img.shields.io/badge/irc-freenode%3A%20%23asbroker-blue.svg)](http://webchat.freenode.net/?channels=%23asbroker)\n[![Subscribe to the Mailing List](https://img.shields.io/badge/subscribe-Mailing_List-blue.svg)](https://www.redhat.com/mailman/listinfo/ansible-service-broker)\n[![Licensed under Apache License version 2.0](https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000)](https://www.apache.org/licenses/LICENSE-2.0)\n\nAnsible Service Broker is an implementation of the [Open Service Broker API](https://github.com/openservicebrokerapi/servicebroker)\nthat manages applications defined in [Ansible Playbook Bundles](https://github.com/ansibleplaybookbundle/ansible-playbook-bundle).\nAnsible Playbook Bundles (APB) are a method of defining applications via a collection of Ansible Playbooks built into a container\nwith an Ansible runtime with the playbooks corresponding to a type of request specified in the\n[Open Service Broker API Specification](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#api-overview).\n\nCheck out the [Keynote Demo from Red Hat Summit 2017](https://youtu.be/8MCbJmZQM9c?list=PLEGSLwUsxfEh4TE2GDU4oygCB-tmShkSn\u0026t=4732)\n\n**Features**\n\n- Easily define, distribute, and provision microservice(s), like [RocketChat](https://github.com/ansibleplaybookbundle/rocketchat-apb)\n  and [PostgreSQL](https://github.com/ansibleplaybookbundle/postgresql-apb), via ansible playbooks packaged in\n  [Ansible Playbook Bundles](https://github.com/ansibleplaybookbundle/ansible-playbook-bundle).\n- Easily bind microservice(s) provisioned through [Ansible Playbook Bundles](https://github.com/ansibleplaybookbundle/ansible-playbook-bundle),\n  for example: [Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App](https://www.youtube.com/watch?v=xmd52NhEjCk).\n\n**Learn More:**\n\n- [Documentation](docs/README.md)\n- Our [Trello Board](https://trello.com/b/50JhiC5v/ansible-service-broker)\n- Chat with us on [IRC (Freenode): #asbroker](http://webchat.freenode.net/?channels=%23asbroker)\n- Email us at ansible-service-broker@redhat.com and subscribe to the Ansible Service Broker's\n  [mailing list](https://www.redhat.com/mailman/listinfo/ansible-service-broker)\n- Our [YouTube Channel](https://www.youtube.com/channel/UC04eOMIMiV06_RSZPb4OOBw)\n\n**Important Links**\n- Check out the [ansible playbook bundle](https://github.com/ansibleplaybookbundle/ansible-playbook-bundle) project\n   and our [library of example APBs](https://github.com/fusor/apb-examples)\n- [catasb](https://github.com/fusor/catasb) gives you more control over your development environment\n- [Amazon Web Services deployed into OpenShift via Ansible Service Broker](https://www.youtube.com/watch?v=EKo3khfmhi8\u0026index=2\u0026list=PLZ7osZ-J70IaVc0NVyLs7tLO1hbhBdxHe)\n- [Presentation Open Service Broker API + Ansible Service Broker/Ansible Playbook Bundles](https://www.youtube.com/watch?v=BaPMFZZ5lsc\u0026index=1\u0026list=PLZ7osZ-J70IaVc0NVyLs7tLO1hbhBdxHe)\n\n# Getting Started on Kubernetes\n\n[Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/) makes\nit easy to get started with Kubernetes. Run the commands below individually or\nas a script to start a minikube VM that includes the service catalog and the\nbroker. If you already have a Kubernetes cluster, skip the ``minikube`` command\nand proceed with the remaining ones as applicable.\n\n## Prerequisites:\n\n* [Install](https://kubernetes.io/docs/tasks/tools/install-minikube/) minikube\n  and kubectl. Make sure ``minikube start`` and ``minikube delete`` are\n  working.\n* [Install](https://docs.helm.sh/using_helm/#install-helm) the ``helm`` binary.\n* Clone the broker's [GitHub repository](https://github.com/openshift/ansible-service-broker)\n\n## Install\n\nRun the following from the root of the cloned git repository.\n\n```bash\n#!/bin/env bash\n\n# Adjust the version to your liking. Follow installation docs\n# at https://github.com/kubernetes/minikube.\nminikube start --bootstrapper kubeadm --kubernetes-version v1.9.4\n\n# Install helm and tiller. See documentation for obtaining the helm\n# binary. https://docs.helm.sh/using_helm/#install-helm\nhelm init\n\n# Wait until tiller is ready before moving on\nuntil kubectl get pods -n kube-system -l name=tiller | grep 1/1; do sleep 1; done\n\nkubectl create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default\n\n# Adds the chart repository for the service catalog\nhelm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com\n\n# Installs the service catalog\nhelm install svc-cat/catalog --name catalog --namespace catalog\n\n# Wait until the catalog is ready before moving on\nuntil kubectl get pods -n catalog -l app=catalog-catalog-apiserver | grep 2/2; do sleep 1; done\nuntil kubectl get pods -n catalog -l app=catalog-catalog-controller-manager | grep 1/1; do sleep 1; done\n\n./scripts/run_latest_k8s_build.sh\n```\n\n## Use\n\nOnce everything is installed, you can interact with the service catalog using\nthe ``svcat`` command. Learn how to install and use it\n[here](https://github.com/kubernetes-incubator/service-catalog/tree/master/cmd/svcat).\n\n# Getting Started on OpenShift\n\nThere are a few different ways to quickly get up and running with a cluster + ansible-service-broker:\n\n* `oc cluster up`\n* Alternatively, [you can use minishift and install the broker with our addon, documented here](https://github.com/minishift/minishift-addons/tree/master/add-ons/ansible-service-broker).\n\nLet's walk through an `oc cluster up` based setup.\n\n## Prerequisites\n1. You will need a system setup for local [OpenShift Origin Cluster Management](https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md)\n    * Your OpenShift Client binary (`oc`) must be `\u003e=` [v3.7.0-rc.0](https://github.com/openshift/origin/releases/tag/v3.7.0-rc.0)\n\n2. If you are using minishift you should look at the [minishift](https://github.com/openshift/ansible-service-broker/blob/master/docs/minishift.md) documentation to get the ansible service broker deployed and running.\n\n## Deploy a v3.10+ Openshift Origin Cluster with the Ansible Service Broker\n[![Watch the full asciicast](docs/images/oc-enable.gif)](https://asciinema.org/a/qWbzLFt1GyWNYwH1TPsXJGAKr)\n\n* Starting with Origin v3.10  it's as simple as running `oc cluster up --enable=service-catalog,automation-service-broker`.\n  * Running `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.\n  * You might also want to add a public-hostname and routing-suffix to make it easier to access your provisioned applications as well.\n  * Complete example would look like `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`\n  * An in depth demo is available at https://youtu.be/IY1RINVsO40\n\n## Deploy a Pre v3.10 OpenShift Origin Cluster with the Ansible Service Broker\n\n[![Watch the full asciicast](docs/images/run_latest.gif)](https://asciinema.org/a/134509)\n\n1. Download and execute our [run_latest_build.sh](https://raw.githubusercontent.com/openshift/ansible-service-broker/master/scripts/run_latest_build.sh) script\n\n    Origin Version 3.7:\n    ```\n    wget https://raw.githubusercontent.com/openshift/ansible-service-broker/master/scripts/run_latest_build.sh\n    chmod +x run_latest_build.sh\n    ./run_latest_build.sh\n    ```\n\n1. At this point you should have a running cluster with the [service-catalog](https://github.com/kubernetes-incubator/service-catalog/) and the Ansible Service Broker running.\n\n**Provision an instance of MediaWiki and PostgreSQL**\n1. Log into OpenShift Web Console\n1. Create a new project 'apb-demo'\n1. Provision [MediaWiki APB](https://github.com/ansibleplaybookbundle/mediawiki-apb)\n    * Select the 'apb-demo' project\n    * Enter a 'MediaWiki Admin User Password': 's3curepw'\n    * Click 'Create'\n1. Provision [PostgreSQL APB](https://github.com/ansibleplaybookbundle/postgresql-apb)\n    * Select the 'apb-demo' project\n    * Leave 'PostgreSQL Password' blank, a random password will be generated\n    * Choose a 'PostgreSQL Version'; either version will work.\n    * Click 'Next'\n    * Select 'Do not bind at this time' and then 'Create'\n1. Wait until both APBs have finished deploying, and you see pods running for MediaWiki and PostgreSQL\n\n**Bind MediaWiki to PostgreSQL**\n1. Bind MediaWiki to PostgreSQL\n    * Click on kebab menu for PostgreSQL\n    * Select 'Create Binding' and then 'Bind'\n    * Click on the link to the created secret\n    * Click 'Add to Application'\n    * Select 'mediawiki123' and 'Environment variables'\n    * Click 'Save'\n1. View the route for MediaWiki and verify the wiki is up and running.\n    * Observe that mediawiki123 is on deployment '#2', having been automatically redeployed\n\n# Versioning\n\nOur release versions align with\n[openshift/origin](https://github.com/openshift/origin/). For more detailed\ninformation see our [version document](docs/versioning.md).\n\n## Release Dates\n\n| Kubernetes | OpenShift | Ansible Service Broker | Feature Freeze | Release Date |\n|:----------:|:---------:|:----------------------:|:--------------:|:------------:|\n|    1.7     |    3.7    |       release-1.0      |    2017/9/4    |   2017/11/16 |\n|    1.9     |    3.9    |       release-1.1      |    2018/1/4    |   2018/3/28  |\n|    1.10    |    3.10   |       release-1.2      |    2018/4/4    |   2018/7/4*  |\n|    1.11    |    3.11   |       release-1.3      |    2018/7/4*   |   2018/10/4* |\n|    1.12    |    4.0    |       release-1.4      |    2018/10/4*  |   2019/1/4*  |\n\n\n# Compatibility\n\n## APB Compatibility Matrix\n\n| ansible-service-broker                      | APB runtime 1 | APB runtime 2 |\n|---------------------------------------------|---------------|---------------|\n| ansible-service-broker release-1.0, v3.7    |       ✓       |       X       |\n| ansible-service-broker release-1.1, v3.9    |       ✓       |       ✓       |\n| ansible-service-broker HEAD                 |       ✓       |       ✓       |\n\nKey:\n\n* `✓` Supported.\n* `X` Will not work. Not supported.\n\nAnsible Playbook Bundle images are built on the [apb-base\nimage](https://github.com/ansibleplaybookbundle/apb-base). Starting with\napb-base 1.1, a new APB runtime was introduced and captured in the label\n[`com.redhat.apb.runtime`](https://github.com/ansibleplaybookbundle/apb-base/blob/master/Dockerfile-latest#L3).\nCurrently, there are two APB runtime versions:\n\n* APB runtime 1 - all APBs tagged `release-1.0` as well as APBs with no\n  `\"com.redhat.apb.runtime\"` label.\n* APB runtime 2 - all APBs tagged `release-1.1` as well as APBs with label\n  `\"com.redhat.apb.runtime\"=\"2\"`.\n\nYou can examine the runtime of a\nparticular APB with `docker inspect $APB --format \"{{ index\n.Config.Labels \\\"com.redhat.apb.runtime\\\" }}\"`. An APB without a\n`\"com.redhat.apb.runtime\"` label is APB runtime 1. For example:\n\n```\n$ docker inspect docker.io/ansibleplaybookbundle/mediawiki-apb:latest --format \"{{ index .Config.Labels \\\"com.redhat.apb.runtime\\\" }}\"\n2\n\n# No label on release-1.0\n$ docker inspect docker.io/ansibleplaybookbundle/mediawiki-apb:release-1.0 --format \"{{ index .Config.Labels \\\"com.redhat.apb.runtime\\\" }}\"\n```\n\n# Contributing\n\nFirst, **start with the** [Contributing Guide](CONTRIBUTING.md).\n\nContributions are welcome. Open issues for any bugs or problems you may run into,\nask us questions on [IRC (Freenode): #asbroker](http://webchat.freenode.net/?channels=%23asbroker),\nor see what we are working on at our [Trello Board](https://trello.com/b/50JhiC5v/ansible-service-broker).\n\nIf you want to run the test suite, when you are ready to submit a PR for example,\nmake sure you have your development environment setup, and from the root of the\nproject run:\n\n```\n# Check your go source files (gofmt, go vet, golint), build the broker, and run unit tests\nmake check\n\n# Get helpful information about our make targets\nmake help\n```\n# License\n\nAnsible Service Broker is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fansible-service-broker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Fansible-service-broker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fansible-service-broker/lists"}