Skip to content

cloudfoundry/csb-brokerpak-azure

Folders and files

NameName
Last commit message
Last commit date
Mar 21, 2025
Mar 29, 2025
Nov 19, 2024
Nov 19, 2024
Mar 22, 2025
Nov 19, 2024
Sep 2, 2022
Feb 25, 2025
Feb 25, 2025
Mar 25, 2025
Nov 30, 2022
Sep 2, 2024
Nov 19, 2024
May 25, 2021
May 17, 2022
Nov 20, 2023
Jan 4, 2021
Mar 25, 2025
Jan 4, 2021
Feb 9, 2024
Aug 28, 2024
Nov 27, 2023
Nov 27, 2023
Mar 13, 2024
Oct 30, 2024
Jul 12, 2022
Mar 28, 2025
Mar 25, 2025
Mar 24, 2025
Mar 28, 2025
Jun 22, 2022

Azure Brokerpak

A brokerpak for the Cloud Service Broker that provides support for Azure services.

Development Requirements

  • Either an up-to-date version of Go or Docker
  • make - covers development lifecycle steps

Azure account information

To provision services, the brokerpak currently requires Azure account values. The brokerpak expects them in environment variables:

  • ARM_SUBSCRIPTION_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Development Tools

A Makefile supports the full local development lifecycle for the brokerpak.

The make targets can be run either with Docker or installing the required libraries in the local OS.

Available make targets can be listed by running make.

Running with docker

  1. Install Docker
  2. Launch an interactive shell into some supported image containing all necessary tools. For example:
    # From the root of this repo run:
    docker run -it --rm -v "${PWD}:/repo" --workdir "/repo" --entrypoint "/bin/bash" golang:latest
    make
    

Running with Go

  1. Make sure you have the right Go version installed (see go.mod file).

The make targets will build the source using the local go installation.

Other targets

There is a make target to push the broker and brokerpak into a CloudFoundry foundation. It will be necessary to manually configure a few items for the broker to work.

  • make push-broker will cf push the broker into CloudFoundry. Requires the cf cli to be installed.

The broker gets pushed into CloudFoundry as cloud-service-broker-azure It will be necessary to bind a MySQL database to the broker to provide broker state storage. See Azure Installation docs for more info.

Broker

The version of Cloud Service Broker to use with this brokerpak is encoded in the go.mod file. The make targets will use this version by default.

Tests

Example tests

Services definitions declare examples for each plan they provide. Those examples are then run through the whole cycle of provision, bind, unbind, and delete when running

terminal 1
>> make run

terminal 2
>> make run-examples

Acceptance tests

See acceptance tests

Integration tests

Integration tests can be run with the following command:

make run-integration-tests