Getting started with Go SDK

2 minute read

This section describes how to set up and install the Go SDK and how to deploy a feature flag.

Step 1 - Setting up

To setup Go SDK, follow these steps:

  1. Create a CloudBees Feature Management account. See Signup Page to create an account.

  2. Get your environment key.

    • Get the key from App Settings > Environment > Key.

Step 2 - Installing the Go SDK

Add the CloudBees Feature Management Go package to your application

To add the CloudBees Feature Management Go library to your project, run the following command:

# Add the SDK to your project
$go get -u github.com/rollout/rox-go/...

Add the following lines of code to your project

import (
        "fmt"
        "github.com/rollout/rox-go/server"
)


// Create Roxflags in the Flags container class
type Flags struct {
EnableTutorial server.RoxFlag
TitleColors server.RoxString
Page       server.RoxInt
Percentage server.RoxDouble
}

var flags = & Flags {
// Define the feature flags
EnableTutorial: server.NewRoxFlag(false),
TitleColors:    server.NewRoxString("Green", []string{"White", "Blue", "Green", "Yellow"}),
Page:           server.NewRoxInt(1, []int{1, 2, 3}),
Percentage:     server.NewRoxDouble(99.9, []float64{10.5, 50.0, 99.9}),
}

var rox * server.Rox

func main() {
options := server.NewRoxOptions(server.RoxOptionsBuilder{DevModeKey: "<ROLLOUT_DEVMODEKEY>"})

rox := server.NewRox()

// Register the flags container
rox.Register("", flags)

// Setup the environment key
<-rox.Setup("<ROLLOUT-ENV-KEY>", options)

// Boolean flag example
if (flags.EnableTutorial.IsEnabled(nil)) {
// TODO:  Put your code here that needs to be gated
}

// String flag example
fmt.Println("TitleColors is " + flags.TitleColors.GetValue(nil))

// Int flag example
fmt.Printf("Page is %v", flags.Page.GetValue(nil))

// Double flag example
fmt.Printf("Percentage is %v", flags.Percentage.GetValue(nil))

}

Container class registration and environment key setup

  • You cannot call Rox.setup() twice in the same runtime.

Run your application

Running the application

The flag name is automatically added to the CloudBees Feature Management dashboard after running the application.