From 0ce38cdefa5da44e6054cb2ad17354bfad84363a Mon Sep 17 00:00:00 2001 From: Raghd Hamzeh Date: Wed, 5 Nov 2025 09:02:03 -0500 Subject: [PATCH 1/2] chore(docs): update README --- README.md | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d209438e..b02a1e74 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,30 @@ # OpenFGA API -This project contains the definitions of [Protocol Buffers](https://developers.google.com/protocol-buffers/) used by OpenFGA. + +The OpenFGA API [Protocol Buffers](https://developers.google.com/protocol-buffers/) definitions. + +## About +[OpenFGA](https://openfga.dev) is an open source Fine-Grained Authorization solution inspired by [Google's Zanzibar paper](https://research.google/pubs/pub48190/). It was created by the FGA team at [Auth0/Okta](https://auth0.com) based on [Auth0 Fine-Grained Authorization (FGA)](https://fga.dev), available under [a permissive license (Apache-2)](https://github.com/openfga/rfcs/blob/main/LICENSE) and welcomes community contributions. + +OpenFGA is designed to make it easy for application builders to model their permission layer, and to add and integrate fine-grained authorization into their applications. OpenFGA’s design is optimized for reliability and low latency at a high scale. + +## Usage [Buf](https://github.com/bufbuild/buf) is used to manage, package, and generate source code from the protocol buffer definitions. The API definitions are pushed to the [`buf.build/openfga/api`](https://buf.build/openfga/api) repository in the Buf Registry. -## Building the Generated Sources +You can find various SDKs autogenerated by buf based on the protobuf definitions here: https://buf.build/openfga/api/sdks/main:protobuf + +For example, to import the definitions in Go you can do so via the following command: + +```shell +go get go.buf.build/openfga/go/openfga/api +``` + +If you are looking for the currently supported OpenFGA HTTP SDKs, you can find them here: https://github.com/openfga/sdk-generator#currently-supported-sdks + +## Contributing + +### Building the Generated Sources To generate source code from the protobuf definitions contained in this project you can run the following command: > **Note**: You must have [Buf CLI](https://docs.buf.build/installation) installed to run the following command. @@ -17,7 +37,7 @@ The command above will generate source code in the `proto/` directory. It will a that files requiring auto-generation after `.proto` changes have been updated. There are some cases where that git hook may be overly strict. In those cases you can bypass it with `commit --no-verify`. -## Use the generated sources in OpenFGA +### Use the generated sources in OpenFGA 1. Generate the sources as above 2. In the `proto` directory execute the following commands: @@ -30,7 +50,7 @@ may be overly strict. In those cases you can bypass it with `commit --no-verify` replace github.com/openfga/api/proto => /path/to/proto ``` -## Generating OpenAPI Documentation +### Generating OpenAPI Documentation To generate the OpenAPI documentation from the protobuf sources you can run the following commands: > **Note**: You must have [jq](https://jqlang.github.io/jq/download/) installed to run the `format` step below @@ -45,3 +65,13 @@ Or you can just use ```bash make ``` + +See [CONTRIBUTING](https://github.com/openfga/.github/blob/main/CONTRIBUTING.md). + +## Author + +[OpenFGA](https://github.com/openfga) + +## License + +This project is licensed under the Apache-2.0 license. See the [LICENSE](https://github.com/openfga/cli/blob/main/LICENSE) file for more info. From 0a62360d8e93990b1877d9af6bd7e928d730487e Mon Sep 17 00:00:00 2001 From: Raghd Hamzeh Date: Wed, 5 Nov 2025 09:20:27 -0500 Subject: [PATCH 2/2] Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b02a1e74..cf9557d5 100644 --- a/README.md +++ b/README.md @@ -74,4 +74,4 @@ See [CONTRIBUTING](https://github.com/openfga/.github/blob/main/CONTRIBUTING.md) ## License -This project is licensed under the Apache-2.0 license. See the [LICENSE](https://github.com/openfga/cli/blob/main/LICENSE) file for more info. +This project is licensed under the Apache-2.0 license. See the [LICENSE](https://github.com/openfga/api/blob/main/LICENSE) file for more info.