docs: Fix a number of redirecting links (#8196)

Fixes https://github.com/open-policy-agent/opa/issues/8165

Redirects are bad for user experience as they are slower, and bad for SEO too.

Signed-off-by: Charlie Egan <charlie_egan@apple.com>
This commit is contained in:
Charlie Egan
2026-01-08 22:57:25 +00:00
committed by GitHub
parent 0265c7cfd1
commit 193dcb41da
23 changed files with 44 additions and 44 deletions
+8 -8
View File
@@ -62,7 +62,7 @@ production users that have added themselves (in alphabetical order):
and the code is Open Source, [see
`github.com/chef/automate`](https://github.com/chef/automate/tree/master/components/authz-service).
* [cluetec.de](https://cluetec.de) primarily uses OPA to enforce fine-grained authorization
* [cluetec.de](https://cluetec-audit.de/) primarily uses OPA to enforce fine-grained authorization
and data-filtering policies in its Spring-based microservices and multi-tenant SaaS. Policies
are mapped to tenant-specific domains and used to enrich the database queries without any code
modifications. OPA is also used to enforce admission control policies and RBAC in multi-tenant
@@ -96,10 +96,10 @@ production users that have added themselves (in alphabetical order):
Managed using OPA, this feature enables our customers to set rules that align their software blueprints(detailed architectural designs of their software) - with established standards.
The Guardrails Policy feature has optimized resource management, minimized redundancy in policy definitions, and ensured comprehensive adherence to organizations best practices.
* [Fugue](https://fugue.co) was a cloud security SaaS that uses OPA to
* [Fugue](https://snyk.io/platform/) was a cloud security SaaS that uses OPA to
classify compliance violations and security risks in AWS and Azure
accounts and generate compliance reports and notifications. Now part of
[Snyk](https://snyk.com).
[Snyk](https://snyk.io/).
* [Goldman Sachs](https://www.goldmansachs.com/) uses OPA to enforce admission control
policies in their multi-tenant Kubernetes clusters as well as for _provisioning_
@@ -125,7 +125,7 @@ production users that have added themselves (in alphabetical order):
clusters and 1,000 namespaces. For more information on how Intuit
uses OPA see [this talk from KubeCon Seattle 2018](https://youtu.be/CDDsjMOtJ-c?t=980).
* [Jetstack](https://www.jetstack.io) uses OPA on customer projects to validate
* [Jetstack](https://www.cyberark.com/services-support/cloud-native-consulting/) uses OPA on customer projects to validate
resources deployed to Kubernetes environments are conformant with
organization rules. This has involved both validating and mutating resources
as well as the following related projects: conftest, konstraint, and
@@ -173,7 +173,7 @@ production users that have added themselves (in alphabetical order):
controls and a consistent policy enforcement for any microservices. It operates as a
sidecar to a Django application exposing access roles of users over resources.
* [Plex Systems](https://www.plex.com) uses OPA to enforce policy throughout
* [Plex Systems](https://plex.rockwellautomation.com/en-us.html) uses OPA to enforce policy throughout
their entire release process; from local development to continuous production
audits. The CI/CD pipelines at Plex leverage [conftest](https://github.com/open-policy-agent/conftest),
a policy enforcement tool that relies on OPA, to automatically reject changes that do not adhere
@@ -211,7 +211,7 @@ production users that have added themselves (in alphabetical order):
instances. Policies are based on external context sourced from
OpenUnison. Ability to validate policies offline is a huge win
because the clusters are air-gapped. For more information on how
Tremolo Security uses OPA see [this blog post](https://www.tremolo.io/beyond-rbac-in-openshift-open-policy-agent/).
Tremolo Security uses OPA see [this blog post](https://www.tremolo.io/post/beyond-rbac-in-openshift-open-policy-agent).
* [Tripadvisor](https://tripadvisor.com/) uses OPA to enforce
admission control policies in Kubernetes. In the process of rolling out OPA,
@@ -273,7 +273,7 @@ pre-production (in alphabetical order):
company. Still in stealth mode but using OPA to manage and enforce
fine-grained authorization policies.
* [Permit.io](https://permit.io) Uses a combination of OPA and OPAL
* [Permit.io](https://www.permit.io/) Uses a combination of OPA and OPAL
to power fine-grained authorization policies at the core of the Permit.io platform.
Permit.io leverages the power of OPA's Rego language,
generating new Rego code on the fly from its UI policy editor.
@@ -300,7 +300,7 @@ Other adopters that have gone into production or various stages of
testing include:
* [Cisco](https://www.cisco.com/)
* [Nefeli Networks](https://nefeli.io)
* [Nefeli Networks](https://www.cloudflare.com/press/press-releases/2024/cloudflare-enters-multicloud-networking-market-unlocks-simple-secure/)
* [SolarWinds](https://www.solarwinds.com/) via [Lee Calcote](https://github.com/leecalcote)
* [State Street Corporation](https://www.statestreet.com/us/en)
* [PITS Global Data Recovery Services](https://www.pitsdatarecovery.com/)
+1 -1
View File
@@ -1,3 +1,3 @@
## Community Code of Conduct
We follow the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
We follow the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
+7 -7
View File
@@ -1,18 +1,18 @@
# ![logo](./logo/logo-144x144.png) Open Policy Agent
[![Build Status](https://github.com/open-policy-agent/opa/workflows/Post%20Merge/badge.svg)](https://github.com/open-policy-agent/opa/actions) [![Go Report Card](https://goreportcard.com/badge/open-policy-agent/opa)](https://goreportcard.com/report/open-policy-agent/opa) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1768/badge)](https://bestpractices.coreinfrastructure.org/projects/1768) [![Netlify Status](https://api.netlify.com/api/v1/badges/4a0a092a-8741-4826-a28f-826d4a576cab/deploy-status)](https://app.netlify.com/sites/openpolicyagent/deploys)
[![Build Status](https://github.com/open-policy-agent/opa/workflows/Post%20Merge/badge.svg)](https://github.com/open-policy-agent/opa/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/open-policy-agent/opa)](https://goreportcard.com/report/github.com/open-policy-agent/opa) [![CII Best Practices](https://www.bestpractices.dev/projects/1768/badge)](https://www.bestpractices.dev/en/projects/1768/passing) [![Netlify Status](https://api.netlify.com/api/v1/badges/4a0a092a-8741-4826-a28f-826d4a576cab/deploy-status)](https://app.netlify.com/sites/openpolicyagent/deploys)
Open Policy Agent (OPA) is an open source, general-purpose policy engine that enables unified, context-aware policy enforcement across the entire stack.
OPA is proud to be a graduated project in the [Cloud Native Computing Foundation](https://cncf.io) (CNCF) landscape. For details read the CNCF [announcement](https://www.cncf.io/announcements/2021/02/04/cloud-native-computing-foundation-announces-open-policy-agent-graduation/).
OPA is proud to be a graduated project in the [Cloud Native Computing Foundation](https://www.cncf.io/) (CNCF) landscape. For details read the CNCF [announcement](https://www.cncf.io/announcements/2021/02/04/cloud-native-computing-foundation-announces-open-policy-agent-graduation/).
## Get started with OPA
- Write your first Rego policy with the [Rego Playground](https://play.openpolicyagent.org) or use it to share your work with others for feedback and support. Have a look at the [Access Control examples](https://play.openpolicyagent.org/?example-group=access-control) if you're not sure where to start.
- Install the [VS Code extension](https://marketplace.visualstudio.com/items?itemName=tsandall.opa) to get started locally with live diagnostics, debugging and formatting. See [Editor and IDE Support](https://www.openpolicyagent.org/docs/editor-and-ide-support/) for other supported editors.
- Go to the [OPA Documentation](https://www.openpolicyagent.org/docs/latest/) to
- Install the [VS Code extension](https://marketplace.visualstudio.com/items?itemName=tsandall.opa) to get started locally with live diagnostics, debugging and formatting. See [Editor and IDE Support](https://www.openpolicyagent.org/docs/editor-and-ide-support) for other supported editors.
- Go to the [OPA Documentation](https://www.openpolicyagent.org/docs) to
learn about the Rego language as well as how to deploy and integrate OPA.
- Check out the learning resources in the [Learning Rego](https://www.openpolicyagent.org/ecosystem/by-feature/learning-rego/) section of the ecosystem directory.
- Check out the learning resources in the [Learning Rego](https://www.openpolicyagent.org/ecosystem/by-feature/learning-rego) section of the ecosystem directory.
- Follow the [Running OPA](https://www.openpolicyagent.org/docs/latest/#running-opa) instructions to get started with the OPA CLI locally.
- See [Docker Hub](https://hub.docker.com/r/openpolicyagent/opa/tags/) for container images and the [GitHub releases](https://github.com/open-policy-agent/opa/releases) for binaries.
- Check out the [OPA Roadmap](https://docs.google.com/presentation/d/16QV6gvLDOV3I0_guPC3_19g6jHkEg3X9xqMYgtoCKrs/edit?usp=sharing) to see a high-level snapshot of OPA features in-progress and planned.
@@ -21,11 +21,11 @@ OPA is proud to be a graduated project in the [Cloud Native Computing Foundation
- Join the [OPA Slack](https://slack.openpolicyagent.org) to talk to other OPA users and maintainers. See `#help` for support.
- Check out the [Community Discussions](https://github.com/orgs/open-policy-agent/discussions) to ask questions.
- See the [Support](https://www.openpolicyagent.org/support/) page for commercial support options.
- See the [Support](https://www.openpolicyagent.org/support) page for commercial support options.
## Interested to learn what others are doing with OPA?
- Browse community projects on the [OPA Ecosystem Directory](http://openpolicyagent.org/ecosystem/) - don't forget to [list your own](https://github.com/open-policy-agent/opa/tree/main/docs#opa-ecosystem)!
- Browse community projects on the [OPA Ecosystem Directory](https://www.openpolicyagent.org/ecosystem) - don't forget to [list your own](https://github.com/open-policy-agent/opa/tree/main/docs#opa-ecosystem)!
- Check out the [ADOPTERS.md](./ADOPTERS.md) file for a list of production adopters. Does your organization use OPA in production? Support the OPA project by submitting a PR to add your organization to the list with a short description of your OPA use cases!
## Want to integrate OPA?
+2 -2
View File
@@ -204,7 +204,7 @@ Following successful authentication at the token endpoint the returned token wil
| `services[_].credentials.oauth2.azure_keyvault.key_version` | `string` | No | Key version that should be used for signing. Will used latest if not specified |
| `services[_].credentials.oauth2.azure_keyvault.key_algorithm` | `string` | No | Specifies the signing algorithm used by the key `azure_keyvault.key`. `ES256, ES256K, PS256, RS256, ES384, PS384, RS384, ES512, PS512 or RS512)` |
| `services[_].credentials.oauth2.azure_keyvault.vault` | `string` | No | The name of the azure keyvault. used for interpolation of URL. |
| `services[_].credentials.oauth2.azure_keyvault.api_version` | `string` | No | The version of the [azure keyvault sign api](https://learn.microsoft.com/en-us/rest/api/keyvault/keys/sign/sign). Defaults to "7.4" |
| `services[_].credentials.oauth2.azure_keyvault.api_version` | `string` | No | The version of the [azure keyvault sign api](https://learn.microsoft.com/en-us/rest/api/keyvault/keys/sign/sign?view=rest-keyvault-keys-2025-07-01). Defaults to "7.4" |
| `services[_].credentials.oauth2.azure_signing.service` | `string` | No | What azure service to use for signing. only valid service currently is "keyvault". |
| `services[_].credentials.oauth2.azure_signing.azure_managed_identity` | `{}` | No | What managed identity OPA will try to use for auth in azure. Identity has to have signing rights to the key in `azure_keyvault.key`. see [managed-identity](#azure-managed-identities-token) for more info. |
| `services[_].credentials.oauth2.client_assertion_path` | `string` | No | To specify a path to find a client assertion file. Used for Azure Workload Identity. |
@@ -527,7 +527,7 @@ If specifying `web_identity_credentials`, OPA will expect to find environment va
### GCP Metadata Token
OPA will authenticate with a GCP [access token](https://cloud.google.com/run/docs/securing/service-identity#access_tokens) or [identity token](https://cloud.google.com/run/docs/securing/service-identity) fetched from the [Compute Metadata Server](https://docs.cloud.google.com/compute/docs/metadata/overview). When one or more `scopes` is provided an access token is fetched. When a non-empty `audience` is provided an identity token is fetched. An audience or `scopes` array is required.
OPA will authenticate with a GCP [access token](https://docs.cloud.google.com/run/docs/securing/service-identity#access_tokens) or [identity token](https://docs.cloud.google.com/run/docs/securing/service-identity) fetched from the [Compute Metadata Server](https://docs.cloud.google.com/compute/docs/metadata/overview). When one or more `scopes` is provided an access token is fetched. When a non-empty `audience` is provided an identity token is fetched. An audience or `scopes` array is required.
When authenticating to native GCP services such as [Google Cloud Storage](https://cloud.google.com/storage) an access token should be used with the appropriate set of scopes required by the target resource. When authenticating to a third party application such as an application hosted on Google Cloud Run an identity token should be used.
+2 -2
View File
@@ -6,9 +6,9 @@ This page details the process for getting up and running locally for OPA
development. If you're a first time contributor, we recommend you read through
the [Contributing to OPA](./contrib-code) page first.
OPA is written in the [Go](https://golang.org) programming language.
OPA is written in the [Go](https://go.dev/) programming language.
If you are new to Go, consider reading
[Effective Go](https://go.dev/doc/effective_go.html),
[Effective Go](https://go.dev/doc/effective_go),
[Go Code Review Comments](https://go.dev/wiki/CodeReviewComments) or
[How to Write Go Code](https://go.dev/doc/code)
for guidance on writing idiomatic Go code.
+1 -1
View File
@@ -63,5 +63,5 @@ spec:
```
For more information, please see the GKE
[Load Balancer](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer)
[Load Balancer](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer)
documentation.
+1 -1
View File
@@ -189,7 +189,7 @@ This field can be used inside the policy.
A detailed rundown of generating SSL certificates and JKS files required
for SSL client authentication is outside the scope of this tutorial, but the plugin
repository provides an [example script](https://github.com/StyraOSS/opa-kafka-plugin/tree/main/example/opa_tutorial/create_cert.sh)
repository provides an [example script](https://github.com/StyraOSS/opa-kafka-plugin/blob/main/example/opa_tutorial/create_cert.sh)
that demonstrates the creation of client certificates for the four different
users used in this tutorial:
+1 -1
View File
@@ -24,7 +24,7 @@ For the purpose of the tutorial we will deploy two policies that ensure:
## Prerequisites
This tutorial requires Kubernetes 1.20 or later. To run the tutorial locally ensure you start a cluster with Kubernetes
version 1.20+, we recommend using [minikube](https://kubernetes.io/docs/getting-started-guides/minikube) or
version 1.20+, we recommend using [minikube](https://kubernetes.io/docs/setup/) or
[KIND](https://kind.sigs.k8s.io/).
## Steps
+1 -1
View File
@@ -1006,7 +1006,7 @@ If your instance of OPA runs inside GCP, you'll be able to authenticate using GC
##### JWT Bearer Grant Type
Use this for [authenticating](https://cloud.google.com/storage/docs/authentication) _external_ clients, i.e. OPAs running outside the GCP environment.
Use this for [authenticating](https://docs.cloud.google.com/storage/docs/authentication) _external_ clients, i.e. OPAs running outside the GCP environment.
1. Search for "credentials" in the top search box and choose "Credentials - APIs and Services".
2. Click "Create Credentials" followed by "Service Account."
+1 -1
View File
@@ -30,7 +30,7 @@ to optimize queries to improve performance.
## Learning Rego
While reviewing the examples below, you might find it helpful to follow along
using the online [OPA playground](http://play.openpolicyagent.org). The
using the online [OPA playground](https://play.openpolicyagent.org/). The
playground also allows sharing of examples via URL which can be helpful when
asking questions on the [OPA Slack](https://slack.openpolicyagent.org).
In addition to these official resources, you may also be interested to check
+1 -1
View File
@@ -905,7 +905,7 @@ likely becomes I/O-bound.) Policy evaluation is currently single-threaded. If yo
are embedding OPA as a library, it is your responsibility to dispatch concurrent queries
to different Goroutines/threads. If you are running the OPA server, it will parallelize
concurrent requests and use as many cores as possible. You can limit the number of
cores that OPA can consume by starting OPA with the [`GOMAXPROCS`](https://golang.org/pkg/runtime)
cores that OPA can consume by starting OPA with the [`GOMAXPROCS`](https://pkg.go.dev/runtime)
environment variable.
Memory usage scales with the size of the policy (i.e., Rego) and data (e.g., JSON) that you
@@ -4,7 +4,7 @@ This example uses a symmetric key to verify the token. This is not recommended f
production use. Please see the examples below using `JWKs` or PEM-encoded certificates more examples.
:::
Sometimes when working with tools like [JWT.io](https://jwt.io) it can be
Sometimes when working with tools like [JWT.io](https://www.jwt.io/) it can be
useful to decode and verify JWT tokens signed with a symmetric key just to
see what the output of `io.jwt.decode_verify()` looks like.
+4 -4
View File
@@ -60,7 +60,7 @@ The following package managers include Regal in their repositories, either nativ
- [mise](https://mise.jdx.dev/) via its [aqua](https://aquaproj.github.io/) backend and [aqua's regal definition](https://github.com/aquaproj/aqua-registry/tree/main/pkgs/open-policy-agent/regal)
- [pkgsrc](https://www.pkgsrc.se/) and the [regal](https://pkgsrc.se/devel/regal) package
- [Nix](https://nixos.org/): [regal](https://search.nixos.org/packages?channel=24.05&show=regal&from=0&size=50&sort=relevance&type=packages&query=regal)
- [mason.vim](https://github.com/williamboman/mason.nvim): [regal](https://github.com/mason-org/mason-registry/blob/main/packages/regal/package.yaml)
- [mason.vim](https://github.com/mason-org/mason.nvim): [regal](https://github.com/mason-org/mason-registry/blob/main/packages/regal/package.yaml)
## Companies and Organizations
@@ -74,12 +74,12 @@ Some companies and organizations using Regal.
- [CISA](https://www.cisa.gov)
- [Elastic](https://www.elastic.co)
- [Google](https://www.google.com)
- [Microsoft](https://www.microsoft.com)
- [Microsoft](https://www.microsoft.com/en-us/)
- [Ministry of Justice](https://www.gov.uk/government/organisations/ministry-of-justice)
- [Miro](https://miro.com)
- [OpenCV](https://opencv.org)
- [Red Hat](https://www.redhat.com)
- [Spacelift](https://www.spacelift.io)
- [Red Hat](https://www.redhat.com/en)
- [Spacelift](https://spacelift.io/)
- [Stacklok](https://stacklok.com)
- [Styra](https://www.styra.com)
- [UNIwise](https://uniwise.eu/)
@@ -8,7 +8,7 @@ labels:
tutorials:
- https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/
code:
- https://github.com/StyraInc/opa-aws-cloudformation-hook
- https://github.com/StyraOSS/opa-aws-cloudformation-hook
blogs:
- https://www.styra.com/blog/the-opa-aws-cloudformation-hook/
inventors:
+3 -3
View File
@@ -11,8 +11,8 @@ inventors:
code:
- https://github.com/diggerhq/digger
tutorials:
- https://docs.digger.dev/readme/introduction
- https://docs.digger.dev/digger-api/rbac-via-opa-guide
- https://docs.digger.dev/configuration/using-opa-conftest
- https://docs.opentaco.dev/readme/introduction
- https://docs.opentaco.dev/digger-api/rbac-via-opa-guide
- https://docs.opentaco.dev/configuration/using-opa-conftest
---
Digger is an open-source CI/CD orchestrator for Terraform. It provides role-based access control via OPA, and also integrates Conftest to check Terraform plan output against policies.
+1 -1
View File
@@ -6,7 +6,7 @@ labels:
software:
- graphql
code:
- https://github.com/StyraInc/graphql-apollo-example
- https://github.com/StyraOSS/graphql-apollo-example
tutorials:
- https://www.openpolicyagent.org/docs/graphql-api-authorization
---
+1 -1
View File
@@ -7,7 +7,7 @@ labels:
inventors:
- legitsecurity
tutorials:
- https://legitify.dev
- https://www.legitsecurity.com/legitify
- https://github.com/Legit-Labs/legitify#github-action-usage
code:
- https://github.com/Legit-Labs/legitify
+1 -1
View File
@@ -15,4 +15,4 @@ docs_features:
to evaluate configuration for compliance against security controls.
---
Automated Governance with Machine-Readable data and OPA - [Lula](https://lula.dev) is a tool designed to bridge the gap between expected configuration required for compliance and actual configuration.
Automated Governance with Machine-Readable data and OPA - [Lula](https://defenseunicorns.com/) is a tool designed to bridge the gap between expected configuration required for compliance and actual configuration.
+1 -1
View File
@@ -12,7 +12,7 @@ blogs:
code:
- https://github.com/strimzi/strimzi-kafka-operator
- https://github.com/scholzj/demo-opa-kafka-authorization
- https://github.com/StyraInc/opa-kafka-plugin
- https://github.com/StyraOSS/opa-kafka-plugin
inventors:
- redhat
docs_features:
@@ -10,7 +10,7 @@ labels:
category: publiccloud
layer: orchestration
tutorials:
- https://developer.hashicorp.com/terraform/cloud-docs/policy-enforcement/opa
- https://developer.hashicorp.com/terraform/cloud-docs/workspaces/policy-enforcement/define-policies/opa
- https://developer.hashicorp.com/terraform/tutorials/cloud/drift-and-policy
- https://developer.hashicorp.com/terraform/cloud-docs/workspaces/policy-enforcement/manage-policy-sets/opa-vcs
videos:
@@ -28,7 +28,7 @@ docs_features:
terraform:
note: |
Terraform cloud has native support for enforcing Rego policy on plans.
The feature is [documented here](https://developer.hashicorp.com/terraform/cloud-docs/policy-enforcement/opa).
The feature is [documented here](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/policy-enforcement/define-policies/opa).
---
Policies are rules that Terraform Cloud enforces on runs. You use the Rego
+1 -1
View File
@@ -13,7 +13,7 @@ tutorials:
- https://www.openpolicyagent.org/docs/terraform.html
- https://github.com/open-policy-agent/conftest/blob/master/README.md
code:
- https://github.com/instrumenta/conftest
- https://github.com/open-policy-agent/conftest
- https://github.com/fugue/regula
- https://github.com/tenable/terrascan
- https://github.com/Checkmarx/kics
+1 -1
View File
@@ -18,6 +18,6 @@ docs_features:
via the [Regal Language Server](/integrations/regal/).
---
The [zed-rego extension](https://github.com/StyraInc/zed-rego)
is an extension for the [Zed editor](http://zed.dev) that provides
is an extension for the [Zed editor](https://zed.dev/) that provides
support for the Rego language and OPA functionality. The extension
also includes support for the [Regal Language Server](/integrations/regal/).
+1 -1
View File
@@ -1,5 +1,5 @@
---
title: Rust
website: "https://www.rust-lang.org/"
website: "https://rust-lang.org/"
---
Rust is a systems programming language focused on performance, memory safety, and concurrency. It is known for preventing common bugs at compile time without sacrificing speed.