Skip to content

This is a Cloud Foundry CLI plugin for performing various backup and restore operations on service instances in Cloud Foundry.

License

Notifications You must be signed in to change notification settings

thoHeinze/service-fabrik-cli-plugin

 
 

Repository files navigation

ServiceFabrik CF CLI Plugin

This is a Cloud Foundry CLI plugin for performing various backup and restore operations on service-instances in Cloud Foundry, such as starting/aborting a backup, listing all backups, removing backups, starting/aborting a restore, etc.

Developer's Guide

Pre-requisites:

  • go binaries: You need to have go in your build environment. Inorder to do that, you need to download and install the golang package. The binaries for download and corresponding installation instructions can be found here.
  • CloudFoundry Command Line Interface (CF CLI): You need to have CF CLI installed for the plugin to work since it is a plugin built on CF CLI. The installation instructions for CF CLI can be found here.

Building the plugin

Clone this repo and build it. For this execute following commands on Linux or Mac OS X system

$ go get github.com/SAP/service-fabrik-cli-plugin
$ cd $GOPATH/src/github.com/SAP/service-fabrik-cli-plugin
$ go build .

The above will clone your repo into default $GOPATH. If you want to setup a different $GOPATH and work on that, then execute following commands on a Linux or Mac OS X system:

$ mkdir -p service-fabrik-cli-plugin/src/github.com/SAP/
$ export GOPATH=$(pwd)/service-fabrik-cli-plugin:$GOPATH
$ cd service-fabrik-cli-plugin/src/github.com/SAP/
$ git clone https://github.com/SAP/service-fabrik-cli-plugin.git
$ cd service-fabrik-cli-plugin
$ go build .

This will generate a binary executable with the name service-fabrik-cli-plugin.

Installation and Getting Started

  • Ensure that CF CLI is installed and working.
  • You should have generated a plugin executable by building the package. Refer to previous section for details.
  • Before using the plugin, you need to install it to the CLI.

For Windows

cf install-plugin C:\Users\[username]\github.com\SAP\service-fabrik-cli-plugin\servicefabrik_cli_plugin_windows_amd64.exe

For Mac

cf install-plugin ~/github.com/SAP/service-fabrik-cli-plugin/servicefabrik_cli_plugin_darwin_amd64

For Linux

cf install-plugin ~/github.com/SAP/service-fabrik-cli-plugin/servicefabrik_cli_plugin_linux_amd64

The installation instructions given here imply that the working directory is the home directory. Kindly change it to the proper directory structure as given here, if it is not so.

This CF CLI plugin is only available for ServiceFabrik broker, so it can only be used with CF installations in which this service broker is available. You can also list all available commands and their usage with cf backup. For more information, see Commands and Further Reading below.

Building new release version

You can automatically build new release for all supported platforms by calling the build.sh script with the version of the build. The version will be automatically included in the plugin, so it will be reported by cf plugins.

🚨 Note that the version parameter should follow the semver format (e.g. 1.2.3).

./build.sh 1.2.3

This will produce servicefabrik_cli _plugin_linux_amd64, servicefabrik_cli_plugin_darwin_amd64 and servicefabrik_cli_plugin_windows_amd64 in the repo's root directory.

Commands

This plugin adds the following commands:

Command Name Command Description
cf backup Show the list of all commands and their usage.
cf backup BACKUP_ID Show the information about a particular backup.
cf list-backup Show the list of all backups present in the space.
cf list-backup SERVICE_INSTANCE_NAME Show the list of all backups for the given service-fabrik service instance.
cf list-backup --guid SERVICE_INSTANCE_GUID Show the list of all backups for the given service-fabrik service instance. The argument has to be the guid of the service instance. (Works even for a deleted instance.)
cf list-backup SERVICE_INSTANCE_NAME --deleted Shows the list of all backups for a deleted service-fabrik service instance. (Works only for a deleted service-instance.)
cf instance-events Lists all events including create, update and delete events triggered for all service instances present in the space.
cf instance-events --create List all create service instance events in the space.
cf instance-events --update List all update service instance events in the space.
cf instance-events --delete List all delete service instance events in the space.
cf start-restore SERVICE_INSTANCE_NAME BACKUP_ID Start restore of a service-fabrik service instance from the given backup id.
cf abort-restore SERVICE_INSTANCE_NAME Abort restore of a service-fabrik service instance.

For more information, see the command help output available via cf [command] --help or cf help [command].

Further Reading

User Documentation: user_documentation_cf_cli_plugin.md

How to obtain support

If you need any support, have any question or have found a bug, please report it in the GitHub bug tracking system. We shall get back to you.

LICENSE

This project is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

About

This is a Cloud Foundry CLI plugin for performing various backup and restore operations on service instances in Cloud Foundry.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.9%
  • Shell 2.1%