{"id":37184724,"url":"https://github.com/flipt-io/flipt-openfeature-provider-go","last_synced_at":"2026-01-14T21:21:35.057Z","repository":{"id":62109833,"uuid":"539565048","full_name":"flipt-io/flipt-openfeature-provider-go","owner":"flipt-io","description":"OpenFeature provider for Flipt (GRPC/HTTP) MOVED","archived":true,"fork":false,"pushed_at":"2024-01-15T18:06:26.000Z","size":275,"stargazers_count":11,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T09:03:54.442Z","etag":null,"topics":["go","golang","openfeature"],"latest_commit_sha":null,"homepage":"https://github.com/open-feature/go-sdk-contrib/tree/main/providers/flipt","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flipt-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-09-21T15:45:21.000Z","updated_at":"2024-04-24T07:35:51.000Z","dependencies_parsed_at":"2023-09-26T00:30:09.094Z","dependency_job_id":"f9b9f733-dc23-4534-8b82-f1c29450c837","html_url":"https://github.com/flipt-io/flipt-openfeature-provider-go","commit_stats":{"total_commits":100,"total_committers":5,"mean_commits":20.0,"dds":"0.45999999999999996","last_synced_commit":"35c379e69090ea6e5ed5ec32cf69231d83cdf726"},"previous_names":["flipt-io/openfeature-provider-go"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/flipt-io/flipt-openfeature-provider-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipt-io%2Fflipt-openfeature-provider-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipt-io%2Fflipt-openfeature-provider-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipt-io%2Fflipt-openfeature-provider-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipt-io%2Fflipt-openfeature-provider-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flipt-io","download_url":"https://codeload.github.com/flipt-io/flipt-openfeature-provider-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipt-io%2Fflipt-openfeature-provider-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","openfeature"],"created_at":"2026-01-14T21:21:34.239Z","updated_at":"2026-01-14T21:21:35.045Z","avatar_url":"https://github.com/flipt-io.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flipt OpenFeature Provider (Go)\n\n## Moved :warning:\n\nWe have moved the Flipt OpenFeature Provider (Go) to the official [OpenFeature Go Contrib repository](https://github.com/open-feature/go-sdk-contrib). You can find the latest version of the Flipt OpenFeature Provider (Go) at: \u003chttps://github.com/open-feature/go-sdk-contrib/tree/main/providers/flipt\u003e.\n\nWe will continue to maintain the Flipt OpenFeature Provider (Go) in the OpenFeature Go Contrib repository. Please open any issues or pull requests there.\n\nIn the future, we will be archiving this repository and eventually removing it.\n\n## Overview\n\n[![CI](https://github.com/flipt-io/openfeature-provider-go/actions/workflows/ci.yml/badge.svg)](https://github.com/flipt-io/openfeature-provider-go/actions/workflows/ci.yml)\n![license](https://img.shields.io/github/license/flipt-io/flipt-openfeature-provider-go)\n[![Go Reference](https://pkg.go.dev/badge/go.flipt.io/flipt-openfeature-provider.svg)](https://pkg.go.dev/go.flipt.io/flipt-openfeature-provider)\n\n[![OpenFeature Specification](https://img.shields.io/static/v1?label=OpenFeature%20Specification\u0026message=v0.5.1\u0026color=yellow)](https://github.com/open-feature/spec/tree/v0.5.1)\n[![OpenFeature SDK](https://img.shields.io/static/v1?label=OpenFeature%20Golang%20SDK\u0026message=v1.0.0\u0026color=green)](https://github.com/open-feature/go-sdk)\n\nThis repository and package provides a [Flipt](https://github.com/flipt-io/flipt) [OpenFeature Provider](https://docs.openfeature.dev/docs/specification/sections/providers) for interacting with the Flipt service backend using the [OpenFeature Go SDK](https://github.com/open-feature/go-sdk).\n\nFrom the [OpenFeature Specification](https://docs.openfeature.dev/docs/specification/sections/providers):\n\n\u003e Providers are the \"translator\" between the flag evaluation calls made in application code, and the flag management system that stores flags and in some cases evaluates flags.\n\n## Requirements\n\n- Go 1.20+\n- A running instance of [Flipt](https://www.flipt.io/docs/installation)\n\n## Breaking Changes\n\n### v0.2.0\n\nVersion [v0.2.0](https://github.com/flipt-io/flipt-openfeature-provider-go/releases/tag/v0.2.0) of this client correlates Boolean flag evaluations to [Boolean flag types](https://www.flipt.io/docs/concepts#boolean-flags) on the Flipt server. Upgrading to this version will require you to convert your flags that were using Boolean evaluation to the Boolean flag type on the Flipt server.\n\n:warning: Boolean flag evaluations were introduced in Flipt server (\u003e= [v.1.24.0](https://github.com/flipt-io/flipt/releases/tag/v1.24.0)).\n\n### v0.1.5\n\nVersion [v0.1.5](https://github.com/flipt-io/flipt-openfeature-provider-go/releases/tag/v0.1.5) of this client introduced a change to use a newer version of the Flipt API which requires use of the `namespace` parameter. This is to support the new namespace functionality added to [Flipt v1.20.0](https://www.flipt.io/docs/reference/overview#v1-20-0).\n\nThis client uses the `default` namespace by default. If you are using a different namespace, you will need to set the `namespace` parameter when creating the provider:\n\n```go\nprovider := flipt.NewProvider(flipt.ForNamespace(\"my-namespace\"))\n```\n\n:warning: If you are running an older version of Flipt server (\u003c [v1.20.0](https://github.com/flipt-io/flipt/releases/tag/v1.20.0)), you should use a pre 0.1.5 version of this client.\n\n## Usage\n\n### Installation\n\n```bash\ngo get go.flipt.io/flipt-openfeature-provider\n```\n\n### Example\n\n```go\npackage main\n\nimport (\n    \"context\"\n\n    \"go.flipt.io/flipt-openfeature-provider/pkg/provider/flipt\"\n    \"github.com/open-feature/go-sdk/pkg/openfeature\"\n)\n\n\nfunc main() {\n    // http://localhost:8080 is the default Flipt address\n    openfeature.SetProvider(flipt.NewProvider())\n\n    client := openfeature.NewClient(\"my-app\")\n    value, err := client.BooleanValue(context.Background(), \"v2_enabled\", false, openfeature.EvaluationContext{\n        TargetingKey: \"tim@apple.com\",\n        Attributes: map[string]interface{}{\n            \"favorite_color\": \"blue\",\n        },\n    })\n\n    if err != nil {\n        panic(err)\n    }\n\n    if value {\n        // do something\n    } else {\n        // do something else\n    }\n}\n```\n\n## Configuration\n\nThe Flipt provider allows you to communicate with Flipt over either HTTP(S) or GRPC, depending on the address provided.\n\n### HTTP(S)\n\n```go\nprovider := flipt.NewProvider(flipt.WithAddress(\"https://localhost:443\"))\n```\n\n#### Unix Socket\n\n```go\nprovider := flipt.NewProvider(flipt.WithAddress(\"unix:///path/to/socket\"))\n```\n\n### GRPC\n\n#### HTTP/2\n\n```go\ntype Token string\n\nfunc (t Token) ClientToken() (string, error) {\n    return t, nil\n}\n\nprovider := flipt.NewProvider(\n    flipt.WithAddress(\"grpc://localhost:9000\"),\n    flipt.WithCertificatePath(\"/path/to/cert.pem\"), // optional\n    flipt.WithClientProvider(Token(\"a-client-token\")), // optional\n)\n```\n\n#### Unix Socket\n\n```go\nprovider := flipt.NewProvider(\n    flipt.WithAddress(\"unix:///path/to/socket\"),\n)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipt-io%2Fflipt-openfeature-provider-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflipt-io%2Fflipt-openfeature-provider-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipt-io%2Fflipt-openfeature-provider-go/lists"}