Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,3 @@ jobs:

- name: Check for Broken Links
run: npx -y mint broken-links

95 changes: 0 additions & 95 deletions .github/workflows/worker.yml

This file was deleted.

34 changes: 8 additions & 26 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,7 @@
"group": "Pro Features",
"tag": "NEW",
"icon": "crown",
"pages": [
"v2/pro",
"v2/licensing"
]
"pages": ["v2/pro", "v2/licensing"]
},
{
"group": "Configuration",
Expand All @@ -66,9 +63,7 @@
"v2/integration/overview",
{
"group": "Server-Side SDKs",
"pages": [
"v2/integration/server/rest"
]
"pages": ["v2/integration/server/rest"]
},
"v2/integration/client",
"v2/integration/openfeature"
Expand Down Expand Up @@ -143,19 +138,15 @@
},
{
"group": "Migration Guides",
"pages": [
"v2/guides/migration/cloud/flipt-cloud-to-v2"
]
"pages": ["v2/guides/migration/cloud/flipt-cloud-to-v2"]
}
]
},
{
"group": "Tooling",
"icon": "hammer",
"tag": "NEW",
"pages": [
"v2/tooling/github-actions"
]
"pages": ["v2/tooling/github-actions"]
}
]
},
Expand Down Expand Up @@ -185,10 +176,7 @@
"groups": [
{
"group": "Overview",
"pages": [
"v1/introduction",
"v1/concepts"
]
"pages": ["v1/introduction", "v1/concepts"]
},
{
"group": "Use Cases",
Expand Down Expand Up @@ -333,9 +321,7 @@
},
{
"group": "Authorization",
"pages": [
"v1/authorization/overview"
]
"pages": ["v1/authorization/overview"]
},
{
"group": "Operations",
Expand All @@ -362,9 +348,7 @@
"groups": [
{
"group": "Overview",
"pages": [
"v1/reference/overview"
]
"pages": ["v1/reference/overview"]
},
{
"group": "Authentication",
Expand Down Expand Up @@ -475,9 +459,7 @@
{
"anchor": "Changelog",
"icon": "clock",
"pages": [
"v1/changelog/overview"
]
"pages": ["v1/changelog/overview"]
},
{
"anchor": "Blog",
Expand Down
25 changes: 13 additions & 12 deletions docs/v2/configuration/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -181,18 +181,19 @@ Server configuration controls how Flipt listens for and serves HTTP, HTTPS, and

Storage configuration defines where and how Flipt persists feature flag data, including local and remote Git repositories.

| Property | Description | Default | Since |
| ------------------------------ | ------------------------------------------------------------------- | ------------------- | ------ |
| storage.[id].name | The canonical name of the storage instance | default | v2.0.0 |
| storage.[id].backend.type | The type of backend to use (options: memory, local) | memory | v2.0.0 |
| storage.[id].backend.path | The path to the local storage directory for git backend | temporary directory | v2.0.0 |
| storage.[id].remote | The remote URL to sync storage to/from | | v2.0.0 |
| storage.[id].branch | The branch to use for git backend | main | v2.0.0 |
| storage.[id].poll_interval | The interval to poll the git repository and ref for changes | 30s | v2.0.0 |
| storage.[id].ca_cert_bytes | The CA certificate bytes for the remote URL | | v2.0.0 |
| storage.[id].ca_cert_path | The CA certificate path for the remote URL | | v2.0.0 |
| storage.[id].insecure_skip_tls | Skip verifying the server's certificate chain (avoid in production) | false | v2.0.0 |
| storage.[id].credentials | The id of the credentials to use for the remote URL | | v2.0.0 |
| Property | Description | Default | Since |
| ------------------------------ | ------------------------------------------------------------------------------------- | ------------------- | ------ |
| storage.[id].name | The canonical name of the storage instance | default | v2.0.0 |
| storage.[id].backend.type | The type of backend to use (options: memory, local) | memory | v2.0.0 |
| storage.[id].backend.path | The path to the local storage directory for git backend | temporary directory | v2.0.0 |
| storage.[id].remote | The remote URL to sync storage to/from | | v2.0.0 |
| storage.[id].branch | The branch to use for git backend | main | v2.0.0 |
| storage.[id].poll_interval | The interval to poll the git repository and ref for changes | 30s | v2.0.0 |
| storage.[id].ca_cert_bytes | The CA certificate bytes for the remote URL | | v2.0.0 |
| storage.[id].ca_cert_path | The CA certificate path for the remote URL | | v2.0.0 |
| storage.[id].insecure_skip_tls | Skip verifying the server's certificate chain (avoid in production) | false | v2.0.0 |
| storage.[id].fetch_policy | Policy for handling connection issues when fetching from remote Git (strict, lenient) | strict | v2.3.0 |
| storage.[id].credentials | The id of the credentials to use for the remote URL | | v2.0.0 |

#### Commit Signing

Expand Down
36 changes: 36 additions & 0 deletions docs/v2/configuration/storage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,49 @@ storage:
remote: "https://github.com/flipt-io/example.git"
branch: "main"
poll_interval: "30s"
fetch_policy: "strict"
credentials: "github"
backend:
type: memory
```

This configuration will create a git storage backend with the identifier `staging` in memory and will sync flag state to and from the remote repository.

### Fetch Policy

The `fetch_policy` configuration option controls how Flipt handles connection-related issues when attempting to fetch from a remote Git repository.

#### Available Policies

- **`strict`** (default): Flipt will fail and return an error if it encounters connection issues when trying to fetch from the remote repository. This ensures that any connectivity problems are immediately visible and must be resolved.

- **`lenient`**: Flipt will continue operating even if connection issues prevent fetching from the remote repository. This allows Flipt to remain functional during temporary network issues or remote repository unavailability.

#### Usage Example

```yaml
storage:
production:
remote: "https://github.com/company/flags.git"
fetch_policy: "strict" # Fail fast on connection issues
backend:
type: local
path: "/var/lib/flipt"

development:
remote: "https://github.com/company/flags.git"
fetch_policy: "lenient" # Continue operation during connection issues
backend:
type: memory
```

<Warning>
In production environments, consider using `strict` to ensure that
connectivity issues are detected and resolved promptly, preventing potential
configuration drift between your remote repository and running Flipt
instances.
</Warning>

### Conflict Resolution

Conflicts can occur when syncing flag state to and from a remote repository. The conflict resolution strategy in Flipt v2 is currently rudimentary and we aim to improve this in future releases.
Expand Down