/go-open-service-broker-client

A golang client for service brokers implementing the Open Service Broker API

Primary LanguageGoApache License 2.0Apache-2.0

go-open-service-broker-client

Build Status Coverage Status Go Report Card Godoc documentation

A golang client for communicating with service brokers implementing the Open Service Broker API.

Who should use this library?

This library is most interesting if you are implementing an integration between an application platform and the Open Service Broker API.

Example

import (
	osb "sigs.k8s.io/go-open-service-broker-client/v2"
)

func GetBrokerCatalog(URL string) (*osb.CatalogResponse, error) {
	config := osb.DefaultClientConfiguration()
	config.URL = URL

	client, err := osb.NewClient(config)
	if err != nil {
		return nil, err
	}

	return client.GetCatalog()
}

Documentation

This client library supports the following versions of the Open Service Broker API:

Only fields supported by the version configured for a client are sent/returned.

Check out the API specification.

Check out the detailed docs for the v2 client here.

Current status

This repository is used in:

Goals

Overall, to make an excellent golang client for the Open Service Broker API. Specifically:

  • Provide useful insights to newcomers to the API
  • Support moving between major and minor versions of the OSB API easily
  • Support new auth modes in a backward-compatible manner
  • Support alpha features in the Open Service Broker API in a clear manner
  • Allow advanced configuration of TLS configuration to a broker
  • Provide a fake client suitable for unit-type testing

Goals for the content of the project are:

  • Provide high-quality godoc comments
  • High degree of unit test coverage
  • Code should pass vet and lint checks

Non-goals

This project does not aim to provide:

  • A v1 client
  • A fake service broker; you may be interested in the OSB starter pack
  • A conformance suite for service brokers; see osb-checker for that
  • Any 'custom' API features that are not either in a released version of the Open Service Broker API spec or accepted into the spec but not yet released

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.