diff --git a/.github/workflows/worker.yml b/.github/workflows/worker.yml deleted file mode 100644 index fef0e3c..0000000 --- a/.github/workflows/worker.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: Test Worker Redirects - -on: - pull_request: - types: [opened, synchronize, reopened] - -jobs: - test: - runs-on: ubuntu-latest - permissions: - contents: read - deployments: write - pull-requests: write - - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Install dependencies - working-directory: ./worker - run: npm install - - # Deploy preview - - name: Deploy Worker Preview - id: deploy - working-directory: ./worker - run: | - # Deploy the worker to preview environment - OUTPUT=$(npx wrangler deploy --config wrangler.jsonc --env preview 2>&1) - echo "$OUTPUT" - - # Extract the deployed URL from the output - # Look for the worker URL pattern - PREVIEW_URL=$(echo "$OUTPUT" | grep -o 'https://docs-preview[^[:space:]]*' | head -1) - - # If not found, try a more general pattern - if [ -z "$PREVIEW_URL" ]; then - PREVIEW_URL=$(echo "$OUTPUT" | grep -o 'https://[^[:space:]]*workers.dev' | head -1) - fi - - echo "Extracted preview URL: $PREVIEW_URL" - echo "preview_url=$PREVIEW_URL" >> $GITHUB_OUTPUT - - - name: Run redirect tests - id: tests - run: | - set -euo pipefail - - BASE_URL="${{ steps.deploy.outputs.preview_url }}" - echo "Testing against preview URL: $BASE_URL" - - echo "Testing root → /v2/" - LOCATION=$(curl -s -o /dev/null -w "%{redirect_url}" $BASE_URL/) - test "$LOCATION" = "$BASE_URL/v2/" - - echo "Testing unversioned path → /v1/path" - LOCATION=$(curl -s -o /dev/null -w "%{redirect_url}" $BASE_URL/getting-started) - test "$LOCATION" = "$BASE_URL/v1/getting-started" - - echo "Testing already versioned path (/v1) → no redirect" - STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/v1/getting-started) - # Should not get a redirect (301/302), might get 404 or 522 since there's no backend - if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then - echo "ERROR: /v1/ path should not redirect but got status $STATUS" - exit 1 - fi - echo "✓ Got status $STATUS (not a redirect)" - - echo "Testing already versioned path (/v2) → no redirect" - STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/v2/getting-started) - # Should not get a redirect (301/302), might get 404 or 522 since there's no backend - if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then - echo "ERROR: /v2/ path should not redirect but got status $STATUS" - exit 1 - fi - echo "✓ Got status $STATUS (not a redirect)" - - echo "Testing excluded path (.css) → no redirect" - STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/styles.css) - # Should not get a redirect (301/302), might get 404 or 522 since there's no backend - if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then - echo "ERROR: .css path should not redirect but got status $STATUS" - exit 1 - fi - echo "✓ Got status $STATUS (not a redirect)" - - echo "✅ All redirect tests passed!" diff --git a/docs/.vale/styles/Microsoft/HeadingAcronyms.yml b/docs/.vale/styles/Microsoft/HeadingAcronyms.yml index 9dc3b6c..efd5e3d 100644 --- a/docs/.vale/styles/Microsoft/HeadingAcronyms.yml +++ b/docs/.vale/styles/Microsoft/HeadingAcronyms.yml @@ -4,4 +4,4 @@ link: https://docs.microsoft.com/en-us/style-guide/acronyms#be-careful-with-acro level: warning scope: heading tokens: - - '[A-Z]{2,4}' + - "[A-Z]{2,4}" diff --git a/docs/.vale/styles/Microsoft/Headings.yml b/docs/.vale/styles/Microsoft/Headings.yml index 63624ed..abf3b53 100644 --- a/docs/.vale/styles/Microsoft/Headings.yml +++ b/docs/.vale/styles/Microsoft/Headings.yml @@ -5,7 +5,7 @@ level: suggestion scope: heading match: $sentence indicators: - - ':' + - ":" exceptions: - Azure - CLI diff --git a/docs/.vale/styles/Microsoft/Quotes.yml b/docs/.vale/styles/Microsoft/Quotes.yml index 38f4976..37fb92a 100644 --- a/docs/.vale/styles/Microsoft/Quotes.yml +++ b/docs/.vale/styles/Microsoft/Quotes.yml @@ -1,5 +1,5 @@ extends: existence -message: 'Punctuation should be inside the quotes.' +message: "Punctuation should be inside the quotes." link: https://docs.microsoft.com/en-us/style-guide/punctuation/quotation-marks level: error nonword: true diff --git a/docs/.vale/styles/Microsoft/Semicolon.yml b/docs/.vale/styles/Microsoft/Semicolon.yml index 4d90546..c6526ff 100644 --- a/docs/.vale/styles/Microsoft/Semicolon.yml +++ b/docs/.vale/styles/Microsoft/Semicolon.yml @@ -5,4 +5,4 @@ nonword: true scope: sentence level: suggestion tokens: - - ';' + - ";" diff --git a/docs/.vale/styles/Microsoft/SentenceLength.yml b/docs/.vale/styles/Microsoft/SentenceLength.yml index f248cf0..82e2656 100644 --- a/docs/.vale/styles/Microsoft/SentenceLength.yml +++ b/docs/.vale/styles/Microsoft/SentenceLength.yml @@ -4,4 +4,3 @@ scope: sentence level: suggestion max: 30 token: \b(\w+)\b - diff --git a/docs/.vale/styles/Microsoft/Spacing.yml b/docs/.vale/styles/Microsoft/Spacing.yml index bbd10e5..c8b5236 100644 --- a/docs/.vale/styles/Microsoft/Spacing.yml +++ b/docs/.vale/styles/Microsoft/Spacing.yml @@ -4,5 +4,5 @@ link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods level: error nonword: true tokens: - - '[a-z][.?!] {2,}[A-Z]' - - '[a-z][.?!][A-Z]' + - "[a-z][.?!] {2,}[A-Z]" + - "[a-z][.?!][A-Z]" diff --git a/docs/.vale/styles/Microsoft/Units.yml b/docs/.vale/styles/Microsoft/Units.yml index f062418..4e3d71e 100644 --- a/docs/.vale/styles/Microsoft/Units.yml +++ b/docs/.vale/styles/Microsoft/Units.yml @@ -5,10 +5,10 @@ level: error raw: - '[a-zA-Z]+\s' tokens: - - '(?:centi|milli)?meters' - - '(?:kilo)?grams' - - '(?:kilo)?meters' - - '(?:mega)?pixels' + - "(?:centi|milli)?meters" + - "(?:kilo)?grams" + - "(?:kilo)?meters" + - "(?:mega)?pixels" - cm - inches - lb diff --git a/docs/.vale/styles/Microsoft/Vocab.yml b/docs/.vale/styles/Microsoft/Vocab.yml index eebe97b..73b5cd1 100644 --- a/docs/.vale/styles/Microsoft/Vocab.yml +++ b/docs/.vale/styles/Microsoft/Vocab.yml @@ -1,6 +1,6 @@ extends: existence message: "Verify your use of '%s' with the A-Z word list." -link: 'https://docs.microsoft.com/en-us/style-guide' +link: "https://docs.microsoft.com/en-us/style-guide" level: suggestion ignorecase: true tokens: diff --git a/docs/docs.json b/docs/docs.json index 4391f8c..ef63a2a 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -85,6 +85,13 @@ ] }, "v2/cli/commands/evaluate", + { + "group": "license", + "pages": [ + "v2/cli/commands/license/check", + "v2/cli/commands/license/activate" + ] + }, "v2/cli/commands/migrate", "v2/cli/commands/validate", "v2/cli/commands/server", diff --git a/docs/v2/cli/commands/config/edit.mdx b/docs/v2/cli/commands/config/edit.mdx index e235821..a6d754a 100644 --- a/docs/v2/cli/commands/config/edit.mdx +++ b/docs/v2/cli/commands/config/edit.mdx @@ -7,7 +7,11 @@ description: "Edit Flipt configuration" flipt config edit [flags] ``` -### Options +## Synopsis + +Opens the Flipt configuration file in your default editor for making changes. + +## Options ``` -h, --help help for edit @@ -19,6 +23,13 @@ flipt config edit [flags] --config string path to config file ``` -### More Info +## Examples + +```bash +flipt config edit +flipt config edit --config /path/to/config.yml +``` + +## More Info See the [Configuration](/v2/configuration/overview) section of the documentation for more information. diff --git a/docs/v2/cli/commands/config/init.mdx b/docs/v2/cli/commands/config/init.mdx index 5a989b1..6baa7d9 100644 --- a/docs/v2/cli/commands/config/init.mdx +++ b/docs/v2/cli/commands/config/init.mdx @@ -7,7 +7,11 @@ description: "Initialize Flipt configuration" flipt config init [flags] ``` -### Options +## Synopsis + +Creates a new Flipt configuration file with default settings. + +## Options ``` -y, --force Overwrite existing configuration file @@ -20,6 +24,13 @@ flipt config init [flags] --config string path to config file ``` -### More Info +## Examples + +```bash +flipt config init +flipt config init --force +``` + +## More Info See the [Configuration](/v2/configuration/overview) section of the documentation for more information. diff --git a/docs/v2/cli/commands/evaluate.mdx b/docs/v2/cli/commands/evaluate.mdx index 4d80330..b81ea2e 100644 --- a/docs/v2/cli/commands/evaluate.mdx +++ b/docs/v2/cli/commands/evaluate.mdx @@ -7,7 +7,13 @@ description: "Evaluate a flag" flipt evaluate [flagKey] [flags] ``` -### Options +## Synopsis + +Evaluates a feature flag against the Flipt instance and returns the evaluation result. + +Supports watch mode for continuous evaluation. + +## Options ``` -a, --address string address of Flipt instance. (default "http://localhost:8080") @@ -22,14 +28,14 @@ flipt evaluate [flagKey] [flags] -w, --watch enable watch mode. ``` -### Examples +## Examples -``` -$ flipt evaluate chat-enabled --context test=foo +```bash +flipt evaluate chat-enabled --context test=foo {"flag_key":"chat-enabled","enabled":true,"reason":"DEFAULT_EVALUATION_REASON","request_id":"73d12ea1-65d7-401d-b0c7-f7a6b3d41dd6","request_duration_millis":0.894792,"timestamp":"2024-01-23T17:37:13.484716964Z"} ``` -### More Info +## More Info See the [Evaluation](/v2/concepts#evaluation) concepts section of the documentation for more information. diff --git a/docs/v2/cli/commands/license/activate.mdx b/docs/v2/cli/commands/license/activate.mdx new file mode 100644 index 0000000..289486e --- /dev/null +++ b/docs/v2/cli/commands/license/activate.mdx @@ -0,0 +1,38 @@ +--- +title: "license activate" +description: "Activate a new Flipt Pro license" +--- + +``` +flipt license activate [flags] +``` + +## Synopsis + +Interactive wizard for activating a new Flipt Pro license. + +The `activate` command provides a guided, text-based user interface that: + +- Supports both Pro Monthly and Pro Annual license types +- Handles online and offline license configurations +- Automatically updates your Flipt configuration file +- Validates the license with the licensing service +- Provides clear step-by-step guidance through the activation process + +## Options + +``` + --config string path to config file + -h, --help help for activate +``` + +## Examples + +```bash +flipt license activate +flipt license activate --config /path/to/config.yml +``` + +## More Info + +See the [Licensing](/v2/licensing) and [Flipt Pro](/v2/pro) documentation for more information about Pro features and licensing options. diff --git a/docs/v2/cli/commands/license/check.mdx b/docs/v2/cli/commands/license/check.mdx new file mode 100644 index 0000000..2882fcf --- /dev/null +++ b/docs/v2/cli/commands/license/check.mdx @@ -0,0 +1,38 @@ +--- +title: "license check" +description: "Validate your Flipt Pro license" +--- + +``` +flipt license check [flags] +``` + +## Synopsis + +Validates your current license configuration and displays license status information. + +The `check` command: + +- Validates the license configuration in your Flipt config file +- Connects to the licensing service to verify license validity +- Displays your current license status and expiration +- Shows which Pro features are available with your license +- Provides guidance for unlicensed users + +## Options + +``` + --config string path to config file + -h, --help help for check +``` + +## Examples + +```bash +flipt license check +flipt license check --config /path/to/config.yml +``` + +## More Info + +See the [Licensing](/v2/licensing) and [Flipt Pro](/v2/pro) documentation for more information about Pro features and licensing options. diff --git a/docs/v2/cli/commands/migrate.mdx b/docs/v2/cli/commands/migrate.mdx index 183feda..9061537 100644 --- a/docs/v2/cli/commands/migrate.mdx +++ b/docs/v2/cli/commands/migrate.mdx @@ -3,23 +3,32 @@ title: "migrate" description: "Run pending analytics database migrations" --- -This is automatically run when the server starts. +``` +flipt migrate [flags] +``` + +## Synopsis + +Runs pending analytics database migrations. This currently only supports Clickhouse analytics database migrations. -``` -flipt migrate [flags] -``` - -### Options +## Options ``` --config string path to config file -h, --help help for migrate ``` -### More Info +## Examples + +```bash +flipt migrate +flipt migrate --config /path/to/config.yml +``` + +## More Info See the [Analytics](/v2/configuration/analytics) section of the documentation for more information. diff --git a/docs/v2/cli/commands/quickstart.mdx b/docs/v2/cli/commands/quickstart.mdx index 21101ae..fc03789 100644 --- a/docs/v2/cli/commands/quickstart.mdx +++ b/docs/v2/cli/commands/quickstart.mdx @@ -4,32 +4,34 @@ description: "Interactive setup wizard for Flipt Git storage" --- ``` -flipt quickstart [flags] +flipt quickstart [flags] ``` -### Synopsis +## Synopsis -The setup wizard helps you configure Flipt v2 with Git storage. +The `quickstart` command provides an interactive, text-based user interface wizard to help you configure Flipt v2 with Git storage and SCM integration. -The wizard will guide you through: +The wizard guides you through: -- Configuring Git repository storage with SCM integration +- Selecting your SCM provider (GitHub, GitLab, Bitbucket, Azure DevOps, Gitea) +- Configuring Git repository storage settings - Setting up authentication (Personal Access Token) +- Automatically updating your Flipt configuration file -### Examples +## Options ``` -$ flipt quickstart -$ flipt quickstart --config /path/to/config.yml + --config string path to config file + -h, --help help for quickstart ``` -### Options +## Examples -``` - --config string path to config file - -h, --help help for quickstart +```bash +flipt quickstart +flipt quickstart --config /path/to/config.yml ``` -### More Info +## More Info -See the [Quickstart](/v2/quickstart) section of the documentation for more information. +See the [Quickstart](/v2/quickstart) section of the documentation for more information about getting started with Flipt v2. diff --git a/docs/v2/cli/commands/server.mdx b/docs/v2/cli/commands/server.mdx index ec7d380..bc33a7d 100644 --- a/docs/v2/cli/commands/server.mdx +++ b/docs/v2/cli/commands/server.mdx @@ -7,9 +7,20 @@ description: "Run the Flipt server" flipt server [flags] ``` -### Options +## Synopsis + +Starts the Flipt server. + +## Options ``` --config string path to config file -h, --help help for server ``` + +## Examples + +```bash +flipt server +flipt server --config /path/to/config.yml +``` diff --git a/docs/v2/cli/commands/validate.mdx b/docs/v2/cli/commands/validate.mdx index 4a3278b..ee15207 100644 --- a/docs/v2/cli/commands/validate.mdx +++ b/docs/v2/cli/commands/validate.mdx @@ -7,7 +7,11 @@ description: "Validate Flipt flag state (.yaml, .yml) files" flipt validate [flags] ``` -### Options +## Synopsis + +Validates Flipt flag state files (`.yaml`, `.yml`) for syntax errors and schema compliance. + +## Options ``` -e, --extra-schema string path to extra schema constraints @@ -16,3 +20,12 @@ flipt validate [flags] --issue-exit-code int exit code to use when issues are found (default 1) -d, --work-dir string set the working directory (default ".") ``` + +## Examples + +```bash +flipt validate +flipt validate --work-dir /path/to/flags +flipt validate --format json +flipt validate --extra-schema /path/to/schema.json +``` diff --git a/docs/v2/licensing.mdx b/docs/v2/licensing.mdx index cf64e65..13c4ad2 100644 --- a/docs/v2/licensing.mdx +++ b/docs/v2/licensing.mdx @@ -47,6 +47,15 @@ The **majority of Flipt v2 remains free and open source**, including: Pro features are protected by license key validation and cannot be accessed without a valid license. For detailed information about Pro features and purchasing options, see our [Flipt Pro](/v2/pro) page. +### Managing Your License + +Flipt provides CLI commands to help you manage your Pro license: + +- **[`flipt license check`](/v2/cli/commands/license/check)**: Validate your current license and view available Pro features +- **[`flipt license activate`](/v2/cli/commands/license/activate)**: Interactive wizard to activate a new license + +These commands provide a streamlined way to check license status, verify expiration dates, and activate new licenses directly from the command line. + ## SDK and Integration Licensing **All Flipt SDKs and client libraries remain MIT licensed**, ensuring that: diff --git a/docs/v2/quickstart.mdx b/docs/v2/quickstart.mdx index b060df3..0db30b6 100644 --- a/docs/v2/quickstart.mdx +++ b/docs/v2/quickstart.mdx @@ -27,6 +27,13 @@ docker run -d \ In this example, we'll use the default location of [http://localhost:8080](http://localhost:8080). + + **Quick Configuration**: If you want to quickly set up Flipt with Git storage + and SCM integration, you can use the interactive [`flipt + quickstart`](/v2/cli/commands/quickstart) command. The wizard will guide you + through configuring your Git repository and authentication. + + ## Environments and Namespaces Flipt v2 introduces the concept of environments in addition to namespaces.