flipt

flipt-io活跃维护

基于 Git 原生的特性开关管理方案,把开关配置纳入版本控制,方便团队在持续交付中安全地灰度发布和回滚。

Enterprise-ready, Git native feature management solution

v2.14.1发布于 2026-10-23 02:55 UTC4,944star +5 / 7 天319fork同步于 2026-11-10 11:36 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://get.flipt.io/v2 | sh
flipt quickstart
flipt server
硬件要求按 README 说明

README 未说明硬件要求,只强调单二进制、默认无数据库等外部依赖,可本地或 Docker 运行

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把功能开关当代码存进你自己的 Git 仓库,用分支和 CI/CD 管理发布

基于 Git 原生的特性开关管理方案,把开关配置纳入版本控制,方便团队在持续交付中安全地灰度发布和回滚。

核心能力

  • 功能开关直接存放在自有 Git 仓库,带完整提交历史与 blame
  • 环境可映射到 Git 分支、目录或独立仓库,彼此完全隔离
  • 用 SSE 流式 API 实时推送开关变更,客户端无需轮询
  • 单二进制零外部依赖,默认不需要数据库
  • 提供 REST、gRPC 接口并支持 OpenFeature 标准

容易踩的坑

Docker 运行需同时映射 8080 和 9000 两个端口,UI 在 8080;GPG 提交签名、merge proposals、Vault 等密钥后端属 Pro 功能,需许可证;v2 与 v1 代码分属不同分支,找 v1 需切到 main 分支

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.14.1
  1. v1.62.02026-10-23 · 2026-10-23 23:30 UTC
    查看更新说明

    Changelog

    Features

    • da84e52863106bba3ed379444d7f2cadfd1303df: feat(authn): optional audiences for Kubernetes authentication (@markphelps)
    • e143baf71586be937dacd3cda6b098bbd94d0764: feat: show which flags use each segment in the UI (#5563) (@aparimeet)

    Bug Fixes

    • 78c1aab06846beaf8d1f2918b47f1344ad9f5120: fix(analytics): escape request keys in Prometheus queries (@markphelps)
    • a853eee3eb318d664410a07210db654083d2c6c9: fix(analytics): record and query blank namespaces as default (@markphelps)
    • 1a78c97f0cfd0d3d2d43f3fb4ca3735a6f4d0f38: fix(audit): register OTel stats handler when audit is enabled without tracing (#6280) (@erka)
    • 3606bb64cd374596fb58bd957953cd750ebef362: fix(authn): correct struct tag typo jsom -> json for Expiration field (#5907) (@erka)
    • 268ee650bf95230413d74f260e52003d1bb9ce9d: fix(authn): use a per-login nonce and PKCE verifier for OIDC (@markphelps)
    • 3dece67239d0160ef20a81bd6fda7db3e7bd5e13: fix(authz): authorize analytics requests (@markphelps)
    • 07e8dd25f454b52c3d862d780fe67d1b7fd3726c: fix(authz): fail closed when listing namespaces without access (@markphelps)
    • bfd1c2e72fcf50fbfa70bdad76d904be07d2641b: fix(build): order release preparation tasks (@markphelps)
    • b8a0696c818c611f5b140cc4bc23b0c7531ef479: fix(ci): install quill outside the workspace in v1 releases (@markphelps)
    • 4d283cf7bad3de027a799db81ec70979970dda2f: fix(config): correct JSON Schema meta-schema keywords (#6492) (@erka)
    • 84f3b124263e725bef2caaa8889af610db647052: fix(deps): update aws-sdk-go-v2 monorepo (#5555) (@renovate[bot])
    • ad9b7b72aedae4093de89a06309838ce14499377: fix(deps): update aws-sdk-go-v2 monorepo (#5561) (@renovate[bot])
    • cf9530995c4865685103fc13b9495c7a1a09f910: fix(deps): update aws-sdk-go-v2 monorepo (#5625) (@renovate[bot])
    • 8bd11e3e8b187a1bc98c3feb2b1a0e1c4f54d0c9: fix(deps): update aws-sdk-go-v2 monorepo (#5748) (@renovate[bot])
    • 5f783ba5374c612684ef1163a233f22803f6c54e: fix(deps): update aws-sdk-go-v2 monorepo (#5799) (@renovate[bot])
    • a130436ecc085f461001d172f85a2249382f31f2: fix(deps): update aws-sdk-go-v2 monorepo (#5924) (@renovate[bot])
    • 6cbe174386c00e8bc4cbb21e8552e08ee9b98e1d: fix(deps): update aws-sdk-go-v2 monorepo (#5931) (@renovate[bot])
    • a2973166d515f81d47c2497c7fe02ca8b91c57df: fix(deps): update aws-sdk-go-v2 monorepo (#5941) (@renovate[bot])
    • a9ad5ad6341a026fb23af29ee63477e1bcf10e2e: fix(deps): update aws-sdk-go-v2 monorepo (#5965) (@renovate[bot])
    • 436469eab84665f4067e5b8b6de23df7d9825036: fix(deps): update aws-sdk-go-v2 monorepo (#5974) (@renovate[bot])
    • 841896c8980604d553e2988a7aac5bb7c1995371: fix(deps): update aws-sdk-go-v2 monorepo (#5997) (@renovate[bot])
    • a4495b8e0f7b83790d76e5c7570fa911555944d5: fix(deps): update aws-sdk-go-v2 monorepo (#6112) (@renovate[bot])
    • 751f953541de1d1881662e92985a574a07f64d19: fix(deps): update aws-sdk-go-v2 monorepo (#6121) (@renovate[bot])
    • 6ddacb87fc1a90f77cac8ba903686c9d050687b5: fix(deps): update aws-sdk-go-v2 monorepo (#6150) (@renovate[bot])
    • d4eaea423ca52744a8f1f60fbc80523e7f346bb0: fix(deps): update aws-sdk-go-v2 monorepo (#6205) (@renovate[bot])
    • 71da20b50b46d19a3edaf2f92997ec10f4074766: fix(deps): update aws-sdk-go-v2 monorepo (#6237) (@renovate[bot])
    • 55f87be06afef48088c587622861c156e933f589: fix(deps): update aws-sdk-go-v2 monorepo (#6283) (@renovate[bot])
    • 67396cad50e0b88a3cbca446625a353c1b60294c: fix(deps): update aws-sdk-go-v2 monorepo (#6295) (@renovate[bot])
    • 328a21d25c8e6134a2d6593c6db0d63fcdeea103: fix(deps): update aws-sdk-go-v2 monorepo (#6308) (@renovate[bot])
    • 73a65bf59c4e71c85ac58580230057b778ed047a: fix(deps): update aws-sdk-go-v2 monorepo (#6319) (@renovate[bot])
    • e161a9922e0253b4f64b4c60f04e6f40d638f9bd: fix(deps): update aws-sdk-go-v2 monorepo (#6342) (@renovate[bot])
    • cb202733d15756b29459162f385b972c88bc73a7: fix(deps): update aws-sdk-go-v2 monorepo (#6369) (@renovate[bot])
    • ce0c9449a01dc9c4fb275caa289397b4b74ff835: fix(deps): update aws-sdk-go-v2 monorepo (#6400)
  2. v2.14.1最新正式版2026-10-23 · 2026-10-23 02:55 UTC

    Changelog

    Bug Fixes

    • 06d15297eedff4690d88cce541941267ae598863: fix(authz): log denials at warn level with request context (#6675) (@erka)
    • 1c1660cc4fd0dbe62f128e2e499318ca7ddef5ac: fix: security fixes for v2.14.1 (#6679) (@markphelps)

    Other

    • 9d8c33de4326858240c7eb6abe092be251f20841: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity (#6684) (@dependabot[bot])
    • 32b0cefc448f4f322de57be61db40fdef633a115: chore(deps): bump github.com/go-chi/chi/v5 (#6682) (@dependabot[bot])
    • e734e73e06c2ac546b8594a32bf3bca98fe36491: chore(deps): bump the go-minor-patch group across 1 directory with 6 updates (#6685) (@dependabot[bot])
    • 33c9959d88a0ce8d5653edd3909917a7bc1aa80b: chore(deps): bump the grpc group across 1 directory with 3 updates (#6681) (@dependabot[bot])
    • ac6f26b26c2a11eae72add8c1eeb6e90831822a3: chore(deps): bump the npm-minor-patch group across 1 directory with 6 updates (#6686) (@dependabot[bot])
    • 3f7fc18925cfe0aa18a37fba68bfe9dae1d6a161: chore(deps): bump the react group in /ui with 2 updates (#6683) (@dependabot[bot])
    • 3f59af5a2755d17c4e65b9a341d0c184135621fa: chore: release v2.14.1 (@markphelps)

    Installation

    Docker Images :whale:

      docker pull docker.flipt.io/flipt/flipt:v2.14.1
    
      docker pull ghcr.io/flipt-io/flipt:v2.14.1
    

    Thank you!

    We hope you :heart: this release! Feel free to open issues/discussions or reach out to us on Discord if you have any questions or feedback.

  3. v2.14.02026-10-15 · 2026-10-15 19:10 UTC
    查看更新说明

    Changelog

    Features

    • cdf71add0ae5dfed39bc2ef7d1e5a90ee82fbdad: feat(authz): enforce opt-in authorization on evaluation APIs (#6661) (@erka)
    • 36c1b2f04325c5911db2f8242569232e02020cf7: feat(secrets): require a Pro license for vault, aws, gcp and azure providers (#6645) (@markphelps)
    • 71c41c30b202fcb535b0ef983303678bd41e7a9c: feat(webhook): incoming SCM webhooks for instant environment sync (#6643) (@markphelps)

    Bug Fixes

    • 7f1a8d87dd5e2d1e2458a484b9898b2c09cc0a2f: fix(authz): close list-endpoint scope bypass (#6662) (@erka)
    • 15a5e0b71e6c66003fe04f8677b98d56037cc0c8: fix(authz): honor environment scopes defined in data (#6639) (@yousefissa)
    • 1314a3e9dd321e173b58247b0dd5407ee093005b: fix(config): make scm.credentials optional in the config schemas (@markphelps)
    • 565a6e48fe347fd88c665535013a9c551ffb5309: fix(metrics): stop serving /metrics when metrics are disabled (#6642) (@erka)
    • a90da7ebdac6dffd8f0537f2705265fca16b0136: fix(scm): name the credential type in unsupported credential type errors (@markphelps)
    • 5c66b77f9e997804c2ec432bec8a8694b192d07b: fix(storage): refetch branch before reporting head revision conflict (#6646) (@markphelps)
    • 3b4a2a4fb27405d0836bf1604bdbfcc3db1f3d57: fix: allow empty variant keys and reject duplicates (#6666) (@erka)

    Other

    • ae042506f77433c1382aee5de5348a6e2f095f7d: Merge pull request #6644 from flipt-io/markphelps/fix-gitlab-scm-no-credentials (@markphelps)
    • 034a09b447f11b60dc10945a0aa378b66d9e9011: chore(deps): bump @codemirror/view in /ui in the codemirror group (#6667) (@dependabot[bot])
    • ca3341e0733e7d3d78e2b628ddc44c1c35fc96a3: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#6651) (@dependabot[bot])
    • 4487687d5801802fb1a32cda92beea096a30faef: chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#6671) (@dependabot[bot])
    • 841c9e4cb12d1379cf1d0d13790c9ed7aa10ee94: chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 (#6650) (@dependabot[bot])
    • 3c062bdb9cbe1187009197501e0bf476a34a3f42: chore(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus (#6670) (@dependabot[bot])
    • 05ccbbb7cb242c5b246de3b1e5e1760e409ee149: chore(deps): bump jdx/mise-action (#6648) (@dependabot[bot])
    • 392ea7651ae7485152755b850f9e783a62366295: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6669) (@dependabot[bot])
    • bb52183cc3b7b166e2edd770072131aa6e911972: chore(deps): bump the go-git group with 2 updates (#6652) (@dependabot[bot])
    • 6b4caf531f38fe2a53db9087417a8a01b91db74d: chore(deps): bump the go-minor-patch group across 1 directory with 2 updates (#6653) (@dependabot[bot])
    • 5213802457b77a47ec9783194108b0ad3f084845: chore(deps): bump the npm-minor-patch group across 1 directory with 6 updates (#6658) (@dependabot[bot])
    • faa11bdbd82e51825b5d108db4c6321981b1d6df: chore(deps): bump the npm-minor-patch group in /ui with 6 updates (#6668) (@dependabot[bot])
    • 1522f4c765c3abae2c66f216a7acc9f13216339f: chore(deps): bump the opentelemetry group with 14 updates (#6647) (@dependabot[bot])
    • a83707193274b1e7ad9eb28e22cd4f570daf9c30: chore(deps): bump the prometheus group across 1 directory with 2 updates (#6672) (@dependabot[bot])
    • cef126669c98e5d2aa5206652a2b720f393bdc70: chore(deps): bump the redis group with 2 updates (#6673) (@dependabot[bot])
    • f97a84d4ad9f1ed305212eb15120b059b1f00d7c: chore(deps-dev): bump handlebars (#6660) (@dependabot[bot])
    • c218ef4f16570731e14badfb92e3325fd3d185e4: chore(deps-dev): bump smol-toml (#6659) (@dependabot[bot])
    • 8154330f8acbb644ae580e2aeb87cb9ce5041ac3: chore: add worktrees to gitignore (@markphelps)
    • 94dd98e834ad62f414d487a82e85804d6f0e31ad: chore: release v2.14.0 (#6674) (@markphelps)
    • a240e2957de763996b398353797ba87a581e8dfa: chore: trigger ci (@markphelps)
    • fdaca8146e948cd05adb7156fc8b4e8eb65bd4f7: ci: add per-workflow result gates for required status checks (#6657) (@markphelps)
    • 66fd1f01029f01c6b1d679e892a774cb2c21be15: ci: skip jobs a pull request cannot affect (#6640) (@markphelps)
  4. v2.13.12026-10-02 · 2026-10-02 16:53 UTC
    查看更新说明

    Changelog

    Bug Fixes

    • 24cfe9a0a5f08c89eba1aa36cc105ea7b0c05e85: fix(analytics): store boolean evaluation values as true/false (#6604) (@erka)
    • 5e275bb66790ea3f365d6509d76e3b9a88bdb264: fix(authz): harden management authorization (#6567) (@markphelps)
    • 5778e6d155aca684bb0f26ededd6288390a96fa9: fix(evaluation): always return flag key for boolean evaluation. (#6622) (@erka)
    • ae7ae2f4eb87ba76e7046e23be6e2a30cf5bf360: fix(git): recover from false non-fast-forward push rejections (#6637) (@erka)
    • 7157b0e2d8b411784124a6db1d0f75d6bcddff04: fix(snapshot): keep full sha1 digest for multi-doc namespaces (#6593) (@erka)
    • 46d0ecbdc381c393cc074289c4ef651909aa9ded: fix(ui): restore deep link after OIDC login in v2 (#6586) (@harshilv17)
    • c452a43dadec7862b48477d4606b4bd19ab3279a: fix: address cheap-CI failures (#6603) (@mvanhorn)
    • bfd73d81bfe774f8d89488f3aefbd3b932a11943: fix: address lint review feedback (@kojah)
    • 3e88e50cf67b913fac60e44c05be84927005fb31: fix: guard branched environments and stale-revision push retries (#6592) (@markphelps)
    • 79adc9494c2af5d07370dbe39c2c45cb0ddb9eaa: fix: respect auth exclusion in cross-origin protection (#6608) (@erka)
    • 88825ef7bc549e0034a5c429df765a144a7ec54f: fix: return decoded auth data and stop tickers (@kojah)

    Other

    • f9f561c3886e566fb0990fa6e259e672a9bb2223: Merge pull request #6561 from kojah/fix-gohawk-findings (@mergify[bot])
    • 6cb8dc075a147fd3042020f826dc63eaa073e42d: Merge pull request #6563 from flipt-io/rd/v2/github-dep-update (@mergify[bot])
    • 983c8b3abe63f343a3e35f1d1035b84139a78386: Merge pull request #6633 from flipt-io/chore/dependabot-groups (@markphelps)
    • efc41180d759db5f1016f07919137e9e1ee64870: Merge pull request #6638 from flipt-io/release/v2.13.1 (@markphelps)
    • 698f6e7d31cbe1d2211741d98a5a695a3582744e: chore(deps): bump alpine from 3.24.1 to 3.24.2 in /build (#6576) (@dependabot[bot])
    • 3e81d51d66c5f59d33b5c6ed13160d3cfe92f001: chore(deps): bump cloud.google.com/go/secretmanager (#6631) (@dependabot[bot])
    • cd4e6992acda740355819f558b1048761aec3021: chore(deps): bump github.com/hashicorp/cap from 0.13.0 to 0.14.0 (#6574) (@dependabot[bot])
    • 43222f0be2c4fa64bffc98f6ba46262f624449c2: chore(deps): bump github.com/prometheus/common (#6635) (@dependabot[bot])
    • 895b8b370ab6f0d34621884af1ca7f51e35235e9: chore(deps): bump go-github to v92 (@erka)
    • 81af7016774a3f967c562fff6d376f68ba626278: chore(deps): bump google.golang.org/api from 0.298.0 to 0.299.0 (#6632) (@dependabot[bot])
    • 4884d11ee875561ed4f9480f3af9dcbdcdaab3fc: chore(deps): bump google.golang.org/grpc in the grpc group (#6573) (@dependabot[bot])
    • 8f956acc915ac625818c6d6ef1a54706f039ec58: chore(deps): bump jdx/mise-action to v4 (#6565) (@erka)
    • 5c217041c60bb411eaafeffe703ec989c60aac69: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6628) (@dependabot[bot])
    • 2284ad567fa8e2918452f8400b8979ff3c271389: chore(deps): bump the codemirror group in /ui with 4 updates (#6623) (@dependabot[bot])
    • 573296855f460aae0ad6a0d2d9cb9f68874e3088: chore(deps): bump the go-minor-patch group across 1 directory with 3 updates (#6636) (@dependabot[bot])
    • 1e3eceab0b732b91780cb73f63a59b58513a2ffa: chore(deps): bump the grpc group with 3 updates (#6629) (@dependabot[bot])
    • ac220600db69ba0e6eb362b893cc5d596628305f: chore(deps-dev): bump @types/node from 24.13.4 to 24.13.6 in /ui (#6578) (@dependabot[bot])
    • 154a566db5a6f7dbd3a34828d4599e5eadc5946b: chore(deps-dev): bump @types/node from 24.13.6 to 24.19.0 in /ui (#6627) (@dependabot[bot])
    • ef8ac40d0127a18375ff0dee75fff1b3df81382f: chore(deps-dev): bump brace-expansion from 1.1.16 to 1.1.21 in /ui (#6634) (@dependabot[bot])
    • 364e9dd43048cd34a2bbe8f5ba90ef25babd3666: chore(deps-dev): bump eslint-plugin-no-relative-import-paths in /ui (#6577) (@dependabot[bot])
    • aa19221b4f07a6a48d6e6aff78cd00080e451507: chore(deps-dev): bump jest-environment-jsdom in /ui (#6575) (@dependabot[bot])
    • aea203626ff0c49adfc95583842c955f65fe1616: chore(deps-dev): bump prettier from 3.9.6 to 3
  5. v2.13.02026-09-20 · 2026-09-20 15:09 UTC
    查看更新说明

    Changelog

    Features

    • 12aa96eed1dbd7c4bf0be11730a2434ff5073cee: feat(grpc): per-service health readiness for management and evaluation (@erka)

    Bug Fixes

    • 7194d8f4d6b1d4b47da3b09dcbc7d0668734703f: fix(build): repair the go:modernize task (#6509) (@markphelps)
    • 706a2ab6cca88c71a1df9cd0d29fbe1ec266c85b: fix(evaluation): return FLAG_DISABLED for disabled boolean flag with no rollouts (#6515) (@erka)
    • 2993990baf1d506b8c7157e31f0a4bd6f5b8e176: fix(license): enforce expiry consistently and harden offline license validation (#6539) (@markphelps)
    • d944f421a97b40acdcf0ef6b1e0e2100eab4c670: fix(ui): allow variant delete to be undone by canceling (fixes #6405) (#6435) (@AruneshDwivedi)
    • 81e09886e25b64e261d877bbb03d0a8d13640d48: fix(ui): match Combobox options by display name, not only key (#6550) (@harshilv17)
    • b96f1e8a6a77a47a5f1d94f35f3219c0d8c4a536: fix: preserve validation of versionless legacy feature files (#6547) (@mvanhorn)

    Other

    • cd4ccec1968cf0f46835404f327854df77522002: Merge pull request #6559 from flipt-io/rd/v2/readiness (@mergify[bot])
    • a149513964d774ca80ef3ef4a737b8f37d30338a: chore(deps): bump github.com/coreos/go-oidc/v3 from 3.20.0 to 3.21.0 (#6555) (@dependabot[bot])
    • eda5a95fe9feaa5e689e30940542fa6851544236: chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.5 (#6536) (@dependabot[bot])
    • 2ac12fa3fb908e2d38a560e2c0d2b3e757ae5fe5: chore(deps): bump github.com/go-openapi/jsonpointer from 1.0.0 to 1.0.1 (#6556) (@dependabot[bot])
    • fc488b35534d72e12dbc27ec355b4f8d2d4232f9: chore(deps): bump github.com/golang-migrate/migrate/v4 (#6537) (@dependabot[bot])
    • da71d462a4fcb1306b30a7d22da74d368adbf17e: chore(deps): bump github.com/kubescape/go-git-url from 0.0.32 to 0.0.33 (#6505) (@dependabot[bot])
    • 76dfedf26cc2a1245e4654e0cf45ca8bf594a932: chore(deps): bump github.com/open-policy-agent/opa from 1.19.1 to 1.20.2 (#6535) (@dependabot[bot])
    • 158b57e15cde9282633258ebcf82a5300a9ad804: chore(deps): bump golang.org/x/crypto from 0.55.0 to 0.56.0 (#6506) (@dependabot[bot])
    • 810a156d928e676c2c39a049f5b15c00c69ce26b: chore(deps): bump golang.org/x/oauth2 from 0.36.0 to 0.37.0 (#6504) (@dependabot[bot])
    • 11a390ce90fc2a3493f30e4f03ad1b8969a70abd: chore(deps): bump google.golang.org/api from 0.291.0 to 0.298.0 (#6554) (@dependabot[bot])
    • 0763a9644a65413b65b327d92a67439dbea001f1: chore(deps): bump google.golang.org/grpc in /rpc/flipt (#6479) (@dependabot[bot])
    • bf69efa86222778783f6c5bc34329b9031d50ddd: chore(deps): bump react-router from 8.3.1 to 8.4.0 in /ui (#6552) (@dependabot[bot])
    • 49ba160a317b55ae8501f31206bdf22ef0941176: chore(deps): bump the aws-sdk-go-v2 group with 2 updates (#6553) (@dependabot[bot])
    • 127e7842fb28552940d26a3c5a894728290948f7: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6502) (@dependabot[bot])
    • bfd6449e739173125cb621ea3bae947f5920c4aa: chore(deps): bump the aws-sdk-go-v2 group with 3 updates (#6533) (@dependabot[bot])
    • 29fc079b71ccab26624bdeb9abdc2b0f69805654: chore(deps): bump the codemirror group across 1 directory with 2 updates (#6551) (@dependabot[bot])
    • 45070d8037297182e718be374cfffd2ec85aa166: chore(deps): bump the codemirror group in /ui with 3 updates (#6495) (@dependabot[bot])
    • e7ffdfd23cc90fc14d16cf2ea1c0b20c0870831b: chore(deps): bump the prometheus group with 2 updates (#6503) (@dependabot[bot])
    • 4ccd9a9fcfdb04b4fd838ae3c23730986b826bf7: chore(deps): bump the react group in /ui with 4 updates (#6526) (@dependabot[bot])
    • c91052611e59d781e1e31517ca49150f8655c236: chore(deps): bump tooling and Go module dependencies (#6507) (@erka)
    • 6a2e5b24523958c8cc44960d7c9461e49390ffcf: chore(deps-dev): bump @playwright/test from 1.62.1 to 1.63.0 in /ui (#6528) (@dependabot[bot])
    • 529d3b2fb3753a921bfb5bc90f08e51acc8d4c6c: chore(deps-dev): bump @types/node from 24.13.3 to 24.13.4 in /ui (#6529) (@dependabot[bot])
    • b2624258a558c446e8de1a6e382477d2f89f96c9: chore(deps-dev): bump @types/react-dom in /ui in the react group (#6494) (@dependabot[bot])

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!NOTE]
    Looking for Flipt v1? You can find the v1 code on the main branch and documentation at docs.flipt.io.

    Why Flipt v2?

    Finally, feature flags that work with your existing Git workflow.

    Flipt v2 is the first truly Git-native feature management platform that treats your feature flags as code. Store your flags in your own Git repositories, use your existing branching strategy, and deploy flags alongside your code using the tools you already know and trust.

    🚀 Git-Native by Design

    • Own your data: Store feature flags directly in your Git repositories
    • Version control: Full history and blame for every flag change
    • Branch and merge: Test flag changes in branches before merging to production
    • Deploy together: Feature flags deploy with your code using existing CI/CD pipelines

    🌍 Multi-Environment with Git Flexibility

    • Environment per branch: Map environments to Git branches for seamless workflows
    • Environment per directory: Organize flags by microservice or team within a single repo
    • Environment per repository: Separate repos for different products or security domains
    • Complete isolation: Each environment has its own namespaces, flags, and configurations

    ⚡ Developer Experience First

    • Zero infrastructure: No databases, no external dependencies by default
    • GitOps ready: Works with existing Git-based deployment workflows
    • Real-time updates: Server-Sent Events (SSE) streaming API for instant flag propagation to client-side SDKs without polling
    • Modern UI: Intuitive interface with full Git integration and dark mode support

    🔒 Enterprise Security & Control

    • Self-hosted: Keep sensitive flag data within your infrastructure
    • Secrets management: Secure storage and retrieval of sensitive configuration data (OSS)
    • GPG commit signing: Cryptographically sign all flag changes for enhanced security (Pro feature)
    • Merge proposals: Code review workflow for flag changes (Pro feature)
    • Audit trails: Complete history of who changed what and when
    • OIDC/JWT/OAuth: Enterprise authentication methods supported

    Flipt v1 vs v2: What's New?

    FeatureFlipt v1✨ Flipt v2
    StorageDatabase-centric (MySQL, PostgreSQL, SQLite)Git-native with optional SCM sync (GitHub, GitLab, BitBucket, Azure DevOps, Gitea, etc.)
    EnvironmentsSingle namespace modelMulti-environment with Git flexibility
    BranchingNot supportedFull Git branching with environment branches
    Data OwnershipStored in a database (MySQL, PostgreSQL, SQLite)Stored in your Git repositories alongside your code
    GitOpsRead-only Git integrationFull read/write Git integration
    DeploymentRequires database setupZero dependencies - single binary
    Version ControlBasic audit logsFull Git history and blame
    Merge ProcessDirect flag changesMerge proposals with code review
    Real-time UpdatesPolling requiredServer-Sent Events (SSE) streaming API for instant updates
    Multi-tenancyManual namespace managementEnvironment-based isolation
    Secrets ManagementNoneFile-based providers available in OSS, HashiCorp Vault, cloud secrets management (AWS Secrets Manager, GCP Secret Manager, Azure Key Vault) available in Pro

    Use Cases

    Perfect for engineering teams that want to:

    • Ship faster with confidence: Deploy flags with your code using existing Git workflows
    • Enable trunk-based development: Merge incomplete features behind flags without risk
    • Implement proper GitOps: Treat infrastructure and feature flags as code
    • Maintain security compliance: Keep sensitive flag data within your infrastructure
    • Scale with multiple environments: Manage flags across dev, staging, and production seamlessly
    • Enable team collaboration: Use familiar Git workflows for flag reviews and approvals

    Quick Start

    See our quickstart guide for more details.

    Local

    # Install Flipt
    curl -fsSL https://get.flipt.io/v2 | sh
    
    # Wizard-driven setup to get you started quickly
    flipt quickstart
    
    # Run Flipt server
    flipt server
    

    Docker

    docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:v2
    

    Flipt UI will be available at http://127.0.0.1:8080/.

    Nightly Builds

    [!WARNING]
    Nightly builds are automatically generated from the latest v2 branch and should not be considered stable for production use.

    To run the latest nightly build:

    docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:v2-nightly
    

    Nightly builds include the latest features and bug fixes but may contain untested changes. Use them for testing new features or verifying bug fixes before the next stable release.

    Configuration Example

    # config.yml - Git-native setup with secrets management
    secrets:
      providers:
        # File-based secrets (OSS)
        file:
          enabled: true
          base_path: "/etc/flipt/secrets"
        # HashiCorp Vault (Pro feature)
        vault:
          enabled: true
          address: "https://vault.example.com"
          auth_method: "token"
          token: "hvs.your_token"
          mount: "secret"
    
    storage:
      type: git
      git:
        repository: "https://github.com/your-org/feature-flags.git"
        ref: "main"
        poll_interval: "30s"
        signature:
          enabled: true
          type: "gpg"
          key_ref:
            provider: "vault"  # Requires Pro license
            path: "flipt/signing-key"
            key: "private_key"
          name: "Flipt Bot"
          email: "[email protected]"
    
    environments:
      default:
        storage: git
      staging:
        storage: git
        directory: "staging"
    

    For more setup options, see our configuration documentation.

    Core Values

    • 🔒 Security - HTTPS, OIDC, JWT, OAuth, K8s Service Token, and API Token authentication methods supported out of the box
    • 🗝️ Secrets Management - Secure storage and retrieval of sensitive data with file-based providers (OSS) and HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, Azure Key Vault (Pro features)
    • 🎛️ Control - Your data stays in your Git repositories within your infrastructure
    • 🚀 Speed - Co-located with your services, no external API calls required
    • ✅ Simplicity - Single binary with no external dependencies by default
    • 🔄 GitOps Ready - Native Git integration that works with your existing workflows
    • 👍 Compatibility - GRPC, REST, Redis, Prometheus, ClickHouse, OpenTelemetry, and more

    Key Features

    Git-Native Storage

    • Store flags directly in Git repositories alongside your code
    • Full version control with Git history, blame, and diff support
    • Integrates with your SCM (GitHub, GitLab, BitBucket, Azure DevOps, Gitea, etc.)
    • GPG commit signing for cryptographic verification of changes

    Multi-Environment Management

    • Environment per Git branch, directory, or repository
    • Complete environment isolation with independent configurations
    • Seamless environment promotion workflows

    Secrets Management & Security

    • Multi-provider secrets management: File-based providers available in OSS, HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault (Pro features)
    • GPG Commit Signing: Cryptographically sign all flag changes with keys from secret providers (Pro feature)
    • Secure key storage: Private keys and sensitive data stored securely in Vault or local files
    • Multiple auth methods: Token, Kubernetes, and AppRole authentication for Vault

    Advanced Flag Management

    • Complex targeting rules and user segmentation
    • Percentage-based rollouts
    • Real-time flag evaluation with Server-Sent Events (SSE) streaming updates for instant synchronization

    Developer Experience

    • Modern UI with Git integration and dark mode 🌙
    • Declarative flag configuration with JSON/YAML schemas
    • Comprehensive REST and gRPC APIs

    Enterprise & Security Features

    • Authentication: OIDC, JWT, OAuth, and more authentication methods supported out of the box
    • Observability: OpenTelemetry and Prometheus integration 🔋
    • Secrets Management: File-based providers (OSS) with HashiCorp Vault integration available in Pro
    • Enterprise Workflows: GPG commit signing, merge proposals, and DevOps integration available in Pro

    Ready for enterprise features? Flipt v2 Pro includes advanced workflows, enhanced security, and dedicated support. Get started with a free 14-day trial – no credit card required.

    Learn More About Pro Features →

    Are we missing a feature that you'd like to see? Let us know by opening an issue!

    Integration & SDKs

    Check out our integration documentation for comprehensive guides.

    Server-Side Evaluation

    • REST API - Full HTTP API for any language
    • gRPC API - High-performance binary protocol

    Client-Side Evaluation

    • Local evaluation - Reduce latency with client-side flag evaluation, evaluate flags within your application for extreme speed and reliability.

    OpenFeature Integration

    Flipt supports the OpenFeature standard for vendor-neutral feature flag evaluation, including the emerging OpenFeature Remote Evaluation Protocol (OFREP) for standardized remote flag evaluation.

    Contributing

    We would love your help! Before submitting a PR, please read over the Contributing guide.

    No contribution is too small, whether it be bug reports/fixes, feature requests, documentation updates, or anything else that can help drive the project forward.

    Not sure how to get started? You can:

    Review the Development documentation for more information on how to contribute to Flipt.

    Flipt v2 Pro

    Ready to unlock the full potential of Git-native feature management? Flipt v2 Pro adds enterprise-grade features on top of our solid open-source foundation.

    What's Included in Pro

    • 🔀 Enterprise DevOps Integration - Native GitHub, GitLab, BitBucket, Azure DevOps, and Gitea workflows with merge proposals and automated PR/MR creation
    • ✍️ GPG Commit Signing - Cryptographically sign all changes for maximum security and auditability with verified commit badges
    • 🔒 Integrated Secrets Management - Built-in secure storage for GPG keys with HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager, and Azure Key Vault integration
    • 🌐 Air-Gapped Environment Support - Annual licenses work seamlessly in air-gapped environments with offline validation
    • 🏢 Dedicated Support Channel - Direct access to our engineering team via dedicated Slack channel for faster issue resolution
    • ⚡ Priority Development - Your bug reports and feature requests get prioritized
    • 🔧 Enterprise Auth - Advanced authentication providers (🔄 coming soon)
    • 📊 Advanced Analytics - Enhanced reporting and insights (🔄 coming soon)

    Pricing & Trial

    • Free 14-day trial - No credit card required to start, includes all Pro features
    • Monthly licenses - $200/month with continuous internet connectivity for validation
    • Annual licenses - $2,000/year (save $400) with offline validation using license files for air-gapped environments
    • No instance limits on paid plans - run Flipt v2 Pro on as many servers as you need
    • Cancel anytime - Prorated billing through our Stripe customer portal

    Start Your Free 14-Day Trial →

    Trial includes up to 5 instances. Upgrade seamlessly to unlimited instances with a paid subscription.

    Community

    For help and discussion around Flipt, feature flag best practices, and more, join us on Discord.

    Release Cadence

    Flipt follows semantic versioning for versioning.

    We aim to release a new minor version of Flipt every 2-3 weeks. This allows us to quickly iterate on new features. Bug fixes and security patches (patch versions) will be released as needed.

    Development

    Development documentation is available for those interested in contributing to Flipt.

    We welcome contributions of any kind, including but not limited to bug fixes, feature requests, documentation improvements, and more. Just open an issue or pull request and we'll be happy to help out!

    Licensing

    There are currently two types of licenses in place for Flipt:

    1. Client License
    2. Server License

    Client License

    All of the code required to generate GRPC clients in other languages as well as the Go SDK are licensed under the MIT License.

    This code exists in the rpc/ directory.

    The client code is the code that you would integrate into your applications, which is why a more permissive license is used.

    Server License

    The server code is licensed under the Fair Core License, Version 1.0, MIT Future License.

    See our licensing docs and fcl.dev for more information.