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:
-
Create a CloudBees Feature Management account. See Signup Page to create an account.
-
Get your environment key. Copy your environment key from App settings > Environments > Key.
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/v5/...
Add the following lines of code to your project
import ( "fmt" "github.com/rollout/rox-go/v5/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
|