Getting started

On this page:

How F2T works

It only takes a few minutes to get started with F2T. Conceptually this is what you need to understand.

Step 1: You and your application

You

You are represented by the account you create with F2T. You will use this to maintain your feature flag values.

Your application

You should have access to a codebase that you want to control the enabling of features with. The codebase powers somekind of application. This can have multiple environments, i.e. a "test" env for testing and a production env that you deploy "live" releases to. This application requires Internet access to be able to talk to F2T.

Step 2: Projects and environments

Projects

Your applications will be represented in F2T as a "project".

You account will hold a list of projects (you can have as many as you like).

Environments

Each project will be made up of at least one environment. You need to create an evironment in F2T for each instance of your codebase that you have deployed (e.g. like "test" and "live" above).

Step 3: Feature flag values

Each environment will contain feature flags. You can define as many feature flags as you want.

Flags represents a feature that you want to quickly enable and disable in each environment.

This means that you can deploy a feature in your codebase all the way through to your live environment, but have the feature enabled in your test environment and disabled in your live environment.

This will allow you to see the feature in the test environment but not in the live environment. You don't need to keep new features in a seperate branch in your code repo. You can also quickly disable and reenable existing features without doing code deployments.

Step 4: Admin console, API and client libraries

F2T API (api.featureflag.tech)

The F2T API is an endpoint that your codebase uses to programmatically request your flag data. It is a highlighly available HTTPS REST endpoint.

F2T client libraries

F2T bills you depending on your usage of this service. Everytime any of your projects makes a request, your usage metric for the month increases.

Usage is measured against your account, not per project or environment. This means you can have as many projects or environments that you want. You are billed for the total usage of the service.

F2T Admin site (admin.featureflag.tech)

The part of featureflag.tech that you log into and edit projects, environments and feature flags.

F2T client libraries

We currently provide the following client libraries for you to use with your code:

F2T admin site

The F2T admin is made up of the following webpages:

The dashboard - /dashboard

This gives you an overview of all your projects, environments and flags in relation to one another.

With one glance you can quickly see what flags are enabled across environments.

Feature flags - /featureflags

This page is where you do the actual creation/editing/removing of feature flags.

Settings - /settings

You manage your account from here. Change your password, update the usage tier, etc.

F2T Terminology

Project

This represents the application that you want to use feature flags with.

You can define as many of these as you want. F2T does not limit this.

Properties

name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two projects with the same value.
ID
Automatically unique generated value for the project. This never changes.

Actions

Update
You can update certain properties of the project.
Delete
You can delete a project. This will also delete all assocatied environment and flag data. Once deleted you cannot retrieve the data.
Create Environment
Adds a new environment to the project. You can either create a brand new one from scratch, or make a copy of an existing one.

Environment

Each one of these represents an environment that you have deployed a version of your project to.

Typically in software development, a project will have at least 2 environments: a live or production environment that is the version that is operational, and a non live environment which you use for testing.

You can define as many of these as you want. F2T does not limit this.

Properties

Name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two environments with the same value.
ID
Automatically unique generated value for the project. This never changes.
API Key
You use this with the API client libraries when making requests from your application. This value enables you to use the F2T service. Keep this value as a secret in your application.
Size
F2T has a limit to the amount of data that can be transfered with each API request. Your limit will be defined in the pricing plan you have enabled. This size value will reflect how much of your size allowance you have used up.
TTL
Time To Live. The API has a cache, the time the cache keeps the value of your feature flags depends on your pricing plan.

Actions

Regenerate API key
This will change your API key value. Changing this will invalidate your existing key, so this action should only be performed if you think your secret value has been compromised. You will need to update your codebase if you perform this action.
Delete
You can delete an environment. This will also delete all assocatied flag data. Once deleted you cannot retrieve the data.
Create flag
Adds a new feature flag value to the environment.

Feature Flag

A boolean value which you define. This is the value that you use in your codebase to make decisions around.

Properties

Name
User definable value. This is for your benefit, you can change it whenever you want. Note you can't have two flags with the same value.
Status
Tells you if the feature is enabled or disabled.
Description
User definable value, let's you add a description to the flag.
Created date
Date the flag was created.
Modified date
Date the flag was last changed.

Actions

Change values
Update editable values
Delete flag
You can delete a feature flag. Once deleted you cannot retrieve the data.