Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FGN December Edition #599

Closed
wants to merge 2 commits into from
Closed
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
108 changes: 108 additions & 0 deletions blog/fine-grained-news-2023-12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
title: Fine Grained News - December 2023
description: Fine Grained News
slug: fine-grained-news-2023-12
date: 2023-12-18
authors: aaguiar
tags: [newsletter]
image: https://openfga.dev/img/openfga_logo.svg
hide_table_of_contents: false
---
# Fine Grained News

Hi Everyone!

We've been publishing a monthly internal newsletter we called **Fine Grained News** since the beginning on 2023, and we just thought it would be a good idea to share it with the community. Yeah, we are slow thinkers!

You can expect to find here a summary of what we've been up to, what we are planning to do, and some other random stuff we think you might find interesting.

## Team News

We always start our Monthly Community Meetings presenting the team. If you attended the last one, you've seen that the size of the team has grown quite a bit! We are pretty excited about the impact it will have in OpenFGA and the authorization space in general.

## Behavior Driven Development with OpenFGA

In our last Community Meeting, the [Agicap](https://agicap.com/en) team (Pauline and Yann) demoed how they are using OpenFGA to implement Behavior Driven Development (BDD) in their authorization system.

The screenshot below might be enough to understand what they are doing, but if you want to know more, you can watch the full presentation [here](https://youtu.be/xXhwPPcGRqE?t=765).

![bdd demo](/static/img/blog/fgn-2023-12-bdd.png)

## GoDaddy & OpenFGA

GoDaddy has been working with OpenFGA for a few months. They just published a document explaining why they picked OpenFGA, and how they used to address the authorization challenges they were facing.

Some interesting tidbits:

- They implemented their own DynamoDB Storage Adapter, as they were heavy Dynamo DB users and liked the eventual consistency model it provided.
- They needed [Contextual Tuples](https://docs.fga.dev/modeling/basics/contextual-time-based-authorization#use-contextual-tuples-for-context-related-checks) to fully support their use case.

Read the full article [here](https://www.godaddy.com/engineering/2023/12/12/authorization-oauth-openfga/).

## Canonical & OpenFGA

Canonical has also been working with OpenFGA for a while, and it's adding OpenFGA to different layers in their stack.

![OpenFGA at Canonical](/static/img/blog/fgn-2023-12-canonical.png)

They just announced that OpenFGA support is included [in LXD](https://discourse.ubuntu.com/t/lxd-5-20-has-been-released/40865) and [MicroCloud](https://www.gamingdeputy.com/canonical-unveils-microcloud-a-toolkit-for-rapid-cluster-deployment/).

Pretty soon, if you are using Ubuntu Pro, you will be using OpenFGA :).

## OpenFGA v1.4!

Last week we released OpenFGA v1.4! This release includes our support for Conditional Relationship Tuples, which helps implementing additional Attribute-Based Access Control scenarios like temporal access, IP based access, bank transfer limits, SaaS application plans, and much more!

You can read more about it [here](https://openfga.dev/docs/modeling/conditions).

## SDK Improvements

- The [Java SDK](https://github.com/openfga/java-sdk) has now feature parity with the rest of the our SDKs. It can be used from any language for the Java VM. You can see examples on Kotlin, Groovy and Scala [here](https://github.com/booniepepper/openfga-java-sdk-preview/tree/core/src/main).

- The [Python SDK](https://github.com/openfga/python-sdk) was updated to support synchronous clients, support custom SSL certificates, and better performance in batch checks.

## Language Improvements

We've been working on the OpenFGA language with some long-due improvements. Soon, you'll be able to use parentheses to group expressions when defining relations:

![DSL improvements](/static/img/blog/fgn-2023-12-language.png)

The syntax is still not supported in the FGA CLI, but we are pretty close. Daniel demoed it in our latest community meeting, you can see the full demo [here](https://youtu.be/xXhwPPcGRqE?t=1313).

## VS Code Extension Improvements

We have also been improving tuple validation when writing `fga.yaml` files, and it's pretty cool! Works on Daniel's machine for now :)

![bdd demo](/static/img/blog/fgn-2023-12-validation.png)

Daniel also demoed it in our latest community meeting, watch it [here](https://youtu.be/xXhwPPcGRqE?t=1598).

## KubeCon EU 2024

We are getting ready for KubeCon Europe 2024, in Paris. We'll have a Project Kiosk, and we have submitted a few talks. We'll keep you posted!

## OpenFGA Community

We have a very welcoming community, and we'd love to have you there! You can join us in different ways:

- Join our [community meetings](https://github.com/openfga/community/blob/main/community-meetings.md), the second Thursday of every month. All the recordings are [here](https://www.youtube.com/@OpenFGA).
- Join our [Discord](https://discord.gg/8naAwJfWN6)
- Stay up to date by following us on [X](https://twitter.com/openfga)
- Ask questions, submit ideas, or just say hi in our [GitHub Discussions](https://github.com/orgs/openfga/discussions).

## See you next month!

We'll keep publishing our Fine Grained News each month, after the OpenFGA community meeting. If you have any feedback, you want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!













Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ http:

To learn how to run in in Docker, check our [Docker documentation](./docker-setup.mdx#pre-shared-key-authentication).

#### OIDC
### OIDC

To configure with OIDC authentication, you will first need to obtain the OIDC issuer and audience from your provider.

Expand Down Expand Up @@ -198,7 +198,7 @@ http:

To learn how to run in in Docker, check our [Docker documentation](./docker-setup.mdx#oidc-authentication).

### Profiler (pprof)
## Profiler (pprof)
:::caution Warning
Continuous profiling can be used in production deployments, but we recommend disabling it unless it is needed to troubleshoot specific performance or memory problems.
:::
Expand Down Expand Up @@ -284,7 +284,7 @@ OpenFGA telemetry data is collected by default starting on version `v0.3.5`. The
Please refer to the [docker-compose.yaml](https://github.com/openfga/openfga/blob/main/docker-compose.yaml) file as an example of how to collect Metrics and Tracing in OpenFGA in a Docker environment using the [OpenTelemetry Collector](https://opentelemetry.io/docs/concepts/data-collection/). This should serve as a good example that you can adjust for your specific deployment scenario.
:::

### Metrics
## Metrics

OpenFGA metrics are collected with the [Prometheus data format](https://prometheus.io/docs/concepts/data_model/) and exposed on address `0.0.0.0:2112/metrics`.

Expand All @@ -298,7 +298,7 @@ openfga run --metrics-addr=0.0.0.0:2114

To see the request latency per endpoint of your OpenFGA deployment, you can provide the `--metrics-enable-rpc-histograms` flag (`OPENFGA_METRICS_ENABLE_RPC_HISTOGRAMS` environment variable).

### Tracing
## Tracing

OpenFGA traces can be collected with the [OTLP data format](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md).

Expand All @@ -312,7 +312,7 @@ Tracing by default uses a insecure connection. You can enable TLS by using `--tr
It is not recommended to sample all traces (e.g. `--trace-sample-ratio=1`). You will need to adjust your sampling ratio based on the amount of traffic your deployment receives. Higher traffic will require less sampling and lower traffic can tolerate higher sampling ratios.
:::

### Logging
## Logging

OpenFGA generates structured logs by default, and it can be configured with the following flags:

Expand Down
4 changes: 2 additions & 2 deletions docs/content/getting-started/setup-openfga/playground.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Using OpenFGA Playground
title: Using the OpenFGA Playground
description: Setting up an OpenFGA server
sidebar_position: 4
slug: /getting-started/setup-openfga/playground
---
### Playground
# Using the OpenFGA Playground

The Playground facilitates rapid development by allowing you to visualize and model your application's authorization models and manage relationship tuples with a locally running OpenFGA instance.

Expand Down
3 changes: 3 additions & 0 deletions static/img/blog/fgn-2023-12-bdd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions static/img/blog/fgn-2023-12-canonical.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions static/img/blog/fgn-2023-12-language.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions static/img/blog/fgn-2023-12-validation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading