diff --git a/build/policy/integrations.rego b/build/policy/integrations.rego index 3adc20fec9..6dec6ed882 100644 --- a/build/policy/integrations.rego +++ b/build/policy/integrations.rego @@ -8,7 +8,9 @@ allowed_image_extensions := ["png", "svg"] # check that all integrations have an image deny contains result if { - some id, integration in input.integrations + some path, integration in input.integrations + + id := split(path, "/")[2] # some integrations are allowed to have a missing image as no suitable image is available not integration.allow_missing_image == true @@ -26,7 +28,7 @@ deny contains result if { result := { "key": "integration_image", - "message": sprintf("integration %s missing image in 'static/img/logos/integrations' with extension of: %v", [id, concat(",", allowed_image_extensions)]), + "message": sprintf("%s missing image in 'static/img/logos/integrations' with extension of: %v", [path, concat(",", allowed_image_extensions)]), } } @@ -36,7 +38,7 @@ deny contains result if { id := split(image, ".")[0] - not id in object.keys(input.integrations) + not sprintf("/integrations/%s/", [id]) in object.keys(input.integrations) result := { "key": "image_integration", @@ -48,13 +50,13 @@ deny contains result if { deny contains result if { some id, integration in input.integrations - missing_fields := {"title", "layout"} - object.keys(integration) + missing_fields := {"title"} - object.keys(integration) count(missing_fields) > 0 result := { "key": "fields", - "message": sprintf("integration %s missing required fields: %v", [id, concat(", ", sort(missing_fields))]), + "message": sprintf("%s missing required fields: %v", [id, concat(", ", sort(missing_fields))]), } } @@ -68,21 +70,7 @@ deny contains result if { result := { "key": "content", - "message": sprintf("integration %s has no content", [id]), - } -} - -# check that all integrations have a layout set to integration-single -deny contains result if { - some id, integration in input.integrations - - layout := object.get(integration, "layout", "") - - layout != "integration-single" - - result := { - "key": "layout", - "message": sprintf("integration %s does not have layout set to: integration-single", [id]), + "message": sprintf("%s has no content", [id]), } } @@ -94,11 +82,11 @@ deny contains result if { some _, inventor in inventors - not inventor in object.keys(input.organizations) + not sprintf("/organizations/%s/", [inventor]) in object.keys(input.organizations) result := { "key": "inventors", - "message": sprintf("integration %s references organization %s which does not exist", [id, inventor]), + "message": sprintf("%s references organization %s which does not exist", [id, inventor]), } } @@ -110,11 +98,11 @@ deny contains result if { some _, software in softwares - not software in object.keys(input.softwares) + not sprintf("/softwares/%s/", [software]) in object.keys(input.softwares) result := { "key": "software", - "message": sprintf("integration %s references software %s which does not exist", [id, software]), + "message": sprintf("%s references software %s which does not exist", [id, software]), } } @@ -122,33 +110,35 @@ deny contains result if { deny contains result if { some id, software in input.softwares - missing_fields := {"title", "layout", "link"} - object.keys(software) + missing_fields := {"title", "link"} - object.keys(software) count(missing_fields) > 0 result := { "key": "fields", - "message": sprintf("software %s missing required fields: %v", [id, concat(", ", sort(missing_fields))]), + "message": sprintf("%s missing required fields: %v", [id, concat(", ", sort(missing_fields))]), } } # check that organizations have required fields deny contains result if { - some id, organization in input.organizations + some path, organization in input.organizations - missing_fields := {"title", "layout", "link"} - object.keys(organization) + missing_fields := {"title", "link"} - object.keys(organization) count(missing_fields) > 0 result := { "key": "fields", - "message": sprintf("organization %s missing required fields: %v", [id, concat(", ", sort(missing_fields))]), + "message": sprintf("%s missing required fields: %v", [path, concat(", ", sort(missing_fields))]), } } # check that each organization has at least one integration deny contains result if { - some id, organization in input.organizations + some path, organization in input.organizations + + id := split(path, "/")[2] inventor_integrations := {i | some i, integration in input.integrations @@ -167,13 +157,15 @@ deny contains result if { result := { "key": "orphaned_org", - "message": sprintf("organization %s has no integrations", [id]), + "message": sprintf("%s has no integrations", [path]), } } # check that each software has at least one integration deny contains result if { - some id, software in input.softwares + some path, software in input.softwares + + id := split(path, "/")[2] integrations := {i | some i, integration in input.integrations @@ -184,6 +176,6 @@ deny contains result if { result := { "key": "orphaned_software", - "message": sprintf("software %s has no integrations", [id]), + "message": sprintf("%s has no integrations", [path]), } } diff --git a/build/policy/integrations_test.rego b/build/policy/integrations_test.rego index dc97bf5e33..f0f9a846c3 100644 --- a/build/policy/integrations_test.rego +++ b/build/policy/integrations_test.rego @@ -27,10 +27,10 @@ print_if(false, key, expected, output) := false { } test_integration_has_required_fields_missing { - output := data.integrations.deny with input as {"integrations": {"regal": {}}} + output := data.integrations.deny with input as {"integrations": {"/integrations/regal/": {}}} key := "fields" - message := "integration regal missing required fields: layout, title" + message := "/integrations/regal/ missing required fields: title" got := messages_for_key(key, output) @@ -40,48 +40,10 @@ test_integration_has_required_fields_missing { } test_integration_has_required_fields_present { - output := data.integrations.deny with input as {"integrations": {"regal": {"title": "Regal", "layout": "integration"}}} + output := data.integrations.deny with input as {"integrations": {"/integrations/regal/": {"title": "Regal"}}} key := "fields" - message := "integration regal missing required fields: layout, title" - - got := messages_for_key(key, output) - - result := got == set() - - print_if(result, key, false, output) -} - -test_integration_has_layout_missing { - output := data.integrations.deny with input as {"integrations": {"regal": {}}} - - key := "layout" - message := "integration regal does not have layout set to: integration-single" - - got := messages_for_key(key, output) - - result := message in got - - print_if(result, key, message, output) -} - -test_integration_has_layout_missing { - output := data.integrations.deny with input as {"integrations": {"regal": {"layout": "wrong"}}} - - key := "layout" - message := "integration regal does not have layout set to: integration-single" - - got := messages_for_key(key, output) - - result := message in got - - print_if(result, key, message, output) -} - -test_integration_has_layout_present { - output := data.integrations.deny with input as {"integrations": {"regal": {"layout": "integration-single"}}} - - key := "layout" + message := "/integrations/regal/ missing required fields: title" got := messages_for_key(key, output) @@ -91,10 +53,10 @@ test_integration_has_layout_present { } test_integration_has_content_missing { - output := data.integrations.deny with input as {"integrations": {"regal": {}}} + output := data.integrations.deny with input as {"integrations": {"/integrations/regal/": {}}} key := "content" - message := "integration regal has no content" + message := "/integrations/regal/ has no content" got := messages_for_key(key, output) @@ -104,10 +66,10 @@ test_integration_has_content_missing { } test_integration_has_content_blank { - output := data.integrations.deny with input as {"integrations": {"regal": {"content": "\t\t\n "}}} + output := data.integrations.deny with input as {"integrations": {"/integrations/regal/": {"content": "\t\t\n "}}} key := "content" - message := "integration regal has no content" + message := "/integrations/regal/ has no content" got := messages_for_key(key, output) @@ -117,7 +79,7 @@ test_integration_has_content_blank { } test_integration_has_content_present { - output := data.integrations.deny with input as {"integrations": {"regal": {"content": "foobar"}}} + output := data.integrations.deny with input as {"integrations": {"/integrations/regal/": {"content": "foobar"}}} key := "content" got := messages_for_key(key, output) @@ -130,11 +92,11 @@ test_integration_has_content_present { test_every_integration_has_image_missing { output := data.integrations.deny with input as { "images": ["reegal.png"], - "integrations": {"regal": {}}, + "integrations": {"/integrations/regal/": {}}, } key := "integration_image" - message := "integration regal missing image in 'static/img/logos/integrations' with extension of: png,svg" + message := "/integrations/regal/ missing image in 'static/img/logos/integrations' with extension of: png,svg" got := messages_for_key(key, output) @@ -191,7 +153,7 @@ test_every_image_has_integration_missing { test_every_image_has_integration_present { output := data.integrations.deny with input as { "images": ["regal.png"], - "integrations": {"regal": {}}, + "integrations": {"/integrations/regal/": {}}, } key := "image_integration" @@ -204,12 +166,12 @@ test_every_image_has_integration_present { test_integration_organizations_missing { output := data.integrations.deny with input as { - "organizations": {"stira": {}}, - "integrations": {"regal": {"inventors": ["styra"]}}, + "organizations": {"/organizations/stira/": {}}, + "integrations": {"/integrations/regal/": {"inventors": ["styra"]}}, } key := "inventors" - message := "integration regal references organization styra which does not exist" + message := "/integrations/regal/ references organization styra which does not exist" got := messages_for_key(key, output) @@ -220,8 +182,8 @@ test_integration_organizations_missing { test_integration_organizations_present { output := data.integrations.deny with input as { - "organizations": {"styra": {}}, - "integrations": {"regal": {"inventors": ["styra"]}}, + "organizations": {"/organizations/styra/": {}}, + "integrations": {"/integrations/regal/": {"inventors": ["styra"]}}, } key := "inventors" @@ -234,12 +196,12 @@ test_integration_organizations_present { test_integration_softwares_missing { output := data.integrations.deny with input as { - "softwares": {"mars": {}}, - "integrations": {"regal": {"software": ["terraform"]}}, + "softwares": {"/softwares/mars/": {}}, + "integrations": {"/integrations/regal/": {"software": ["terraform"]}}, } key := "software" - message := "integration regal references software terraform which does not exist" + message := "/integrations/regal/ references software terraform which does not exist" got := messages_for_key(key, output) @@ -250,8 +212,8 @@ test_integration_softwares_missing { test_integration_softwares_present { output := data.integrations.deny with input as { - "softwares": {"terraform": {}}, - "integrations": {"regal": {"software": ["terraform"]}}, + "softwares": {"/softwares/terraform/": {}}, + "integrations": {"/integrations/regal/": {"software": ["terraform"]}}, } key := "software" @@ -263,10 +225,10 @@ test_integration_softwares_present { } test_software_has_required_fields_missing { - output := data.integrations.deny with input as {"softwares": {"terraform": {}}} + output := data.integrations.deny with input as {"softwares": {"/softwares/terraform/": {}}} key := "fields" - message := "software terraform missing required fields: layout, link, title" + message := "/softwares/terraform/ missing required fields: link, title" got := messages_for_key(key, output) @@ -276,7 +238,7 @@ test_software_has_required_fields_missing { } test_software_has_required_fields_present { - output := data.integrations.deny with input as {"softwares": {"terraform": {"layout": "software-single", "link": "https://www.terraform.io/", "title": "Terraform"}}} + output := data.integrations.deny with input as {"softwares": {"terraform": {"link": "https://www.terraform.io/", "title": "Terraform"}}} key := "fields" @@ -288,10 +250,10 @@ test_software_has_required_fields_present { } test_organization_has_required_labels { - output := data.integrations.deny with input as {"organizations": {"styra": {}}} + output := data.integrations.deny with input as {"organizations": {"/organizations/styra/": {}}} key := "fields" - message := "organization styra missing required fields: layout, link, title" + message := "/organizations/styra/ missing required fields: link, title" got := messages_for_key(key, output) @@ -301,7 +263,7 @@ test_organization_has_required_labels { } test_organization_has_required_fields_present { - output := data.integrations.deny with input as {"organizations": {"styra": {"layout": "organization-single", "link": "https://styra.com/", "title": "Styra"}}} + output := data.integrations.deny with input as {"organizations": {"styra": {"link": "https://styra.com/", "title": "Styra"}}} key := "fields" @@ -313,10 +275,10 @@ test_organization_has_required_fields_present { } test_organization_has_one_or_more_integrations_none { - output := data.integrations.deny with input as {"organizations": {"foobar": {}}, "integrations": {}} + output := data.integrations.deny with input as {"organizations": {"/organizations/foobar/": {}}, "integrations": {}} key := "orphaned_org" - message := "organization foobar has no integrations" + message := "/organizations/foobar/ has no integrations" got := messages_for_key(key, output) @@ -326,7 +288,7 @@ test_organization_has_one_or_more_integrations_none { } test_organization_has_one_or_more_integrations_one { - output := data.integrations.deny with input as {"organizations": {"foobaz": {}}, "integrations": {"foobar": {"inventors": ["foobaz"]}}} + output := data.integrations.deny with input as {"organizations": {"/organizations/foobaz/": {}}, "integrations": {"/integrations/foobar/": {"inventors": ["foobaz"]}}} key := "orphaned_org" got := messages_for_key(key, output) @@ -348,10 +310,10 @@ test_organization_has_one_or_more_integrations_speaker { } test_software_has_one_or_more_integrations_none { - output := data.integrations.deny with input as {"softwares": {"foobar": {}}, "integrations": {}} + output := data.integrations.deny with input as {"softwares": {"/softwares/foobar/": {}}, "integrations": {}} key := "orphaned_software" - message := "software foobar has no integrations" + message := "/softwares/foobar/ has no integrations" got := messages_for_key(key, output) diff --git a/docs/README.md b/docs/README.md index 762758daa4..5def14df6c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -50,8 +50,13 @@ complexities to be aware of when making changes to the site's layout: (edge, latest and all versions) when merged to `main`. * Site [data](./website/data) treated in the same way, so updates to data files also apply to all versions as soon as they are merged. -* Site [content/](./content/), when merged to `main`, is only shown on `edge` until the +* Docs [content/](./content/), when merged to `main`, is only shown on `edge` until the next release. +* Other, unversioned [content/](./website/content/) is shown immediately after merging. + This includes pages in the [OPA Ecosystem](https://www.openpolicyagent.org/ecosystem/) + as well as [Security](https://www.openpolicyagent.org/security/), + [Support](https://www.openpolicyagent.org/support/), and + [Community](https://www.openpolicyagent.org/community/) pages. ## How to Edit and Test @@ -299,7 +304,7 @@ another group's module when evaluating (e.g. so that they can be imported). # OPA Ecosystem -The [OPA Ecosystem](https://www.openpolicyagent.org/docs/latest/ecosystem/) +The [OPA Ecosystem](https://www.openpolicyagent.org/ecosystem/) makes it easy to find either a specific integration with OPA or to browse the integrations with OPA within a particular category. It pulls information about different integrations (e.g. blogs, videos, tutorials, code) into a @@ -309,15 +314,14 @@ single place while allowing integration authors to update the docs content as ne Source information for the OPA Ecosystem is stored in the following places: -- [content/integrations/](./content/integrations) - each file creates a page in the OPA Ecosystem for a particular integration. -- [content/organizations/](./content/organizations) - each file is a page for organizations and companies associated with integrations. -- [content/softwares/](./content/softwares) - each file is for software categories related to integrations. +- [content/integrations/](./website/content/integrations) - each file creates a page in the OPA Ecosystem for a particular integration. +- [content/organizations/](./website/content/organizations) - each file is a page for organizations and companies associated with integrations. +- [content/softwares/](./website/content/softwares) - each file is for software categories related to integrations. -Integrations should have a file in `content/integrations/` with the following schema: +Integrations should have a file in `/docs/website/content/integrations/` with the following schema: ```md --- -layout: integration-single # required to be set and to this value title: software: - @@ -349,7 +353,6 @@ Organizations have the following format: --- link: https://example.com title: -layout: organization-single # required to be set and to this value --- ``` @@ -360,7 +363,6 @@ Software categories have the following format: --- link: https://example.com title: -layout: software-single # required to be set and to this value --- ``` diff --git a/docs/content/contributing.md b/docs/content/contributing.md index e6b2c67dfe..3e3a34b553 100644 --- a/docs/content/contributing.md +++ b/docs/content/contributing.md @@ -27,7 +27,7 @@ We welcome contributions of all kinds. For example: - [Documentation](../contrib-docs) including reference material and examples. - Help out other members in the OPA Slack Org and on the [GitHub Discussions Board](https://github.com/open-policy-agent/feedback/discussions) - Spreading the word about OPA by speaking at conferences -- Adding integrations to the OPA [ecosystem](https://www.openpolicyagent.org/docs/latest/ecosystem/) +- Adding integrations to the OPA [ecosystem](https://www.openpolicyagent.org/ecosystem/) - Creating Blog and Videos to show how your organization has implemented OPA If you're interested in any non-code contributions, please reach out on the #help channel on [Slack](https://slack.openpolicyagent.org/) \ No newline at end of file diff --git a/docs/website/assets/sass/docs.sass b/docs/website/assets/sass/docs.sass index 6d36022a14..76c21012e7 100644 --- a/docs/website/assets/sass/docs.sass +++ b/docs/website/assets/sass/docs.sass @@ -195,6 +195,28 @@ $panel-header-logo-width: 85% &.is-info border-image: 50 repeating-linear-gradient(75deg, #296fa8 0, #296fa8 1rem, transparent 0, transparent 2rem) +.ecosystem-table + border: 1px solid silver + border-collapse: collapse + td, th + border: 1px solid silver + padding: 1rem + th + font-weight: bold + +.ecosystem-breadcrumbs + color: white + margin-bottom: 1rem + a + color: white + text-decoration: underline + +.ecosystem-note + color: white + margin-top: 0.5rem + p + color: white + .ecosystem-list display: grid gap: 2rem 1rem @@ -205,6 +227,7 @@ $panel-header-logo-width: 85% grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)) .ecosystem-list-item + background-color: white padding: 2rem 2rem 1rem border-radius: 1rem box-shadow: 0px 1px 2px rgba(3, 7, 18, 0.03), 0px 5px 7px rgba(3, 7, 18, 0.05), 0px 12px 15px rgba(3, 7, 18, 0.08) @@ -215,6 +238,8 @@ $panel-header-logo-width: 85% display: flex align-items: center margin-bottom: 1rem + p.title + margin-bottom: 0.3rem figure margin: 0 1rem 0 0 border: 1px solid #e5e5e5 diff --git a/docs/content/ecosystem/_index.md b/docs/website/content/ecosystem/_index.md similarity index 60% rename from docs/content/ecosystem/_index.md rename to docs/website/content/ecosystem/_index.md index f5c6646687..c002b7bb5f 100644 --- a/docs/content/ecosystem/_index.md +++ b/docs/website/content/ecosystem/_index.md @@ -1,8 +1,6 @@ --- title: "OPA Ecosystem" -layout: ecosystem-section kind: support -edit_link: https://github.com/open-policy-agent/opa/tree/main/docs#opa-ecosystem categories: - key: rego title: Rego Language @@ -14,6 +12,6 @@ categories: title: Language Integrations - key: builtwithopa title: Built with OPA +intro: | + Showcase of OPA integrations, use-cases, and related projects. --- - -Showcase of OPA integrations, use-cases, and related projects. diff --git a/docs/content/ecosystem/envoy.md b/docs/website/content/ecosystem/envoy.md similarity index 86% rename from docs/content/ecosystem/envoy.md rename to docs/website/content/ecosystem/envoy.md index e243cd00bd..0d9159ea52 100644 --- a/docs/content/ecosystem/envoy.md +++ b/docs/website/content/ecosystem/envoy.md @@ -1,6 +1,5 @@ --- title: Envoy -layout: ecosystem-single description: Integrate with the Envoy proxy category: tool --- diff --git a/docs/content/ecosystem/external-data-realtime-push.md b/docs/website/content/ecosystem/external-data-realtime-push.md similarity index 86% rename from docs/content/ecosystem/external-data-realtime-push.md rename to docs/website/content/ecosystem/external-data-realtime-push.md index 9b744d5b6b..c4204738da 100644 --- a/docs/content/ecosystem/external-data-realtime-push.md +++ b/docs/website/content/ecosystem/external-data-realtime-push.md @@ -1,8 +1,7 @@ --- title: 'External Data: Push' -layout: ecosystem-single description: Manage and update external data loaded into OPA -category: production +category: production --- These projects make use of OPA APIs to manage and update data in realtime. diff --git a/docs/content/ecosystem/external-data-runtime.md b/docs/website/content/ecosystem/external-data-runtime.md similarity index 82% rename from docs/content/ecosystem/external-data-runtime.md rename to docs/website/content/ecosystem/external-data-runtime.md index ed1a9e8e05..17bc1be32b 100644 --- a/docs/content/ecosystem/external-data-runtime.md +++ b/docs/website/content/ecosystem/external-data-runtime.md @@ -1,8 +1,7 @@ --- title: 'External Data: Runtime' -layout: ecosystem-single description: Load in on demand at runtime -category: production +category: production --- These projects extend OPA to support the diff --git a/docs/content/ecosystem/external-data.md b/docs/website/content/ecosystem/external-data.md similarity index 91% rename from docs/content/ecosystem/external-data.md rename to docs/website/content/ecosystem/external-data.md index b2ed570f75..83255f63a6 100644 --- a/docs/content/ecosystem/external-data.md +++ b/docs/website/content/ecosystem/external-data.md @@ -1,6 +1,5 @@ --- title: External Data -layout: ecosystem-single description: Manage and update external data loaded into OPA category: production --- diff --git a/docs/content/ecosystem/go-integration.md b/docs/website/content/ecosystem/go-integration.md similarity index 87% rename from docs/content/ecosystem/go-integration.md rename to docs/website/content/ecosystem/go-integration.md index c3aba27d57..51fe054799 100644 --- a/docs/content/ecosystem/go-integration.md +++ b/docs/website/content/ecosystem/go-integration.md @@ -1,6 +1,5 @@ --- title: Go Integrations -layout: ecosystem-single description: Projects using OPA as a Go module category: builtwithopa --- diff --git a/docs/content/ecosystem/kubernetes.md b/docs/website/content/ecosystem/kubernetes.md similarity index 87% rename from docs/content/ecosystem/kubernetes.md rename to docs/website/content/ecosystem/kubernetes.md index fa24e03260..727a4b97d7 100644 --- a/docs/content/ecosystem/kubernetes.md +++ b/docs/website/content/ecosystem/kubernetes.md @@ -1,6 +1,5 @@ --- title: Kubernetes -layout: ecosystem-single description: Integrate OPA with Kubernetes category: tool --- diff --git a/docs/content/ecosystem/learning-rego.md b/docs/website/content/ecosystem/learning-rego.md similarity index 86% rename from docs/content/ecosystem/learning-rego.md rename to docs/website/content/ecosystem/learning-rego.md index 3d0dd67dfa..070033bce2 100644 --- a/docs/content/ecosystem/learning-rego.md +++ b/docs/website/content/ecosystem/learning-rego.md @@ -1,6 +1,5 @@ --- title: Learning Rego -layout: ecosystem-single description: Learn and write Rego category: rego --- diff --git a/docs/content/ecosystem/opa-bundles-discovery.md b/docs/website/content/ecosystem/opa-bundles-discovery.md similarity index 88% rename from docs/content/ecosystem/opa-bundles-discovery.md rename to docs/website/content/ecosystem/opa-bundles-discovery.md index 675a82d84d..c632c8f7bc 100644 --- a/docs/content/ecosystem/opa-bundles-discovery.md +++ b/docs/website/content/ecosystem/opa-bundles-discovery.md @@ -1,6 +1,5 @@ --- title: Discovery Bundles -layout: ecosystem-single description: Distribute flexible configuration to OPAs category: production --- diff --git a/docs/content/ecosystem/opa-bundles.md b/docs/website/content/ecosystem/opa-bundles.md similarity index 86% rename from docs/content/ecosystem/opa-bundles.md rename to docs/website/content/ecosystem/opa-bundles.md index a07a310e6d..8d6887be88 100644 --- a/docs/content/ecosystem/opa-bundles.md +++ b/docs/website/content/ecosystem/opa-bundles.md @@ -1,6 +1,5 @@ --- title: Bundles -layout: ecosystem-single description: Distribute policy and data to OPA instances category: production --- diff --git a/docs/content/ecosystem/policy-testing.md b/docs/website/content/ecosystem/policy-testing.md similarity index 89% rename from docs/content/ecosystem/policy-testing.md rename to docs/website/content/ecosystem/policy-testing.md index 71bf430bc0..789cc294c6 100644 --- a/docs/content/ecosystem/policy-testing.md +++ b/docs/website/content/ecosystem/policy-testing.md @@ -1,6 +1,5 @@ --- title: Policy Testing -layout: ecosystem-single description: Test and validate Rego policies category: rego --- diff --git a/docs/content/ecosystem/rest-api-integration.md b/docs/website/content/ecosystem/rest-api-integration.md similarity index 90% rename from docs/content/ecosystem/rest-api-integration.md rename to docs/website/content/ecosystem/rest-api-integration.md index b6ad208e16..4866a67f5f 100644 --- a/docs/content/ecosystem/rest-api-integration.md +++ b/docs/website/content/ecosystem/rest-api-integration.md @@ -1,6 +1,5 @@ --- title: REST API Integrations -layout: ecosystem-single description: Examples of projects which integrate with the OPA REST API. category: builtwithopa --- diff --git a/docs/content/ecosystem/status-api.md b/docs/website/content/ecosystem/status-api.md similarity index 89% rename from docs/content/ecosystem/status-api.md rename to docs/website/content/ecosystem/status-api.md index cf2499600e..21b9f5a4d8 100644 --- a/docs/content/ecosystem/status-api.md +++ b/docs/website/content/ecosystem/status-api.md @@ -1,6 +1,5 @@ --- title: Status API -layout: ecosystem-single description: Gather runtime information from OPA instances category: production --- diff --git a/docs/content/ecosystem/terraform.md b/docs/website/content/ecosystem/terraform.md similarity index 89% rename from docs/content/ecosystem/terraform.md rename to docs/website/content/ecosystem/terraform.md index c16f5c3534..6162018ef2 100644 --- a/docs/content/ecosystem/terraform.md +++ b/docs/website/content/ecosystem/terraform.md @@ -1,6 +1,5 @@ --- title: Terraform -layout: ecosystem-single description: Integrate OPA with Terraform category: tool --- diff --git a/docs/content/ecosystem/wasm-integration.md b/docs/website/content/ecosystem/wasm-integration.md similarity index 88% rename from docs/content/ecosystem/wasm-integration.md rename to docs/website/content/ecosystem/wasm-integration.md index 32ce03074e..e7f6d87c5e 100644 --- a/docs/content/ecosystem/wasm-integration.md +++ b/docs/website/content/ecosystem/wasm-integration.md @@ -1,6 +1,5 @@ --- title: Wasm Integrations -layout: ecosystem-single description: Projects using the Wasm functionality of OPA. category: language --- diff --git a/docs/content/integrations/alfred.md b/docs/website/content/integrations/alfred.md similarity index 96% rename from docs/content/integrations/alfred.md rename to docs/website/content/integrations/alfred.md index 02b6bcce6f..e2cba967b3 100644 --- a/docs/content/integrations/alfred.md +++ b/docs/website/content/integrations/alfred.md @@ -17,7 +17,6 @@ docs_features: Alfred can be used to learn Rego interactively in an environment that can't use the public playground. Read about [installation](https://github.com/dolevf/Open-Policy-Agent-Alfred#how-to-install). -layout: integration-single --- Alfred introduces a local graphical user interface to interact with Open Policy Agent and acts as an alternative to OPA's playground, allowing the user to keep information related to policy testing locally. diff --git a/docs/content/integrations/alluxio.md b/docs/website/content/integrations/alluxio.md similarity index 93% rename from docs/content/integrations/alluxio.md rename to docs/website/content/integrations/alluxio.md index af05f663d4..ae2c17a094 100644 --- a/docs/content/integrations/alluxio.md +++ b/docs/website/content/integrations/alluxio.md @@ -7,6 +7,5 @@ tutorials: - https://docs.alluxio.io/ee/user/2.10.0/en/security/OpenPolicyAgent-Integration.html inventors: - alluxio -layout: integration-single --- Alluxio is an open source data orchestration technology for analytics and AI for the cloud. Alluxio can integrate with OPA and delegate all permission checks to OPA. diff --git a/docs/content/integrations/antlr.md b/docs/website/content/integrations/antlr.md similarity index 86% rename from docs/content/integrations/antlr.md rename to docs/website/content/integrations/antlr.md index 7375368b27..0c2507d625 100644 --- a/docs/content/integrations/antlr.md +++ b/docs/website/content/integrations/antlr.md @@ -7,6 +7,5 @@ code: - https://github.com/antlr/grammars-v4 inventors: - independent -layout: integration-single --- ANTLR4 grammar for Rego. diff --git a/docs/content/integrations/apache-apisix.md b/docs/website/content/integrations/apache-apisix.md similarity index 96% rename from docs/content/integrations/apache-apisix.md rename to docs/website/content/integrations/apache-apisix.md index f265f1afc9..54328872ef 100644 --- a/docs/content/integrations/apache-apisix.md +++ b/docs/website/content/integrations/apache-apisix.md @@ -17,6 +17,5 @@ docs_features: the REST API. [This blog post](https://apisix.apache.org/blog/2021/12/24/open-policy-agent/) explains how such a configuration can be achieved. -layout: integration-single --- Apache APISIX provides a plugin for delegating fine-grained authorization decisions to OPA. diff --git a/docs/content/integrations/aserto.md b/docs/website/content/integrations/aserto.md similarity index 96% rename from docs/content/integrations/aserto.md rename to docs/website/content/integrations/aserto.md index a64d2138be..7d7191db07 100644 --- a/docs/content/integrations/aserto.md +++ b/docs/website/content/integrations/aserto.md @@ -18,7 +18,6 @@ blogs: - https://www.aserto.com/blog/rego-getting-started videos: - https://www.youtube.com/watch?v=RJkgmdjJn_w -layout: integration-single --- Aserto is a cloud-native authorization service that makes it easy to add permissions and RBAC to your SaaS applications and APIs. Aserto is based on the Open Policy Agent. diff --git a/docs/content/integrations/asp-dotnet-core.md b/docs/website/content/integrations/asp-dotnet-core.md similarity index 93% rename from docs/content/integrations/asp-dotnet-core.md rename to docs/website/content/integrations/asp-dotnet-core.md index f966bf12ee..732056a358 100644 --- a/docs/content/integrations/asp-dotnet-core.md +++ b/docs/website/content/integrations/asp-dotnet-core.md @@ -7,7 +7,6 @@ code: - https://github.com/build-security/OPA-AspDotNetCore-Middleware inventors: - build.security -layout: integration-single --- Use ASP.NET Core to create web apps and services that are fast, secure, cross-platform, and cloud-based. OPA can be used to implement authorization policies for APIs used in the ASP.NET Core framework. diff --git a/docs/content/integrations/atmos.md b/docs/website/content/integrations/atmos.md similarity index 96% rename from docs/content/integrations/atmos.md rename to docs/website/content/integrations/atmos.md index 2374ea3638..22c7d60934 100644 --- a/docs/content/integrations/atmos.md +++ b/docs/website/content/integrations/atmos.md @@ -20,6 +20,5 @@ docs_features: Atmos can validate Terraform stack before applying them. This is done using the `validate component` command [documented here](https://atmos.tools/cli/commands/validate/component). -layout: integration-single --- Workflow automation tool for DevOps. Keep configuration DRY with hierarchical imports of configurations, inheritance, and WAY more. diff --git a/docs/content/integrations/awesome-opa.md b/docs/website/content/integrations/awesome-opa.md similarity index 95% rename from docs/content/integrations/awesome-opa.md rename to docs/website/content/integrations/awesome-opa.md index aadbb87347..a84ec442f0 100644 --- a/docs/content/integrations/awesome-opa.md +++ b/docs/website/content/integrations/awesome-opa.md @@ -15,7 +15,6 @@ docs_features: [policy packages](https://github.com/StyraInc/awesome-opa#policy-packages), and [editor integrations](https://github.com/StyraInc/awesome-opa#ide-and-editor-integrations) which can be helpful references for learning Rego. -layout: integration-single allow_missing_image: true --- A curated list of awesome OPA related tools, frameworks and articles. diff --git a/docs/content/integrations/aws-api-gateway.md b/docs/website/content/integrations/aws-api-gateway.md similarity index 92% rename from docs/content/integrations/aws-api-gateway.md rename to docs/website/content/integrations/aws-api-gateway.md index a0ee80c54e..3fda997b65 100644 --- a/docs/content/integrations/aws-api-gateway.md +++ b/docs/website/content/integrations/aws-api-gateway.md @@ -5,6 +5,5 @@ labels: layer: gateway code: - https://github.com/zotoio/sls-lambda-opa -layout: integration-single --- The AWS API Gateway controls API traffic for your application running on AWS. OPA can be configured as an external authorizer for that Gateway to implement authorization policies on APIs. diff --git a/docs/content/integrations/aws-cloudformation-hook.md b/docs/website/content/integrations/aws-cloudformation-hook.md similarity index 96% rename from docs/content/integrations/aws-cloudformation-hook.md rename to docs/website/content/integrations/aws-cloudformation-hook.md index 73ebde13a9..620f043d93 100644 --- a/docs/content/integrations/aws-cloudformation-hook.md +++ b/docs/website/content/integrations/aws-cloudformation-hook.md @@ -21,6 +21,5 @@ docs_features: Read [the tutorial](https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/) here in the OPA documentation. -layout: integration-single --- AWS CloudFormation Hook that uses OPA to make policy decisions on infrastructure provisioned via AWS CloudFormation diff --git a/docs/content/integrations/boomerang-bosun.md b/docs/website/content/integrations/boomerang-bosun.md similarity index 95% rename from docs/content/integrations/boomerang-bosun.md rename to docs/website/content/integrations/boomerang-bosun.md index 3e39ecd565..e29f5c826c 100644 --- a/docs/content/integrations/boomerang-bosun.md +++ b/docs/website/content/integrations/boomerang-bosun.md @@ -16,6 +16,5 @@ docs_features: [Boomerang Bosun Service](https://github.com/boomerang-io/bosun.service.policy) component interacts with an OPA instance over the REST API to evaluate policy during CICD runs. -layout: integration-single --- Boomerang Bosun is a policy-based gating system that combines Policy Templates with Rules and data to validate Gates. diff --git a/docs/content/integrations/bottle.md b/docs/website/content/integrations/bottle.md similarity index 96% rename from docs/content/integrations/bottle.md rename to docs/website/content/integrations/bottle.md index b53b4c9cb0..7ebda014cf 100644 --- a/docs/content/integrations/bottle.md +++ b/docs/website/content/integrations/bottle.md @@ -17,7 +17,6 @@ docs_features: This sample python application calls has a middleware to call OPA before processing each request. See the [example code](https://github.com/dolevf/bottle-acl-openpolicyagent/blob/00a4336/main.py#L37). -layout: integration-single --- This integration demonstrates using Open Policy Agent to perform API authorization for a Python application backed by Bottle. Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. diff --git a/docs/content/integrations/carbonetes.md b/docs/website/content/integrations/carbonetes.md similarity index 95% rename from docs/content/integrations/carbonetes.md rename to docs/website/content/integrations/carbonetes.md index aae3a71003..eb2f0679e3 100644 --- a/docs/content/integrations/carbonetes.md +++ b/docs/website/content/integrations/carbonetes.md @@ -11,6 +11,5 @@ code: - https://github.com/carbonetes/brainiac inventors: - carbonetes -layout: integration-single --- BrainIAC uses static code analysis to analyze IAC code to detect security issues before deployment. This tool can scan for issues like security policy misconfigurations, insecure cloud-based services, and compliance issues. The BrainIAC tool performs a comprehensive code scan and generates reports containing detailed insights into the identified issues.. diff --git a/docs/content/integrations/ceph.md b/docs/website/content/integrations/ceph.md similarity index 96% rename from docs/content/integrations/ceph.md rename to docs/website/content/integrations/ceph.md index 8276d9c487..f7342f9f60 100644 --- a/docs/content/integrations/ceph.md +++ b/docs/website/content/integrations/ceph.md @@ -20,6 +20,5 @@ docs_feature: the REST API. The [integration is documented](https://docs.ceph.com/en/latest/radosgw/opa/) in the Ceph docs. -layout: integration-single --- Ceph is a highly scalable distributed storage solution that uniquely delivers object, block, and file storage in one unified system. OPA provides fine-grained, context-aware authorization of the information stored within Ceph. diff --git a/docs/content/integrations/chef-automate.md b/docs/website/content/integrations/chef-automate.md similarity index 97% rename from docs/content/integrations/chef-automate.md rename to docs/website/content/integrations/chef-automate.md index dbdb00aea7..21cf6395be 100644 --- a/docs/content/integrations/chef-automate.md +++ b/docs/website/content/integrations/chef-automate.md @@ -16,7 +16,6 @@ docs_features: Chef Automate uses the Go Rego API to evaluate authorization policies controlling access to its own API endpoints. The feature is [documented here](https://github.com/chef/automate/tree/master/components/authz-service#authz-with-opa). -layout: integration-single allow_missing_image: true --- Application require authorization decisions made at the API gateway, frontend, backend, and database. diff --git a/docs/content/integrations/circleci.md b/docs/website/content/integrations/circleci.md similarity index 92% rename from docs/content/integrations/circleci.md rename to docs/website/content/integrations/circleci.md index a909954c7f..e1c6d9285b 100644 --- a/docs/content/integrations/circleci.md +++ b/docs/website/content/integrations/circleci.md @@ -8,6 +8,5 @@ tutorials: - https://circleci.com/docs/config-policy-management-overview/ inventors: - circleci -layout: integration-single --- Use config policy management to create organization-level policies to impose rules and scopes around which configuration elements are required, allowed, not allowed etc. diff --git a/docs/content/integrations/clair-datasource.md b/docs/website/content/integrations/clair-datasource.md similarity index 97% rename from docs/content/integrations/clair-datasource.md rename to docs/website/content/integrations/clair-datasource.md index 6f9bcff763..2510512299 100644 --- a/docs/content/integrations/clair-datasource.md +++ b/docs/website/content/integrations/clair-datasource.md @@ -23,7 +23,6 @@ docs_features: This example project in [OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/image_enforcer) uses OPA to enforce admission policy in Kubernetes. -layout: integration-single --- Admission control policies in Kubernetes can be augmented with vulnerability scanning results to make more informed decisions. diff --git a/docs/content/integrations/clojure.md b/docs/website/content/integrations/clojure.md similarity index 91% rename from docs/content/integrations/clojure.md rename to docs/website/content/integrations/clojure.md index ba24b68193..110ecc3bf0 100644 --- a/docs/content/integrations/clojure.md +++ b/docs/website/content/integrations/clojure.md @@ -9,6 +9,5 @@ code: - https://github.com/anderseknert/clj-opa inventors: - styra -layout: integration-single --- Authorization middleware for Ring based apps and other utilities for working with OPA in Clojure. diff --git a/docs/content/integrations/cloudflare-worker.md b/docs/website/content/integrations/cloudflare-worker.md similarity index 96% rename from docs/content/integrations/cloudflare-worker.md rename to docs/website/content/integrations/cloudflare-worker.md index b8051b5ca4..40deb933e6 100644 --- a/docs/content/integrations/cloudflare-worker.md +++ b/docs/website/content/integrations/cloudflare-worker.md @@ -17,7 +17,6 @@ docs_features: uses the [NodeJS OPA Wasm Module](https://github.com/open-policy-agent/npm-opa-wasm) to enforce policy at the edge of Cloudflare's network. -layout: integration-single --- Cloudflare Workers are a serverless platform that supports Wasm. This integration uses OPA's Wasm compiler to generate code enforced at the edge of Cloudflare's network. diff --git a/docs/content/integrations/conftest.md b/docs/website/content/integrations/conftest.md similarity index 98% rename from docs/content/integrations/conftest.md rename to docs/website/content/integrations/conftest.md index 70eb4b264b..0aa648bd4d 100644 --- a/docs/content/integrations/conftest.md +++ b/docs/website/content/integrations/conftest.md @@ -47,6 +47,5 @@ docs_features: Conftest has generic support for Terraform source files defined in HCL. There is an example provided here on [GitHub](https://github.com/open-policy-agent/conftest/tree/master/examples/hcl2). -layout: integration-single --- Conftest is a utility built on top of OPA to help you write tests against structured configuration data. diff --git a/docs/content/integrations/coredns-authz.md b/docs/website/content/integrations/coredns-authz.md similarity index 91% rename from docs/content/integrations/coredns-authz.md rename to docs/website/content/integrations/coredns-authz.md index 7b73960034..2b3d1bef6e 100644 --- a/docs/content/integrations/coredns-authz.md +++ b/docs/website/content/integrations/coredns-authz.md @@ -9,6 +9,5 @@ code: - https://github.com/coredns/policy inventors: - infoblox -layout: integration-single --- CoreDNS is a cloud-native DNS server written in Go. OPA can be used as a plugin to filter queries and responses. diff --git a/docs/content/integrations/cosign.md b/docs/website/content/integrations/cosign.md similarity index 97% rename from docs/content/integrations/cosign.md rename to docs/website/content/integrations/cosign.md index 3d1a1badac..92a71bba74 100644 --- a/docs/content/integrations/cosign.md +++ b/docs/website/content/integrations/cosign.md @@ -18,7 +18,6 @@ docs_features: Cosign In-Toto attestations can be [written in Rego](https://docs.sigstore.dev/cosign/attestation/#cosign-custom-predicate-type-and-rego-policy), these are evaluated in the Cosign binary using the Go API. -layout: integration-single --- Cosign is a tool for container image signing and verifying maintained under the Project Sigstore in collaboration with the Linux Foundation. Among other features, Cosign supports KMS signing, diff --git a/docs/content/integrations/custom-library-microservice-authorization.md b/docs/website/content/integrations/custom-library-microservice-authorization.md similarity index 96% rename from docs/content/integrations/custom-library-microservice-authorization.md rename to docs/website/content/integrations/custom-library-microservice-authorization.md index b55b0c03c5..30693eca8b 100644 --- a/docs/content/integrations/custom-library-microservice-authorization.md +++ b/docs/website/content/integrations/custom-library-microservice-authorization.md @@ -12,7 +12,6 @@ videos: organization: styra venue: Kubecon Austin 2017 link: https://www.youtube.com/watch?v=R6tUNpRpdnY -layout: integration-single allow_missing_image: true --- Microservice authorization can be enforced through a network proxy like Envoy/Istio/Linkerd/... or can be enforced by modifying the microservice code to use a common library. In both cases OPA makes the authorization decision that the network proxy or the library enforce. diff --git a/docs/content/integrations/dapr.md b/docs/website/content/integrations/dapr.md similarity index 96% rename from docs/content/integrations/dapr.md rename to docs/website/content/integrations/dapr.md index b2a7f6835d..cceefe0f8c 100644 --- a/docs/content/integrations/dapr.md +++ b/docs/website/content/integrations/dapr.md @@ -17,6 +17,5 @@ docs_features: API. [This tutorial](https://docs.dapr.io/reference/components-reference/supported-middleware/middleware-opa/) explains how to configure it. -layout: integration-single --- Middleware to apply Open Policy Agent policies on incoming requests diff --git a/docs/content/integrations/dart-authorization.md b/docs/website/content/integrations/dart-authorization.md similarity index 94% rename from docs/content/integrations/dart-authorization.md rename to docs/website/content/integrations/dart-authorization.md index ed9e8e56b1..d66a68eb1b 100644 --- a/docs/content/integrations/dart-authorization.md +++ b/docs/website/content/integrations/dart-authorization.md @@ -11,6 +11,5 @@ code: - https://github.com/adaptant-labs/opa-api-authz-dart inventors: - adaptant -layout: integration-single --- This integration demonstrates how to leverage OPA to perform basic HTTP API authorization in a simple Dart microservice. OPA makes it possible to provide fine-grained context-aware authorization for each REST endpoint and access method. diff --git a/docs/content/integrations/docker-machine.md b/docs/website/content/integrations/docker-machine.md similarity index 94% rename from docs/content/integrations/docker-machine.md rename to docs/website/content/integrations/docker-machine.md index 61c3ed8a34..57e05ad369 100644 --- a/docs/content/integrations/docker-machine.md +++ b/docs/website/content/integrations/docker-machine.md @@ -11,6 +11,5 @@ tutorials: - https://www.openpolicyagent.org/docs/latest/docker-authorization/ inventors: - styra -layout: integration-single --- Docker's out of the box authorization model is all or nothing. This integration demonstrates how to use OPA's context-aware policies to exert fine-grained control over Docker. diff --git a/docs/content/integrations/easegress.md b/docs/website/content/integrations/easegress.md similarity index 91% rename from docs/content/integrations/easegress.md rename to docs/website/content/integrations/easegress.md index caf9aef300..ccf226226c 100644 --- a/docs/content/integrations/easegress.md +++ b/docs/website/content/integrations/easegress.md @@ -7,7 +7,6 @@ code: - https://github.com/megaease/easegress inventors: - megaease -layout: integration-single --- Easegress is a Cloud Native API orchestration system. OPA can be configured as a filter(plugin) to implement authorization policies for the APIs. diff --git a/docs/content/integrations/elasticsearch-datafiltering.md b/docs/website/content/integrations/elasticsearch-datafiltering.md similarity index 95% rename from docs/content/integrations/elasticsearch-datafiltering.md rename to docs/website/content/integrations/elasticsearch-datafiltering.md index 18d7b9b399..4c32eb10be 100644 --- a/docs/content/integrations/elasticsearch-datafiltering.md +++ b/docs/website/content/integrations/elasticsearch-datafiltering.md @@ -11,6 +11,5 @@ tutorials: - https://github.com/open-policy-agent/contrib/blob/master/data_filter_elasticsearch/README.md inventors: - styra -layout: integration-single --- Elasticsearch is a distributed, open source search and analytics engine. This OPA integration lets an elasticsearch client construct queries so that the data returned by elasticsearch obeys OPA-defined policies. diff --git a/docs/content/integrations/emissary-ingress.md b/docs/website/content/integrations/emissary-ingress.md similarity index 94% rename from docs/content/integrations/emissary-ingress.md rename to docs/website/content/integrations/emissary-ingress.md index d997de0bd9..2662aca36b 100644 --- a/docs/content/integrations/emissary-ingress.md +++ b/docs/website/content/integrations/emissary-ingress.md @@ -7,7 +7,6 @@ software: - emissary-ingress blogs: - https://www.infracloud.io/blogs/emissary-ingress-opa-integration/ -layout: integration-single --- Emissary-Ingress is an open-source Kubernetes-native API Gateway, Layer 7 load balancer and Kubernetes Ingress built on Envoy Proxy. OPA can be integrated with Emissary as an external authorization service to enforce authorization policies over APIs. diff --git a/docs/content/integrations/enterprise-opa.md b/docs/website/content/integrations/enterprise-opa.md similarity index 99% rename from docs/content/integrations/enterprise-opa.md rename to docs/website/content/integrations/enterprise-opa.md index e071a3de53..6455650c04 100644 --- a/docs/content/integrations/enterprise-opa.md +++ b/docs/website/content/integrations/enterprise-opa.md @@ -74,6 +74,5 @@ docs_features: It's possible to send decision logs to a enterprise tools like Splunk, and Kafka. This enhanced decision logging functionality is [documented here](https://docs.styra.com/enterprise-opa/tutorials/decision-logs/). -layout: integration-single --- An enterprise-grade drop-in replacement for the Open Policy Agent with improved performance and out of the box enterprise integrations diff --git a/docs/content/integrations/envoy-authorization.md b/docs/website/content/integrations/envoy-authorization.md similarity index 98% rename from docs/content/integrations/envoy-authorization.md rename to docs/website/content/integrations/envoy-authorization.md index 8f88594bf1..eef359b723 100644 --- a/docs/content/integrations/envoy-authorization.md +++ b/docs/website/content/integrations/envoy-authorization.md @@ -54,6 +54,5 @@ docs_features: Read about this integration in the [OPA Docs](https://www.openpolicyagent.org/docs/latest/envoy-introduction/). -layout: integration-single --- Envoy is a networking abstraction for cloud-native applications. OPA hooks into Envoy’s external authorization filter to provide fine-grained, context-aware authorization for network or HTTP requests. diff --git a/docs/content/integrations/fairwinds-insights.md b/docs/website/content/integrations/fairwinds-insights.md similarity index 98% rename from docs/content/integrations/fairwinds-insights.md rename to docs/website/content/integrations/fairwinds-insights.md index 2ea4b89c17..087817bd0d 100644 --- a/docs/content/integrations/fairwinds-insights.md +++ b/docs/website/content/integrations/fairwinds-insights.md @@ -30,7 +30,6 @@ docs_features: Implements auditing and admission checking of Kubernetes resources using Rego policy using [Polaris](https://github.com/FairwindsOps/Polaris). -layout: integration-single allow_missing_image: true --- Automate, monitor and enforce OPA policies with visibility across multiple clusters and multiple teams. It ensures the same policies are applied across all your clusters and gives some flexibility if you want certain policies to apply to only certain workloads. Run the same policies in CI/CD, Admission Control, and In-cluster scanning to apply policy consistently throughout the development and deployment process. diff --git a/docs/content/integrations/fiber.md b/docs/website/content/integrations/fiber.md similarity index 94% rename from docs/content/integrations/fiber.md rename to docs/website/content/integrations/fiber.md index 508f0a32df..32901c3173 100644 --- a/docs/content/integrations/fiber.md +++ b/docs/website/content/integrations/fiber.md @@ -8,7 +8,6 @@ software: - fiber code: - https://github.com/gofiber/contrib/tree/main/opafiber -layout: integration-single --- Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind. diff --git a/docs/content/integrations/fig.md b/docs/website/content/integrations/fig.md similarity index 91% rename from docs/content/integrations/fig.md rename to docs/website/content/integrations/fig.md index d0c1be12b6..b2e00d77bc 100644 --- a/docs/content/integrations/fig.md +++ b/docs/website/content/integrations/fig.md @@ -8,6 +8,5 @@ code: - https://github.com/withfig/autocomplete/blob/master/src/opa.ts inventors: - fig -layout: integration-single --- Beautiful shell autocompletion for OPA and many other commands, for Mac OS diff --git a/docs/content/integrations/flask-opa.md b/docs/website/content/integrations/flask-opa.md similarity index 93% rename from docs/content/integrations/flask-opa.md rename to docs/website/content/integrations/flask-opa.md index 8672baaf20..fc1ab0b6b5 100644 --- a/docs/content/integrations/flask-opa.md +++ b/docs/website/content/integrations/flask-opa.md @@ -9,6 +9,5 @@ code: - https://github.com/EliuX/flask-opa blogs: - https://github.com/EliuX/flask-opa/tree/master/examples -layout: integration-single --- Simple to use Flask extension that lets you secure your projects with OPA. It allows HTTP API Authorization and Policy Enforcement Point (AOP using decorators on methods). diff --git a/docs/content/integrations/gatekeeper.md b/docs/website/content/integrations/gatekeeper.md similarity index 97% rename from docs/content/integrations/gatekeeper.md rename to docs/website/content/integrations/gatekeeper.md index 5f4d3728d9..aa98e0f064 100644 --- a/docs/content/integrations/gatekeeper.md +++ b/docs/website/content/integrations/gatekeeper.md @@ -25,7 +25,6 @@ docs_features: [Kubernetes Admission](https://open-policy-agent.github.io/gatekeeper/website/docs/customize-admission/) and also uses Custom Resources and the Kubernetes API server to store policy state. -layout: integration-single allow_missing_image: true --- Manage Rego Kubernetes admission policies using Custom Resources. diff --git a/docs/content/integrations/gcp-forseti.md b/docs/website/content/integrations/gcp-forseti.md similarity index 95% rename from docs/content/integrations/gcp-forseti.md rename to docs/website/content/integrations/gcp-forseti.md index 2204ef8b91..d7c81014b0 100644 --- a/docs/content/integrations/gcp-forseti.md +++ b/docs/website/content/integrations/gcp-forseti.md @@ -15,7 +15,6 @@ videos: organization: google venue: Cloud Next 2019 link: https://www.youtube.com/watch?v=3vfXQxWJazM&feature=youtu.be&t=2054 -layout: integration-single --- Google cloud provides a plethora of software as a service. Forseti, built using OPA, lets you run policy checks against the software resources on Google cloud and remediate violations. diff --git a/docs/content/integrations/gloo-api-gateway.md b/docs/website/content/integrations/gloo-api-gateway.md similarity index 93% rename from docs/content/integrations/gloo-api-gateway.md rename to docs/website/content/integrations/gloo-api-gateway.md index 6d8674613c..8e0c177558 100644 --- a/docs/content/integrations/gloo-api-gateway.md +++ b/docs/website/content/integrations/gloo-api-gateway.md @@ -6,7 +6,6 @@ labels: blogs: - https://medium.com/solo-io/5-min-with-gloo-api-gateway-configuration-with-open-policy-agent-53da276a6534 - https://docs.solo.io/gloo/latest/security/auth/opa/ -layout: integration-single --- Gloo is an open-source Kubernetes-native ingress controller, and next-generation API gateway. OPA can be used to implement authorization policies for those APIs. diff --git a/docs/content/integrations/gluu-gateway-authz.md b/docs/website/content/integrations/gluu-gateway-authz.md similarity index 92% rename from docs/content/integrations/gluu-gateway-authz.md rename to docs/website/content/integrations/gluu-gateway-authz.md index 998ac25b3c..269773884a 100644 --- a/docs/content/integrations/gluu-gateway-authz.md +++ b/docs/website/content/integrations/gluu-gateway-authz.md @@ -8,6 +8,5 @@ software: - kong code: - https://github.com/GluuFederation/gluu-gateway -layout: integration-single --- Gluu Gateway provides API authentication and authorization for websites built on Kong. Gluu provides an OPA plugin to handle API authorization. diff --git a/docs/content/integrations/google-calendar.md b/docs/website/content/integrations/google-calendar.md similarity index 92% rename from docs/content/integrations/google-calendar.md rename to docs/website/content/integrations/google-calendar.md index a984994367..78cb7feb18 100644 --- a/docs/content/integrations/google-calendar.md +++ b/docs/website/content/integrations/google-calendar.md @@ -11,6 +11,5 @@ code: - https://github.com/anderseknert/opa-google-calendar blogs: - https://blog.styra.com/blog/the-power-of-data-calendar-based-policy-enforcement -layout: integration-single --- Using the Google Calendar API with OPA for calendar powered policy decisions diff --git a/docs/content/integrations/google-kubernetes-engine.md b/docs/website/content/integrations/google-kubernetes-engine.md similarity index 96% rename from docs/content/integrations/google-kubernetes-engine.md rename to docs/website/content/integrations/google-kubernetes-engine.md index a6532b9d19..832bf13c0e 100644 --- a/docs/content/integrations/google-kubernetes-engine.md +++ b/docs/website/content/integrations/google-kubernetes-engine.md @@ -18,6 +18,5 @@ docs_features: The GKE Policy Automation project provides a set of policies for validating Kubernetes clusters running on GKE. Review the [policy library here](https://github.com/google/gke-policy-automation/tree/main/gke-policies-v2) -layout: integration-single --- Tool and policy library for reviewing Google Kubernetes Engine clusters against best practices diff --git a/docs/content/integrations/gradle-plugin.md b/docs/website/content/integrations/gradle-plugin.md similarity index 92% rename from docs/content/integrations/gradle-plugin.md rename to docs/website/content/integrations/gradle-plugin.md index bd430b4eff..47f1d8a9f3 100644 --- a/docs/content/integrations/gradle-plugin.md +++ b/docs/website/content/integrations/gradle-plugin.md @@ -14,6 +14,5 @@ code: - https://plugins.gradle.org/plugin/com.bisnode.opa inventors: - bisnode -layout: integration-single --- Build plugin adding various tasks to support using OPA as part of Gradle builds diff --git a/docs/content/integrations/graphene-graphql.md b/docs/website/content/integrations/graphene-graphql.md similarity index 93% rename from docs/content/integrations/graphene-graphql.md rename to docs/website/content/integrations/graphene-graphql.md index 8f15743edb..e001517f3c 100644 --- a/docs/content/integrations/graphene-graphql.md +++ b/docs/website/content/integrations/graphene-graphql.md @@ -7,7 +7,6 @@ software: - graphene-graphql code: - https://github.com/dolevf/graphql-open-policy-agent -layout: integration-single --- This integration demonstrates using Open Policy Agent to perform field-level Authorization with GraphQL for a custom Python application backed by Graphene. diff --git a/docs/content/integrations/graphql.md b/docs/website/content/integrations/graphql.md similarity index 92% rename from docs/content/integrations/graphql.md rename to docs/website/content/integrations/graphql.md index 3a56fdb501..f5c18d2d0f 100644 --- a/docs/content/integrations/graphql.md +++ b/docs/website/content/integrations/graphql.md @@ -9,7 +9,6 @@ code: - https://github.com/StyraInc/graphql-apollo-example tutorials: - https://www.openpolicyagent.org/docs/graphql-api-authorization/ -layout: integration-single --- GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. diff --git a/docs/content/integrations/i2scim.md b/docs/website/content/integrations/i2scim.md similarity index 97% rename from docs/content/integrations/i2scim.md rename to docs/website/content/integrations/i2scim.md index 050449adde..70f785bd67 100644 --- a/docs/content/integrations/i2scim.md +++ b/docs/website/content/integrations/i2scim.md @@ -17,7 +17,6 @@ docs_features: note: | i2scim supports externalized access control decisions using OPA's REST API. The integration is described in the [i2scim documentation](https://i2scim.io/OPA_AccessControl.html). -layout: integration-single --- i2scim.io is an open source, Apache 2 Licensed, implementation of SCIM (System for Cross-domain Identity Management RFC7643/7644) for use cloud-native kubernetes platforms. i2scim supports externalized access control decisions through OPA. SCIM is a RESTful HTTP API that can be diff --git a/docs/content/integrations/iptables.md b/docs/website/content/integrations/iptables.md similarity index 94% rename from docs/content/integrations/iptables.md rename to docs/website/content/integrations/iptables.md index 534442d824..fea2c7dfb3 100644 --- a/docs/content/integrations/iptables.md +++ b/docs/website/content/integrations/iptables.md @@ -13,6 +13,5 @@ inventors: - gsoc - cisco - styra -layout: integration-single --- IPTables is a useful tool available to Linux kernel for filtering network packets. OPA makes it possible to manage IPTables rules using context-aware policy. diff --git a/docs/content/integrations/istio-authorization-mixer.md b/docs/website/content/integrations/istio-authorization-mixer.md similarity index 95% rename from docs/content/integrations/istio-authorization-mixer.md rename to docs/website/content/integrations/istio-authorization-mixer.md index 5eb695d1fc..85ea8e9057 100644 --- a/docs/content/integrations/istio-authorization-mixer.md +++ b/docs/website/content/integrations/istio-authorization-mixer.md @@ -11,6 +11,5 @@ code: - https://github.com/istio/istio/tree/master/mixer/adapter/opa inventors: - google -layout: integration-single --- Istio is a networking abstraction for cloud-native applications. In this Istio integration OPA hooks into the centralized Mixer component of Istio, to provide fine-grained, context-aware authorization for network or HTTP requests. diff --git a/docs/content/integrations/java.md b/docs/website/content/integrations/java.md similarity index 89% rename from docs/content/integrations/java.md rename to docs/website/content/integrations/java.md index 7193e80276..d7a5d2094c 100644 --- a/docs/content/integrations/java.md +++ b/docs/website/content/integrations/java.md @@ -9,6 +9,5 @@ code: - https://github.com/Bisnode/opa-java-client inventors: - bisnode -layout: integration-single --- Integrations for interacting with OPA from Java diff --git a/docs/content/integrations/jenkins-job-authorization.md b/docs/website/content/integrations/jenkins-job-authorization.md similarity index 95% rename from docs/content/integrations/jenkins-job-authorization.md rename to docs/website/content/integrations/jenkins-job-authorization.md index 943cfb30b0..234279014d 100644 --- a/docs/content/integrations/jenkins-job-authorization.md +++ b/docs/website/content/integrations/jenkins-job-authorization.md @@ -15,6 +15,5 @@ videos: organization: pinterest venue: OPA Summit at Kubecon San Diego 2019 link: https://www.youtube.com/watch?v=LhgxFICWsA8 -layout: integration-single --- Jenkins automates software development processes. OPA lets you control which people and which machines can run which Jenkins jobs. diff --git a/docs/content/integrations/kafka-authorization.md b/docs/website/content/integrations/kafka-authorization.md similarity index 98% rename from docs/content/integrations/kafka-authorization.md rename to docs/website/content/integrations/kafka-authorization.md index 8dfbc89dc3..b1d951c31f 100644 --- a/docs/content/integrations/kafka-authorization.md +++ b/docs/website/content/integrations/kafka-authorization.md @@ -34,6 +34,5 @@ docs_features: Installation and configuration instructions are available in the project's [README](https://github.com/StyraInc/opa-kafka-plugin#installation). -layout: integration-single --- Apache Kafka is a high-performance distributed streaming platform deployed by thousands of companies. OPA provides fine-grained, context-aware access control of which users can read/write which Kafka topics to enforce important requirements around confidentiality and integrity. diff --git a/docs/content/integrations/kong-authorization.md b/docs/website/content/integrations/kong-authorization.md similarity index 93% rename from docs/content/integrations/kong-authorization.md rename to docs/website/content/integrations/kong-authorization.md index 91f8dde887..5aee1ba064 100644 --- a/docs/content/integrations/kong-authorization.md +++ b/docs/website/content/integrations/kong-authorization.md @@ -11,6 +11,5 @@ code: inventors: - travelnest - wada-ama -layout: integration-single --- Kong is a microservice API Gateway. OPA provides fine-grained, context-aware control over the requests that Kong receives. diff --git a/docs/content/integrations/kubernetes-authorization.md b/docs/website/content/integrations/kubernetes-authorization.md similarity index 97% rename from docs/content/integrations/kubernetes-authorization.md rename to docs/website/content/integrations/kubernetes-authorization.md index 92ce72bf2c..97c10d8375 100644 --- a/docs/content/integrations/kubernetes-authorization.md +++ b/docs/website/content/integrations/kubernetes-authorization.md @@ -20,7 +20,6 @@ docs_features: View [an example project](https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization) showing how it's possible to integrate OPA with Kubernetes User Authorization. -layout: integration-single --- Kubernetes Authorization is a pluggable mechanism that lets administrators control which users can run which APIs and is often handled by builtin RBAC. OPA's policy language is more flexible than the RBAC, for example, diff --git a/docs/content/integrations/kubernetes-provisioning.md b/docs/website/content/integrations/kubernetes-provisioning.md similarity index 96% rename from docs/content/integrations/kubernetes-provisioning.md rename to docs/website/content/integrations/kubernetes-provisioning.md index 918f9412d2..18c4bd6b5b 100644 --- a/docs/content/integrations/kubernetes-provisioning.md +++ b/docs/website/content/integrations/kubernetes-provisioning.md @@ -16,6 +16,5 @@ videos: organization: styra venue: Kubecon San Diego 2019 link: https://www.youtube.com/watch?v=lYHr_UaHsYQ&list=PLj6h78yzYM2NDs-iu8WU5fMxINxHXlien&index=140&t=0s -layout: integration-single --- Kubernetes automates deployment, scaling, and management of containerized applications. OPA decides which resources need to be created on k8s in response to a namespace being created. diff --git a/docs/content/integrations/kubernetes-validating-admission.md b/docs/website/content/integrations/kubernetes-validating-admission.md similarity index 99% rename from docs/content/integrations/kubernetes-validating-admission.md rename to docs/website/content/integrations/kubernetes-validating-admission.md index ca6518c089..51e5a72443 100644 --- a/docs/content/integrations/kubernetes-validating-admission.md +++ b/docs/website/content/integrations/kubernetes-validating-admission.md @@ -93,6 +93,5 @@ docs_features: note: | View a selection of projects and talks about integrating OPA with Kubernetes. -layout: integration-single --- Kubernetes automates deployment, scaling, and management of containerized applications. OPA provides fine-grained, context-aware authorization for which application component configuration. diff --git a/docs/content/integrations/kubescape.md b/docs/website/content/integrations/kubescape.md similarity index 96% rename from docs/content/integrations/kubescape.md rename to docs/website/content/integrations/kubescape.md index bea6f1f56a..8031327533 100644 --- a/docs/content/integrations/kubescape.md +++ b/docs/website/content/integrations/kubescape.md @@ -18,7 +18,6 @@ docs_features: note: | Kubescape uses the Go Repo API to test Kubernetes objects against a range of posture controls. -layout: integration-single --- This integration uses OPA for defining security controls over Kubernetes clusters. Kubescape is a simple extensible tool finding security problems in your environment. OPA enables Kubescape to implement and extend very fast to answer new problems. diff --git a/docs/content/integrations/kubeshield.md b/docs/website/content/integrations/kubeshield.md similarity index 95% rename from docs/content/integrations/kubeshield.md rename to docs/website/content/integrations/kubeshield.md index 413bbbf199..2a107668be 100644 --- a/docs/content/integrations/kubeshield.md +++ b/docs/website/content/integrations/kubeshield.md @@ -19,6 +19,5 @@ docs_features: cluster using eBPF. Follow the [tutorial here](https://github.com/kubeshield/bpf-opa-demo#usage) to get up and running. -layout: integration-single --- Ensure runtime security in any linux machine by combining Extended Berkeley Packet Filter(eBPF) and Open Policy Agent. diff --git a/docs/content/integrations/linux-pam.md b/docs/website/content/integrations/linux-pam.md similarity index 94% rename from docs/content/integrations/linux-pam.md rename to docs/website/content/integrations/linux-pam.md index 70557e2841..a97be8e4c7 100644 --- a/docs/content/integrations/linux-pam.md +++ b/docs/website/content/integrations/linux-pam.md @@ -10,6 +10,5 @@ code: - https://github.com/open-policy-agent/contrib/tree/master/pam_opa inventors: - styra -layout: integration-single --- Host-level access controls are an important part of every organization's security strategy. OPA provides fine-grained, context-aware controls for SSH and sudo using Linux-PAM. diff --git a/docs/content/integrations/magda.md b/docs/website/content/integrations/magda.md similarity index 96% rename from docs/content/integrations/magda.md rename to docs/website/content/integrations/magda.md index 6c27a53750..df8e8693e7 100644 --- a/docs/content/integrations/magda.md +++ b/docs/website/content/integrations/magda.md @@ -10,7 +10,6 @@ code: - https://github.com/magda-io/magda blogs: - https://github.com/magda-io/magda/blob/master/docs/docs/architecture/Guide%20to%20Magda%20Internals.md#authorization-authz -layout: integration-single --- Magda is a federated, Kubernetes-based, open-source data catalog system. Working as Magda's central authorisation policy engine, OPA helps not only the API endpoint authorisation. diff --git a/docs/content/integrations/minio.md b/docs/website/content/integrations/minio.md similarity index 95% rename from docs/content/integrations/minio.md rename to docs/website/content/integrations/minio.md index 8de11c698a..fc2512f72f 100644 --- a/docs/content/integrations/minio.md +++ b/docs/website/content/integrations/minio.md @@ -14,6 +14,5 @@ docs_features: Minio implements a native integration with OPA using the REST API. The [integration is documented](https://github.com/minio/minio/blob/master/docs/iam/opa.md) in the Minio docs. -layout: integration-single --- Minio is an open source, on-premise object database compatible with the Amazon S3 API. This integration lets OPA enforce policies on Minio's API. diff --git a/docs/content/integrations/nginx.md b/docs/website/content/integrations/nginx.md similarity index 85% rename from docs/content/integrations/nginx.md rename to docs/website/content/integrations/nginx.md index f0095262c5..154ec9de76 100644 --- a/docs/content/integrations/nginx.md +++ b/docs/website/content/integrations/nginx.md @@ -7,6 +7,5 @@ software: - nginx code: - https://github.com/summerwind/opa-nginx-rbac -layout: integration-single --- OPA Authorization for Nginx diff --git a/docs/content/integrations/nodejs-express.md b/docs/website/content/integrations/nodejs-express.md similarity index 96% rename from docs/content/integrations/nodejs-express.md rename to docs/website/content/integrations/nodejs-express.md index 30084cacb6..09662fdb14 100644 --- a/docs/content/integrations/nodejs-express.md +++ b/docs/website/content/integrations/nodejs-express.md @@ -16,7 +16,6 @@ docs_features: policy decisions. See the project's [README](https://github.com/build-security/opa-express-middleware#simple-usage) for a js simple example. -layout: integration-single --- Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. OPA can be used to implement authorization policies for APIs used in the express framework. diff --git a/docs/content/integrations/oauth2.md b/docs/website/content/integrations/oauth2.md similarity index 91% rename from docs/content/integrations/oauth2.md rename to docs/website/content/integrations/oauth2.md index e3b8e350a6..f849b8443d 100644 --- a/docs/content/integrations/oauth2.md +++ b/docs/website/content/integrations/oauth2.md @@ -8,6 +8,5 @@ tutorials: - https://www.openpolicyagent.org/docs/latest/oauth-oidc/ blogs: - https://blog.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent -layout: integration-single --- Integrating OAuth2 with Open Policy Agent diff --git a/docs/content/integrations/oidc.md b/docs/website/content/integrations/oidc.md similarity index 92% rename from docs/content/integrations/oidc.md rename to docs/website/content/integrations/oidc.md index 4973026158..c9611e3526 100644 --- a/docs/content/integrations/oidc.md +++ b/docs/website/content/integrations/oidc.md @@ -9,6 +9,5 @@ tutorials: - https://www.openpolicyagent.org/docs/latest/oauth-oidc/ blogs: - https://blog.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent -layout: integration-single --- Integrating OpenID Connect (OIDC) with Open Policy Agent diff --git a/docs/content/integrations/opa-playground.md b/docs/website/content/integrations/opa-playground.md similarity index 97% rename from docs/content/integrations/opa-playground.md rename to docs/website/content/integrations/opa-playground.md index 4e5dadf853..e97febf7b0 100644 --- a/docs/content/integrations/opa-playground.md +++ b/docs/website/content/integrations/opa-playground.md @@ -24,6 +24,5 @@ docs_features: your first policies. You can also share links if you're asking for help in the community Slack. Get started with a simple [RBAC example](https://play.openpolicyagent.org/p/Bb9FqBvauC). -layout: integration-single --- Interactive online Rego playground for writing and sharing policies diff --git a/docs/content/integrations/opa-wasm-dotnet.md b/docs/website/content/integrations/opa-wasm-dotnet.md similarity index 94% rename from docs/content/integrations/opa-wasm-dotnet.md rename to docs/website/content/integrations/opa-wasm-dotnet.md index 1f1c9681b7..a4080fdd6d 100644 --- a/docs/content/integrations/opa-wasm-dotnet.md +++ b/docs/website/content/integrations/opa-wasm-dotnet.md @@ -17,7 +17,6 @@ docs_features: note: 'This project implements the OPA Wasm module interface in C#. ' -layout: integration-single --- Call Rego policies in Wasm from C# .NET Core diff --git a/docs/content/integrations/opa-wasm-java.md b/docs/website/content/integrations/opa-wasm-java.md similarity index 94% rename from docs/content/integrations/opa-wasm-java.md rename to docs/website/content/integrations/opa-wasm-java.md index fc168a7530..0e39b8fafd 100644 --- a/docs/content/integrations/opa-wasm-java.md +++ b/docs/website/content/integrations/opa-wasm-java.md @@ -16,7 +16,6 @@ docs_features: note: 'This project implements the OPA Wasm module interface in Java. ' -layout: integration-single --- SDK to illustrate how to use Wasm compiled Rego policies from a Java application diff --git a/docs/content/integrations/opa-wasm-js.md b/docs/website/content/integrations/opa-wasm-js.md similarity index 96% rename from docs/content/integrations/opa-wasm-js.md rename to docs/website/content/integrations/opa-wasm-js.md index 1fae51fb8e..15a52c7bf7 100644 --- a/docs/content/integrations/opa-wasm-js.md +++ b/docs/website/content/integrations/opa-wasm-js.md @@ -23,7 +23,6 @@ docs_features: note: 'This project implements the OPA Wasm module interface in JavaScript. ' -layout: integration-single --- A small SDK for using WebAssembly (Wasm) compiled Rego policies diff --git a/docs/content/integrations/opa-wasm-rust.md b/docs/website/content/integrations/opa-wasm-rust.md similarity index 94% rename from docs/content/integrations/opa-wasm-rust.md rename to docs/website/content/integrations/opa-wasm-rust.md index d11d89507c..de1b70559e 100644 --- a/docs/content/integrations/opa-wasm-rust.md +++ b/docs/website/content/integrations/opa-wasm-rust.md @@ -17,7 +17,6 @@ docs_features: note: 'This project implements the OPA Wasm module interface in Rust. ' -layout: integration-single --- A crate to use OPA policies compiled to WASM. diff --git a/docs/content/integrations/opal.md b/docs/website/content/integrations/opal.md similarity index 98% rename from docs/content/integrations/opal.md rename to docs/website/content/integrations/opal.md index bd9787a623..a5be6f22ec 100644 --- a/docs/content/integrations/opal.md +++ b/docs/website/content/integrations/opal.md @@ -31,7 +31,6 @@ docs_features: See [how this works](https://docs.opal.ac/getting-started/quickstart/opal-playground/publishing-data-update) in the OPAL docs. -layout: integration-single --- OPAL is an administration layer for Open Policy Agent (OPA), detecting changes in realtime to both policy and policy data and pushing live updates to your agents. OPAL brings open-policy up to the speed needed by live applications. As your application state changes (whether it's via your APIs, DBs, git, S3 or 3rd-party SaaS services), OPAL will make sure your services are always in sync with the authorization data and policy they need (and only those they need). diff --git a/docs/content/integrations/open-policy-registry.md b/docs/website/content/integrations/open-policy-registry.md similarity index 98% rename from docs/content/integrations/open-policy-registry.md rename to docs/website/content/integrations/open-policy-registry.md index 05a0138b45..3dc85afcc4 100644 --- a/docs/content/integrations/open-policy-registry.md +++ b/docs/website/content/integrations/open-policy-registry.md @@ -36,7 +36,6 @@ docs_features: distribute data to OPA from an OCI registry, OPCR can build and push such images. See the docs for [building images here](https://openpolicycontainers.com/docs/cli/build). -layout: integration-single --- The Open Policy Registry project provides a docker-style workflow for OPA policies. The policy CLI can be used to build, tag, sign, push, and pull OPA policies as OCIv2 container images, diff --git a/docs/content/integrations/open-service-mesh.md b/docs/website/content/integrations/open-service-mesh.md similarity index 94% rename from docs/content/integrations/open-service-mesh.md rename to docs/website/content/integrations/open-service-mesh.md index 8cc8ece727..af9c33707c 100644 --- a/docs/content/integrations/open-service-mesh.md +++ b/docs/website/content/integrations/open-service-mesh.md @@ -12,6 +12,5 @@ docs_features: note: | External Authorization supports OPA and is documented [here](https://release-v1-2.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/) -layout: integration-single --- Open Service Mesh is a lightweight and extensible cloud native service mesh. diff --git a/docs/content/integrations/openfaas-function-authorization.md b/docs/website/content/integrations/openfaas-function-authorization.md similarity index 94% rename from docs/content/integrations/openfaas-function-authorization.md rename to docs/website/content/integrations/openfaas-function-authorization.md index 8da410ed4d..3beb2e3ceb 100644 --- a/docs/content/integrations/openfaas-function-authorization.md +++ b/docs/website/content/integrations/openfaas-function-authorization.md @@ -11,6 +11,5 @@ tutorials: - https://github.com/adaptant-labs/openfaas-function-auth-opa/blob/master/README.md inventors: - adaptant -layout: integration-single --- OpenFaaS is a serverless function framework that runs on Docker Swarm and Kubernetes. OPA makes it possible to provide fine-grained context-aware authorization on a per-function basis. diff --git a/docs/content/integrations/optoggles.md b/docs/website/content/integrations/optoggles.md similarity index 95% rename from docs/content/integrations/optoggles.md rename to docs/website/content/integrations/optoggles.md index 6a51813ac6..a9c56c2ceb 100644 --- a/docs/content/integrations/optoggles.md +++ b/docs/website/content/integrations/optoggles.md @@ -9,7 +9,6 @@ code: - https://github.com/permitio/OPToggles tutorials: - https://optoggles.opal.ac/tutorials/demo -layout: integration-single --- OPToggles uses OPA and OPAL to sync open-policy to your frontend with the help of feature flag solutions. OPToggles creates user-targeted feature flags based on the policy rules you defined in OPA and keeps the users updated in real-time with OPAL's real-time policy and policy-data change detection. diff --git a/docs/content/integrations/permit.md b/docs/website/content/integrations/permit.md similarity index 95% rename from docs/content/integrations/permit.md rename to docs/website/content/integrations/permit.md index d004a26b7c..a49c50f440 100644 --- a/docs/content/integrations/permit.md +++ b/docs/website/content/integrations/permit.md @@ -15,7 +15,6 @@ blogs: - https://www.permit.io/blog/introduction-to-opa - https://www.permit.io/blog/implement-abac-using-opa - https://www.permit.io/blog/implement-rbac-using-opa -layout: integration-single --- Permit.io empowers developers to bake in permissions and access-control into any product in minutes and takes away the pain of constantly rebuilding them. Permit is based on OPA. diff --git a/docs/content/integrations/php-authorization.md b/docs/website/content/integrations/php-authorization.md similarity index 96% rename from docs/content/integrations/php-authorization.md rename to docs/website/content/integrations/php-authorization.md index 6004021f43..18aa117239 100644 --- a/docs/content/integrations/php-authorization.md +++ b/docs/website/content/integrations/php-authorization.md @@ -20,6 +20,5 @@ docs_features: update policies and query for decisions. See the [project README](https://github.com/segrax/openpolicyagent) for various examples. -layout: integration-single --- These integrations demonstrate using OPA to perform API authorization in PSR-15 and Symfony compliant frameworks. diff --git a/docs/content/integrations/pomerium-authz.md b/docs/website/content/integrations/pomerium-authz.md similarity index 92% rename from docs/content/integrations/pomerium-authz.md rename to docs/website/content/integrations/pomerium-authz.md index c45c7a4515..ce4292f286 100644 --- a/docs/content/integrations/pomerium-authz.md +++ b/docs/website/content/integrations/pomerium-authz.md @@ -9,6 +9,5 @@ blogs: - https://www.pomerium.io/posts/2020/04/16/release-0-7/ code: - https://github.com/pomerium/pomerium -layout: integration-single --- Pomerium is an identity-aware proxy that enables secure access to internal applications. OPA implements authorization under the hood. diff --git a/docs/content/integrations/pre-commit-hooks.md b/docs/website/content/integrations/pre-commit-hooks.md similarity index 91% rename from docs/content/integrations/pre-commit-hooks.md rename to docs/website/content/integrations/pre-commit-hooks.md index 354e941c3a..1c2dd4926a 100644 --- a/docs/content/integrations/pre-commit-hooks.md +++ b/docs/website/content/integrations/pre-commit-hooks.md @@ -12,6 +12,5 @@ blogs: - https://www.eknert.com/tech/2020/08/31/pre-commit-hooks-for-opa inventors: - independent -layout: integration-single --- Pre-commit git hooks for OPA and Rego development diff --git a/docs/content/integrations/pulumi.md b/docs/website/content/integrations/pulumi.md similarity index 97% rename from docs/content/integrations/pulumi.md rename to docs/website/content/integrations/pulumi.md index f97c1379ba..f3aaa7f64e 100644 --- a/docs/content/integrations/pulumi.md +++ b/docs/website/content/integrations/pulumi.md @@ -26,6 +26,5 @@ docs_features: note: | The Pulumi OPA bridge uses the Rego API to evaluate policies in a policy pack. View the [docs and code](https://github.com/pulumi/pulumi-policy-opa). -layout: integration-single --- Build infrastructure as code in familiar languages. CrossGuard is Pulumi's policy as code offering, providing OPA as one of the options to use for defining policy. diff --git a/docs/content/integrations/regal.md b/docs/website/content/integrations/regal.md similarity index 98% rename from docs/content/integrations/regal.md rename to docs/website/content/integrations/regal.md index a9d8c56a43..8ca245a86a 100644 --- a/docs/content/integrations/regal.md +++ b/docs/website/content/integrations/regal.md @@ -33,7 +33,6 @@ docs_features: code is correct and free of common errors. See [the README](https://github.com/StyraInc/regal#try-it-out) to get started. -layout: integration-single --- Regal is a linter for Rego, with the goal of making your Rego magnificent! diff --git a/docs/content/integrations/rekor.md b/docs/website/content/integrations/rekor.md similarity index 94% rename from docs/content/integrations/rekor.md rename to docs/website/content/integrations/rekor.md index fbdb63f064..9193cb29d5 100644 --- a/docs/content/integrations/rekor.md +++ b/docs/website/content/integrations/rekor.md @@ -11,7 +11,6 @@ code: - https://github.com/nsmith5/rekor-sidekick videos: - https://www.youtube.com/watch?v=lHSLPIo1pz8 -layout: integration-single --- Rekor Sidekick monitors a Rekor signature transparency log and forwards events of interest where ever you like. Alert policies written in Rego determine if an event is of interest. diff --git a/docs/content/integrations/reposaur.md b/docs/website/content/integrations/reposaur.md similarity index 92% rename from docs/content/integrations/reposaur.md rename to docs/website/content/integrations/reposaur.md index 4418fd72eb..5381737a9c 100644 --- a/docs/content/integrations/reposaur.md +++ b/docs/website/content/integrations/reposaur.md @@ -11,6 +11,5 @@ code: - https://github.com/reposaur/reposaur inventors: - reposaur -layout: integration-single --- Audit, verify and report on development platforms (GitHub and others) easily with pre-defined and/or custom policies. diff --git a/docs/content/integrations/rond.md b/docs/website/content/integrations/rond.md similarity index 97% rename from docs/content/integrations/rond.md rename to docs/website/content/integrations/rond.md index a0fb09dbdb..8729f5e50c 100644 --- a/docs/content/integrations/rond.md +++ b/docs/website/content/integrations/rond.md @@ -28,7 +28,6 @@ docs_features: authorization decisions. See the [OPA evaluator](https://github.com/rond-authz/rond/blob/4c27fa6a127f68b8670a39c792b0e40dac52dafa/core/opaevaluator.go#L173) code. -layout: integration-single --- Rönd is a lightweight container that distributes security policy enforcement throughout your application. diff --git a/docs/content/integrations/sansshell.md b/docs/website/content/integrations/sansshell.md similarity index 92% rename from docs/content/integrations/sansshell.md rename to docs/website/content/integrations/sansshell.md index bed270de41..306423cec5 100644 --- a/docs/content/integrations/sansshell.md +++ b/docs/website/content/integrations/sansshell.md @@ -12,7 +12,6 @@ blogs: - https://www.snowflake.com/blog/sansshell-local-host-agent/ inventors: - snowflake -layout: integration-single allow_missing_image: true --- A non-interactive daemon for host management diff --git a/docs/content/integrations/scalr-iacp.md b/docs/website/content/integrations/scalr-iacp.md similarity index 97% rename from docs/content/integrations/scalr-iacp.md rename to docs/website/content/integrations/scalr-iacp.md index ce03dea352..67175d66eb 100644 --- a/docs/content/integrations/scalr-iacp.md +++ b/docs/website/content/integrations/scalr-iacp.md @@ -27,6 +27,5 @@ docs_features: Terraform plan JSON. See [the example](https://github.com/Scalr/sample-tf-opa-policies#policy-evaluation) in the README. -layout: integration-single --- Scalr allows teams to easily collaborate on Terraform through its pipeline that runs all Terraform operations, policy checks, and stores state. Scalr uses OPA to check the auto-generated Terraform JSON plan to ensure that it meets your organization standards prior to an apply. diff --git a/docs/content/integrations/spacelift.md b/docs/website/content/integrations/spacelift.md similarity index 98% rename from docs/content/integrations/spacelift.md rename to docs/website/content/integrations/spacelift.md index 08c2c64ce9..e9fb53dabc 100644 --- a/docs/content/integrations/spacelift.md +++ b/docs/website/content/integrations/spacelift.md @@ -38,6 +38,5 @@ docs_features: resource types, including Kubernetes. View the [policy documentation](https://docs.spacelift.io/concepts/policy/) for more information. -layout: integration-single --- Spacelift is a sophisticated CI/CD platform for Infrastructure as Code including Terraform, Pulumi, CloudFormation, Kubernetes, and Ansible. Spacelift utilizes Open Policy Agent to support a variety of policy types within the platform and Policy as Code for secure and compliance Infrastructure as Code. diff --git a/docs/content/integrations/sphinx-rego.md b/docs/website/content/integrations/sphinx-rego.md similarity index 91% rename from docs/content/integrations/sphinx-rego.md rename to docs/website/content/integrations/sphinx-rego.md index 025a5a4349..4888b8d97e 100644 --- a/docs/content/integrations/sphinx-rego.md +++ b/docs/website/content/integrations/sphinx-rego.md @@ -9,6 +9,5 @@ inventors: labels: category: tooling layer: cicd -layout: integration-single --- Sphinx extension that automatically documents Open Policy Agent Rego policies using meta properties. diff --git a/docs/content/integrations/spinnaker-pipeline.md b/docs/website/content/integrations/spinnaker-pipeline.md similarity index 94% rename from docs/content/integrations/spinnaker-pipeline.md rename to docs/website/content/integrations/spinnaker-pipeline.md index b89d73bf5c..a9ffb38a18 100644 --- a/docs/content/integrations/spinnaker-pipeline.md +++ b/docs/website/content/integrations/spinnaker-pipeline.md @@ -10,6 +10,5 @@ tutorials: - https://docs.armory.io/spinnaker/policy_engine/ inventors: - armory -layout: integration-single --- Spinnaker is a Continuous Delivery and Deployment tool started by Netflix. OPA lets you configure policies that dictate what kinds of Spinnaker pipelines developers can create. diff --git a/docs/content/integrations/spire.md b/docs/website/content/integrations/spire.md similarity index 97% rename from docs/content/integrations/spire.md rename to docs/website/content/integrations/spire.md index 7fbae463d6..f3b8863c3e 100644 --- a/docs/content/integrations/spire.md +++ b/docs/website/content/integrations/spire.md @@ -24,6 +24,5 @@ docs_features: SPIRE can work in tandem with the Envoy proxy to integrate with the OPA REST API. See the [tutorial here](https://spiffe.io/docs/latest/microservices/envoy-jwt-opa/readme/). -layout: integration-single --- SPIRE is a production-ready implementation of the SPIFFE APIs that performs node and workload attestation in order to securely issue SPIFFE Verifiable Identity Documents (SVIDs) to workloads, and verify the SVIDs of other workloads, based on a predefined set of conditions. diff --git a/docs/content/integrations/springsecurity-api.md b/docs/website/content/integrations/springsecurity-api.md similarity index 97% rename from docs/content/integrations/springsecurity-api.md rename to docs/website/content/integrations/springsecurity-api.md index 1a54b00efe..d79c1aee86 100644 --- a/docs/content/integrations/springsecurity-api.md +++ b/docs/website/content/integrations/springsecurity-api.md @@ -26,6 +26,5 @@ docs_features: OPA Spring Security uses the REST API to query OPA about authz decisions. See an example application in OPA's [contrib repo](https://github.com/open-policy-agent/contrib/tree/main/spring_authz). -layout: integration-single --- Spring Security provides a framework for securing Java applications. These integrations provide simple implementations for Spring Security that use OPA for making API authorization decisions. They provide support for both traditional Spring Security (MVC), as well as an implementation for Spring Reactive (Web Flux). diff --git a/docs/content/integrations/sql-datafiltering.md b/docs/website/content/integrations/sql-datafiltering.md similarity index 94% rename from docs/content/integrations/sql-datafiltering.md rename to docs/website/content/integrations/sql-datafiltering.md index 07efd838c1..ebf1ebdf2a 100644 --- a/docs/content/integrations/sql-datafiltering.md +++ b/docs/website/content/integrations/sql-datafiltering.md @@ -11,6 +11,5 @@ blogs: - https://blog.openpolicyagent.org/write-policy-in-opa-enforce-policy-in-sql-d9d24db93bf4 inventors: - styra -layout: integration-single --- This integration enables the client of a SQL database to enhance a SQL query so that the results obey an OPA-defined policy. diff --git a/docs/content/integrations/strimzi.md b/docs/website/content/integrations/strimzi.md similarity index 97% rename from docs/content/integrations/strimzi.md rename to docs/website/content/integrations/strimzi.md index 41cf35aa85..57baf93ee0 100644 --- a/docs/content/integrations/strimzi.md +++ b/docs/website/content/integrations/strimzi.md @@ -20,6 +20,5 @@ docs_features: note: | Strimzi can be configured to use OPA via the REST API as the Kafka authorizer using [this project](https://github.com/scholzj/demo-opa-kafka-authorization). -layout: integration-single --- Strimzi provides a way to run an Apache Kafka cluster on Kubernetes in various deployment configurations. Strimzi ships with the OPA authorizer plugin right out of the box, and supports OPA as an option for Kafka authorization. diff --git a/docs/content/integrations/styra-academy.md b/docs/website/content/integrations/styra-academy.md similarity index 96% rename from docs/content/integrations/styra-academy.md rename to docs/website/content/integrations/styra-academy.md index 63ad44645a..6df3b09fa4 100644 --- a/docs/content/integrations/styra-academy.md +++ b/docs/website/content/integrations/styra-academy.md @@ -20,7 +20,6 @@ docs_features: note: | ['OPA Policy Authoring'](https://academy.styra.com/courses/opa-rego) is a free course that teaches the fundamentals of writing Rego policies. -layout: integration-single --- Styra Academy is a free, self-paced learning portal for OPA and Styra Products. It includes a series of courses on a range of topics from beginner to advanced. diff --git a/docs/content/integrations/styra-das.md b/docs/website/content/integrations/styra-das.md similarity index 99% rename from docs/content/integrations/styra-das.md rename to docs/website/content/integrations/styra-das.md index 64fe21b51e..7a7ea6c588 100644 --- a/docs/content/integrations/styra-das.md +++ b/docs/website/content/integrations/styra-das.md @@ -100,6 +100,5 @@ docs_features: object storage, and Kafka is also supported. View [the documentation](https://docs.styra.com/das/observability-and-audit/decision-logs/overview) here. -layout: integration-single --- Styra DAS provides a single pane of glass for authorization and policy across the cloud-native ecosystem of software systems. Beyond a simple control plane, Styra DAS pushes OPA’s potential, providing powerful impact analysis, policy authoring, and decision logging. diff --git a/docs/content/integrations/sysdig-image-scanner.md b/docs/website/content/integrations/sysdig-image-scanner.md similarity index 96% rename from docs/content/integrations/sysdig-image-scanner.md rename to docs/website/content/integrations/sysdig-image-scanner.md index 10e320babf..fad9fdfd10 100644 --- a/docs/content/integrations/sysdig-image-scanner.md +++ b/docs/website/content/integrations/sysdig-image-scanner.md @@ -17,6 +17,5 @@ docs_feature: using Rego to make pod admission decisions. See the [README](https://github.com/sysdiglabs/opa-image-scanner#overview) for more details. -layout: integration-single --- Sysdig’s OPA Image Scanner combines Sysdig Secure image scanner with OPA policy-based rego language to evaluate the scan results and the admission context, providing great flexibility on the admission decision. diff --git a/docs/content/integrations/terraform-cloud.md b/docs/website/content/integrations/terraform-cloud.md similarity index 97% rename from docs/content/integrations/terraform-cloud.md rename to docs/website/content/integrations/terraform-cloud.md index 90e271a90c..b91025b661 100644 --- a/docs/content/integrations/terraform-cloud.md +++ b/docs/website/content/integrations/terraform-cloud.md @@ -29,7 +29,6 @@ docs_features: 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). -layout: integration-single --- Policies are rules that Terraform Cloud enforces on runs. You use the Rego policy language to write policies for the diff --git a/docs/content/integrations/terraform.md b/docs/website/content/integrations/terraform.md similarity index 97% rename from docs/content/integrations/terraform.md rename to docs/website/content/integrations/terraform.md index 653a169ef6..d78a4ed8b9 100644 --- a/docs/content/integrations/terraform.md +++ b/docs/website/content/integrations/terraform.md @@ -29,6 +29,5 @@ inventors: - styra - docker - snyk -layout: integration-single --- Terraform lets you describe the infrastructure you want and automatically creates, deletes, and modifies your existing infrastructure to match. OPA makes it possible to write policies that test the changes Terraform is about to make before it makes them. diff --git a/docs/content/integrations/topaz.md b/docs/website/content/integrations/topaz.md similarity index 97% rename from docs/content/integrations/topaz.md rename to docs/website/content/integrations/topaz.md index 906b7c1985..8187c505c1 100644 --- a/docs/content/integrations/topaz.md +++ b/docs/website/content/integrations/topaz.md @@ -20,7 +20,6 @@ docs_features: note: | Topaz's Authorizer component makes use of the Rego API to evaluate policies to make authorization decisions for connected applications. -layout: integration-single --- Topaz is an open source authorization service providing fine grained, real-time, policy based access control for applications and APIs. Topaz uses OPA as its decision engine, and includes an embedded database that stores subjects, relations, and objects, inspired by the Google Zanzibar data model. diff --git a/docs/content/integrations/torque.md b/docs/website/content/integrations/torque.md similarity index 97% rename from docs/content/integrations/torque.md rename to docs/website/content/integrations/torque.md index 82461d7557..f5844018e6 100644 --- a/docs/content/integrations/torque.md +++ b/docs/website/content/integrations/torque.md @@ -31,6 +31,5 @@ docs_features: note: | Torque supports Terraform policy enforcement and defines some [sample policies here](https://github.com/QualiTorque/opa). -layout: integration-single --- Torque by Quali is a cloud-based platform that provides infrastructure automation and orchestration solutions for digital transformation and DevOps initiatives. Troque utilizes Open Policy Agent (OPA) to enforce policy-as-code, enabling users to define and automate their own security, compliance, and governance policies across their infrastructure. diff --git a/docs/content/integrations/traefik-api-gateway.md b/docs/website/content/integrations/traefik-api-gateway.md similarity index 94% rename from docs/content/integrations/traefik-api-gateway.md rename to docs/website/content/integrations/traefik-api-gateway.md index 5732b53f17..006a61f535 100644 --- a/docs/content/integrations/traefik-api-gateway.md +++ b/docs/website/content/integrations/traefik-api-gateway.md @@ -7,7 +7,6 @@ blogs: - https://medium.com/etermax-technology/api-authorization-with-kubernetes-traefik-and-open-policy-agent-23647fc384a1 code: - https://github.com/edgeflare/traefik-opa-proxy -layout: integration-single --- The Traefik API Gateway is open-source software that controls API traffic into your application. OPA can be configured as a plugin to implement authorization policies for those APIs. diff --git a/docs/content/integrations/waltid.md b/docs/website/content/integrations/waltid.md similarity index 97% rename from docs/content/integrations/waltid.md rename to docs/website/content/integrations/waltid.md index 1503caa569..e9c20b934a 100644 --- a/docs/content/integrations/waltid.md +++ b/docs/website/content/integrations/waltid.md @@ -29,7 +29,6 @@ docs_features: SSI Kit's CLI exposes policy management commands which update a local OPA instance. The feature is [documented in the walt.id docs](https://docs.walt.id/v/ssikit/concepts/open-policy-agent). -layout: integration-single --- Verifying W3C Verifiable Credentials for building SSI (Self-Sovereign Identity) use cases. diff --git a/docs/content/integrations/wirelesssecuritylab.md b/docs/website/content/integrations/wirelesssecuritylab.md similarity index 95% rename from docs/content/integrations/wirelesssecuritylab.md rename to docs/website/content/integrations/wirelesssecuritylab.md index 41a8acdc47..3f4e93e9ac 100644 --- a/docs/content/integrations/wirelesssecuritylab.md +++ b/docs/website/content/integrations/wirelesssecuritylab.md @@ -12,7 +12,6 @@ inventors: docs_features: kubernetes: note: 'Implements the CIS benchmark using Rego for Kubernetes workloads.' -layout: integration-single allow_missing_image: true --- CCBR is a policy management system project. It uses the policy language diff --git a/docs/content/organizations/accurics.md b/docs/website/content/organizations/accurics.md similarity index 66% rename from docs/content/organizations/accurics.md rename to docs/website/content/organizations/accurics.md index 6a47209c15..b27d9b11b0 100644 --- a/docs/content/organizations/accurics.md +++ b/docs/website/content/organizations/accurics.md @@ -1,5 +1,4 @@ --- link: https://www.accurics.com/ title: Accurics -layout: organization-single --- diff --git a/docs/content/organizations/adaptant.md b/docs/website/content/organizations/adaptant.md similarity index 66% rename from docs/content/organizations/adaptant.md rename to docs/website/content/organizations/adaptant.md index 527d8b24ea..452a98d2b7 100644 --- a/docs/content/organizations/adaptant.md +++ b/docs/website/content/organizations/adaptant.md @@ -1,5 +1,4 @@ --- link: https://www.adaptant.io/ title: Adaptant -layout: organization-single --- diff --git a/docs/content/organizations/alertavert.md b/docs/website/content/organizations/alertavert.md similarity index 69% rename from docs/content/organizations/alertavert.md rename to docs/website/content/organizations/alertavert.md index 6e68a7ebb0..55f1963728 100644 --- a/docs/content/organizations/alertavert.md +++ b/docs/website/content/organizations/alertavert.md @@ -1,5 +1,4 @@ --- link: https://www.alertavert.com/ title: AlertAVert.com -layout: organization-single --- diff --git a/docs/content/organizations/alluxio.md b/docs/website/content/organizations/alluxio.md similarity index 65% rename from docs/content/organizations/alluxio.md rename to docs/website/content/organizations/alluxio.md index e10324a6ba..066ec0de0e 100644 --- a/docs/content/organizations/alluxio.md +++ b/docs/website/content/organizations/alluxio.md @@ -1,5 +1,4 @@ --- link: https://www.alluxio.io title: Alluxio -layout: organization-single --- diff --git a/docs/content/organizations/armo.md b/docs/website/content/organizations/armo.md similarity index 61% rename from docs/content/organizations/armo.md rename to docs/website/content/organizations/armo.md index 597ec46c20..db7760a9f7 100644 --- a/docs/content/organizations/armo.md +++ b/docs/website/content/organizations/armo.md @@ -1,5 +1,4 @@ --- link: https://armosec.io title: ARMO -layout: organization-single --- diff --git a/docs/content/organizations/armory.md b/docs/website/content/organizations/armory.md similarity index 64% rename from docs/content/organizations/armory.md rename to docs/website/content/organizations/armory.md index 5157c8a8d4..9e58d81a34 100644 --- a/docs/content/organizations/armory.md +++ b/docs/website/content/organizations/armory.md @@ -1,5 +1,4 @@ --- link: https://www.armory.io/ title: Armory -layout: organization-single --- diff --git a/docs/content/organizations/aserto.md b/docs/website/content/organizations/aserto.md similarity index 64% rename from docs/content/organizations/aserto.md rename to docs/website/content/organizations/aserto.md index 2a60c0a395..5d1e7415c9 100644 --- a/docs/content/organizations/aserto.md +++ b/docs/website/content/organizations/aserto.md @@ -1,5 +1,4 @@ --- link: https://www.aserto.com title: Aserto -layout: organization-single --- diff --git a/docs/content/organizations/atlassian.md b/docs/website/content/organizations/atlassian.md similarity index 67% rename from docs/content/organizations/atlassian.md rename to docs/website/content/organizations/atlassian.md index 5e0eb05fd3..25650e0f65 100644 --- a/docs/content/organizations/atlassian.md +++ b/docs/website/content/organizations/atlassian.md @@ -1,5 +1,4 @@ --- link: https://www.atlassian.com/ title: Atlassian -layout: organization-single --- diff --git a/docs/content/organizations/bisnode.md b/docs/website/content/organizations/bisnode.md similarity index 65% rename from docs/content/organizations/bisnode.md rename to docs/website/content/organizations/bisnode.md index 16ec057e0f..d5f1093eaf 100644 --- a/docs/content/organizations/bisnode.md +++ b/docs/website/content/organizations/bisnode.md @@ -1,5 +1,4 @@ --- link: https://www.bisnode.com title: Bisnode -layout: organization-single --- diff --git a/docs/content/organizations/blockchainlabum.md b/docs/website/content/organizations/blockchainlabum.md similarity index 70% rename from docs/content/organizations/blockchainlabum.md rename to docs/website/content/organizations/blockchainlabum.md index f316ba612d..b2157d4731 100644 --- a/docs/content/organizations/blockchainlabum.md +++ b/docs/website/content/organizations/blockchainlabum.md @@ -1,5 +1,4 @@ --- link: https://blockchain-lab.um.si title: Blockchain Lab:UM -layout: organization-single --- diff --git a/docs/content/organizations/boomerang.md b/docs/website/content/organizations/boomerang.md similarity index 68% rename from docs/content/organizations/boomerang.md rename to docs/website/content/organizations/boomerang.md index 43f593dbec..7b7f6a09fc 100644 --- a/docs/content/organizations/boomerang.md +++ b/docs/website/content/organizations/boomerang.md @@ -1,5 +1,4 @@ --- link: https://www.useboomerang.io/ title: Boomerang -layout: organization-single --- diff --git a/docs/content/organizations/build.security.md b/docs/website/content/organizations/build.security.md similarity index 82% rename from docs/content/organizations/build.security.md rename to docs/website/content/organizations/build.security.md index 5fade701ae..d5b56bbc6a 100644 --- a/docs/content/organizations/build.security.md +++ b/docs/website/content/organizations/build.security.md @@ -1,5 +1,4 @@ --- link: https://www.elastic.co/blog/elastic-and-build-security-shifting-left-together-to-secure-the-cloud title: build.security -layout: organization-single --- diff --git a/docs/content/organizations/buoyant.md b/docs/website/content/organizations/buoyant.md similarity index 63% rename from docs/content/organizations/buoyant.md rename to docs/website/content/organizations/buoyant.md index 0bf87b93f1..a8c9e03279 100644 --- a/docs/content/organizations/buoyant.md +++ b/docs/website/content/organizations/buoyant.md @@ -1,5 +1,4 @@ --- link: https://buoyant.io/ title: Buoyant -layout: organization-single --- diff --git a/docs/content/organizations/capitalone.md b/docs/website/content/organizations/capitalone.md similarity index 68% rename from docs/content/organizations/capitalone.md rename to docs/website/content/organizations/capitalone.md index 11ba3b809c..81b62d3742 100644 --- a/docs/content/organizations/capitalone.md +++ b/docs/website/content/organizations/capitalone.md @@ -1,5 +1,4 @@ --- link: https://www.capitalone.com/ title: CapitalOne -layout: organization-single --- diff --git a/docs/content/organizations/carbonetes.md b/docs/website/content/organizations/carbonetes.md similarity index 68% rename from docs/content/organizations/carbonetes.md rename to docs/website/content/organizations/carbonetes.md index db06c8b3e6..57c7dacafb 100644 --- a/docs/content/organizations/carbonetes.md +++ b/docs/website/content/organizations/carbonetes.md @@ -1,5 +1,4 @@ --- link: https://www.carbonetes.com/ title: Carbonetes -layout: organization-single --- diff --git a/docs/content/organizations/checkmarx.md b/docs/website/content/organizations/checkmarx.md similarity index 67% rename from docs/content/organizations/checkmarx.md rename to docs/website/content/organizations/checkmarx.md index 4480eddfd3..7b2fc23a48 100644 --- a/docs/content/organizations/checkmarx.md +++ b/docs/website/content/organizations/checkmarx.md @@ -1,5 +1,4 @@ --- link: https://www.checkmarx.com title: Checkmarx -layout: organization-single --- diff --git a/docs/content/organizations/chef.md b/docs/website/content/organizations/chef.md similarity index 62% rename from docs/content/organizations/chef.md rename to docs/website/content/organizations/chef.md index f6354e9e31..8f5aad970c 100644 --- a/docs/content/organizations/chef.md +++ b/docs/website/content/organizations/chef.md @@ -1,5 +1,4 @@ --- link: https://www.chef.io/ title: Chef -layout: organization-single --- diff --git a/docs/content/organizations/christophwille.md b/docs/website/content/organizations/christophwille.md similarity index 71% rename from docs/content/organizations/christophwille.md rename to docs/website/content/organizations/christophwille.md index 164fd19026..123bd90203 100644 --- a/docs/content/organizations/christophwille.md +++ b/docs/website/content/organizations/christophwille.md @@ -1,5 +1,4 @@ --- link: https://github.com/christophwille title: Christoph Wille -layout: organization-single --- diff --git a/docs/content/organizations/circleci.md b/docs/website/content/organizations/circleci.md similarity index 64% rename from docs/content/organizations/circleci.md rename to docs/website/content/organizations/circleci.md index b3083cc69b..e8523b08ac 100644 --- a/docs/content/organizations/circleci.md +++ b/docs/website/content/organizations/circleci.md @@ -1,5 +1,4 @@ --- link: https://circleci.com title: CircleCI -layout: organization-single --- diff --git a/docs/content/organizations/cisco.md b/docs/website/content/organizations/cisco.md similarity index 64% rename from docs/content/organizations/cisco.md rename to docs/website/content/organizations/cisco.md index 7190a08709..6c13fa8ab6 100644 --- a/docs/content/organizations/cisco.md +++ b/docs/website/content/organizations/cisco.md @@ -1,5 +1,4 @@ --- link: https://www.cisco.com/ title: Cisco -layout: organization-single --- diff --git a/docs/content/organizations/cloudposse.md b/docs/website/content/organizations/cloudposse.md similarity index 66% rename from docs/content/organizations/cloudposse.md rename to docs/website/content/organizations/cloudposse.md index efa5662d78..1e27c0029c 100644 --- a/docs/content/organizations/cloudposse.md +++ b/docs/website/content/organizations/cloudposse.md @@ -1,5 +1,4 @@ --- link: https://cloudposse.com title: Cloud Posse -layout: organization-single --- diff --git a/docs/content/softwares/docker.md b/docs/website/content/organizations/docker.md similarity index 68% rename from docs/content/softwares/docker.md rename to docs/website/content/organizations/docker.md index 1409517df8..cf380914e4 100644 --- a/docs/content/softwares/docker.md +++ b/docs/website/content/organizations/docker.md @@ -1,5 +1,4 @@ --- link: https://www.docker.com/ title: Docker -layout: software-single --- diff --git a/docs/content/organizations/dolevf.md b/docs/website/content/organizations/dolevf.md similarity index 67% rename from docs/content/organizations/dolevf.md rename to docs/website/content/organizations/dolevf.md index ea427ff2db..3a13915cda 100644 --- a/docs/content/organizations/dolevf.md +++ b/docs/website/content/organizations/dolevf.md @@ -1,5 +1,4 @@ --- link: https://github.com/dolevf title: Dolev Farhi -layout: organization-single --- diff --git a/docs/content/organizations/fairwinds.md b/docs/website/content/organizations/fairwinds.md similarity index 65% rename from docs/content/organizations/fairwinds.md rename to docs/website/content/organizations/fairwinds.md index a1b59d6fee..f75d951359 100644 --- a/docs/content/organizations/fairwinds.md +++ b/docs/website/content/organizations/fairwinds.md @@ -1,5 +1,4 @@ --- link: https://fairwinds.com title: Fairwinds -layout: organization-single --- diff --git a/docs/content/organizations/fig.md b/docs/website/content/organizations/fig.md similarity index 58% rename from docs/content/organizations/fig.md rename to docs/website/content/organizations/fig.md index 1478fffa65..8f4aaffe00 100644 --- a/docs/content/organizations/fig.md +++ b/docs/website/content/organizations/fig.md @@ -1,5 +1,4 @@ --- link: https://fig.io title: fig -layout: organization-single --- diff --git a/docs/content/organizations/fugue.md b/docs/website/content/organizations/fugue.md similarity index 63% rename from docs/content/organizations/fugue.md rename to docs/website/content/organizations/fugue.md index 0aafb01c3f..b3c060b5df 100644 --- a/docs/content/organizations/fugue.md +++ b/docs/website/content/organizations/fugue.md @@ -1,5 +1,4 @@ --- link: https://www.fugue.co title: Fugue -layout: organization-single --- diff --git a/docs/content/organizations/goldmansachs.md b/docs/website/content/organizations/goldmansachs.md similarity index 69% rename from docs/content/organizations/goldmansachs.md rename to docs/website/content/organizations/goldmansachs.md index 37d34621ba..44eb5d9b56 100644 --- a/docs/content/organizations/goldmansachs.md +++ b/docs/website/content/organizations/goldmansachs.md @@ -1,5 +1,4 @@ --- link: https://www.goldmansachs.com/ title: Goldman Sachs -layout: organization-single --- diff --git a/docs/content/organizations/google.md b/docs/website/content/organizations/google.md similarity index 62% rename from docs/content/organizations/google.md rename to docs/website/content/organizations/google.md index 3a6a12d38f..d5d9f8e094 100644 --- a/docs/content/organizations/google.md +++ b/docs/website/content/organizations/google.md @@ -1,5 +1,4 @@ --- link: https://google.com title: Google -layout: organization-single --- diff --git a/docs/content/organizations/gsoc.md b/docs/website/content/organizations/gsoc.md similarity index 74% rename from docs/content/organizations/gsoc.md rename to docs/website/content/organizations/gsoc.md index 1f63193293..0706190e9b 100644 --- a/docs/content/organizations/gsoc.md +++ b/docs/website/content/organizations/gsoc.md @@ -1,5 +1,4 @@ --- link: https://summerofcode.withgoogle.com/ title: Google Summer of Code -layout: organization-single --- diff --git a/docs/content/organizations/hashicorp.md b/docs/website/content/organizations/hashicorp.md similarity index 67% rename from docs/content/organizations/hashicorp.md rename to docs/website/content/organizations/hashicorp.md index 22c57c5f29..696382f8ac 100644 --- a/docs/content/organizations/hashicorp.md +++ b/docs/website/content/organizations/hashicorp.md @@ -1,5 +1,4 @@ --- link: https://www.hashicorp.com/ title: HashiCorp -layout: organization-single --- diff --git a/docs/content/organizations/i2.md b/docs/website/content/organizations/i2.md similarity index 72% rename from docs/content/organizations/i2.md rename to docs/website/content/organizations/i2.md index 72a04fc358..5710edde8b 100644 --- a/docs/content/organizations/i2.md +++ b/docs/website/content/organizations/i2.md @@ -1,5 +1,4 @@ --- link: https://www.independentid.com title: Independent Identity -layout: organization-single --- diff --git a/docs/content/organizations/ibm.md b/docs/website/content/organizations/ibm.md similarity index 66% rename from docs/content/organizations/ibm.md rename to docs/website/content/organizations/ibm.md index 9eb92c5586..f6ba5395e9 100644 --- a/docs/content/organizations/ibm.md +++ b/docs/website/content/organizations/ibm.md @@ -1,5 +1,4 @@ --- link: https://developer.ibm.com/open title: IBM -layout: organization-single --- diff --git a/docs/content/organizations/independent.md b/docs/website/content/organizations/independent.md similarity index 72% rename from docs/content/organizations/independent.md rename to docs/website/content/organizations/independent.md index 28392ed25a..fb4b6a5b6c 100644 --- a/docs/content/organizations/independent.md +++ b/docs/website/content/organizations/independent.md @@ -1,5 +1,4 @@ --- link: https://www.openpolicyagent.org title: Independent developer -layout: organization-single --- diff --git a/docs/content/organizations/infoblox.md b/docs/website/content/organizations/infoblox.md similarity index 66% rename from docs/content/organizations/infoblox.md rename to docs/website/content/organizations/infoblox.md index 0b7c47cd4b..d66ebf7dd9 100644 --- a/docs/content/organizations/infoblox.md +++ b/docs/website/content/organizations/infoblox.md @@ -1,5 +1,4 @@ --- link: https://www.infoblox.com/ title: InfoBlox -layout: organization-single --- diff --git a/docs/content/organizations/matrix.md b/docs/website/content/organizations/matrix.md similarity index 64% rename from docs/content/organizations/matrix.md rename to docs/website/content/organizations/matrix.md index be94608e9d..f8711724f9 100644 --- a/docs/content/organizations/matrix.md +++ b/docs/website/content/organizations/matrix.md @@ -1,5 +1,4 @@ --- link: https://matrix.org title: matrix.org -layout: organization-single --- diff --git a/docs/content/organizations/medallia.md b/docs/website/content/organizations/medallia.md similarity index 66% rename from docs/content/organizations/medallia.md rename to docs/website/content/organizations/medallia.md index 7a04786831..6e4bc6ce60 100644 --- a/docs/content/organizations/medallia.md +++ b/docs/website/content/organizations/medallia.md @@ -1,5 +1,4 @@ --- link: https://www.medallia.com/ title: Medallia -layout: organization-single --- diff --git a/docs/content/organizations/megaease.md b/docs/website/content/organizations/megaease.md similarity index 66% rename from docs/content/organizations/megaease.md rename to docs/website/content/organizations/megaease.md index 4071c4b28d..4f7fa4d488 100644 --- a/docs/content/organizations/megaease.md +++ b/docs/website/content/organizations/megaease.md @@ -1,5 +1,4 @@ --- link: https://www.megaease.com/ title: MegaEase -layout: organization-single --- diff --git a/docs/content/organizations/mia-platform.md b/docs/website/content/organizations/mia-platform.md similarity index 67% rename from docs/content/organizations/mia-platform.md rename to docs/website/content/organizations/mia-platform.md index 269769a715..c54cdb3bc8 100644 --- a/docs/content/organizations/mia-platform.md +++ b/docs/website/content/organizations/mia-platform.md @@ -1,5 +1,4 @@ --- link: https://mia-platform.eu/ title: Mia-Platform -layout: organization-single --- diff --git a/docs/content/organizations/microsoft.md b/docs/website/content/organizations/microsoft.md similarity index 65% rename from docs/content/organizations/microsoft.md rename to docs/website/content/organizations/microsoft.md index 9a3cfcbd49..603f102a35 100644 --- a/docs/content/organizations/microsoft.md +++ b/docs/website/content/organizations/microsoft.md @@ -1,5 +1,4 @@ --- link: https://microsoft.com title: Microsoft -layout: organization-single --- diff --git a/docs/content/organizations/minio.md b/docs/website/content/organizations/minio.md similarity index 60% rename from docs/content/organizations/minio.md rename to docs/website/content/organizations/minio.md index 224871cd4f..25da89a39e 100644 --- a/docs/content/organizations/minio.md +++ b/docs/website/content/organizations/minio.md @@ -1,5 +1,4 @@ --- link: https://min.io/ title: Minio -layout: organization-single --- diff --git a/docs/content/organizations/netflix.md b/docs/website/content/organizations/netflix.md similarity index 65% rename from docs/content/organizations/netflix.md rename to docs/website/content/organizations/netflix.md index 4cc283e37a..14e139899e 100644 --- a/docs/content/organizations/netflix.md +++ b/docs/website/content/organizations/netflix.md @@ -1,5 +1,4 @@ --- link: https://www.netflix.com/ title: Netflix -layout: organization-single --- diff --git a/docs/content/organizations/netis.md b/docs/website/content/organizations/netis.md similarity index 62% rename from docs/content/organizations/netis.md rename to docs/website/content/organizations/netis.md index 77d01411a9..31f7326967 100644 --- a/docs/content/organizations/netis.md +++ b/docs/website/content/organizations/netis.md @@ -1,5 +1,4 @@ --- link: http://netis.si/en/ title: Netis -layout: organization-single --- diff --git a/docs/content/organizations/permitio.md b/docs/website/content/organizations/permitio.md similarity index 63% rename from docs/content/organizations/permitio.md rename to docs/website/content/organizations/permitio.md index ac4dc939b7..19f68153de 100644 --- a/docs/content/organizations/permitio.md +++ b/docs/website/content/organizations/permitio.md @@ -1,5 +1,4 @@ --- link: https://permit.io title: Permit.io -layout: organization-single --- diff --git a/docs/content/organizations/pinterest.md b/docs/website/content/organizations/pinterest.md similarity index 67% rename from docs/content/organizations/pinterest.md rename to docs/website/content/organizations/pinterest.md index aa3ddc870e..bbab49d28b 100644 --- a/docs/content/organizations/pinterest.md +++ b/docs/website/content/organizations/pinterest.md @@ -1,5 +1,4 @@ --- link: https://www.pinterest.com/ title: Pinterest -layout: organization-single --- diff --git a/docs/content/softwares/pulumi.md b/docs/website/content/organizations/pulumi.md similarity index 68% rename from docs/content/softwares/pulumi.md rename to docs/website/content/organizations/pulumi.md index a220d04a77..4ac248dd09 100644 --- a/docs/content/softwares/pulumi.md +++ b/docs/website/content/organizations/pulumi.md @@ -1,5 +1,4 @@ --- link: https://www.pulumi.com/ title: Pulumi -layout: software-single --- diff --git a/docs/content/organizations/quali.md b/docs/website/content/organizations/quali.md similarity index 64% rename from docs/content/organizations/quali.md rename to docs/website/content/organizations/quali.md index b9b8f837c9..449019b77a 100644 --- a/docs/content/organizations/quali.md +++ b/docs/website/content/organizations/quali.md @@ -1,5 +1,4 @@ --- link: https://www.quali.com/ title: Quali -layout: organization-single --- diff --git a/docs/content/organizations/redhat.md b/docs/website/content/organizations/redhat.md similarity index 64% rename from docs/content/organizations/redhat.md rename to docs/website/content/organizations/redhat.md index ecf5014094..9df970aa7b 100644 --- a/docs/content/organizations/redhat.md +++ b/docs/website/content/organizations/redhat.md @@ -1,5 +1,4 @@ --- link: https://www.redhat.com title: RedHat -layout: organization-single --- diff --git a/docs/content/organizations/reposaur.md b/docs/website/content/organizations/reposaur.md similarity index 65% rename from docs/content/organizations/reposaur.md rename to docs/website/content/organizations/reposaur.md index fa6f4fa68b..0ad3689d40 100644 --- a/docs/content/organizations/reposaur.md +++ b/docs/website/content/organizations/reposaur.md @@ -1,5 +1,4 @@ --- link: https://reposaur.com/ title: Reposaur -layout: organization-single --- diff --git a/docs/content/organizations/sangkeon.md b/docs/website/content/organizations/sangkeon.md similarity index 68% rename from docs/content/organizations/sangkeon.md rename to docs/website/content/organizations/sangkeon.md index e13ffacbab..99ba3aef3d 100644 --- a/docs/content/organizations/sangkeon.md +++ b/docs/website/content/organizations/sangkeon.md @@ -1,5 +1,4 @@ --- link: https://github.com/sangkeon title: Sangkeon Nam -layout: organization-single --- diff --git a/docs/content/organizations/scalr.md b/docs/website/content/organizations/scalr.md similarity index 64% rename from docs/content/organizations/scalr.md rename to docs/website/content/organizations/scalr.md index d5e060367d..ca4cb068bb 100644 --- a/docs/content/organizations/scalr.md +++ b/docs/website/content/organizations/scalr.md @@ -1,5 +1,4 @@ --- link: https://www.scalr.com/ title: Scalr -layout: organization-single --- diff --git a/docs/content/organizations/sigstore.md b/docs/website/content/organizations/sigstore.md similarity index 65% rename from docs/content/organizations/sigstore.md rename to docs/website/content/organizations/sigstore.md index a68a881924..11c922463e 100644 --- a/docs/content/organizations/sigstore.md +++ b/docs/website/content/organizations/sigstore.md @@ -1,5 +1,4 @@ --- link: https://sigstore.dev/ title: Sigstore -layout: organization-single --- diff --git a/docs/content/organizations/snowflake.md b/docs/website/content/organizations/snowflake.md similarity index 67% rename from docs/content/organizations/snowflake.md rename to docs/website/content/organizations/snowflake.md index b7ff4653e7..f76c16b504 100644 --- a/docs/content/organizations/snowflake.md +++ b/docs/website/content/organizations/snowflake.md @@ -1,5 +1,4 @@ --- link: https://www.snowflake.com/ title: Snowflake -layout: organization-single --- diff --git a/docs/content/organizations/snyk.md b/docs/website/content/organizations/snyk.md similarity index 60% rename from docs/content/organizations/snyk.md rename to docs/website/content/organizations/snyk.md index 4876deb8d3..d1f1f7c4b3 100644 --- a/docs/content/organizations/snyk.md +++ b/docs/website/content/organizations/snyk.md @@ -1,5 +1,4 @@ --- link: https://snyk.io/ title: Snyk -layout: organization-single --- diff --git a/docs/content/organizations/spacelift.md b/docs/website/content/organizations/spacelift.md similarity index 65% rename from docs/content/organizations/spacelift.md rename to docs/website/content/organizations/spacelift.md index 76689e05f9..a890f02eb6 100644 --- a/docs/content/organizations/spacelift.md +++ b/docs/website/content/organizations/spacelift.md @@ -1,5 +1,4 @@ --- link: https://spacelift.io title: Spacelift -layout: organization-single --- diff --git a/docs/content/organizations/styra.md b/docs/website/content/organizations/styra.md similarity index 61% rename from docs/content/organizations/styra.md rename to docs/website/content/organizations/styra.md index a0882b2ad1..a34d39bacb 100644 --- a/docs/content/organizations/styra.md +++ b/docs/website/content/organizations/styra.md @@ -1,5 +1,4 @@ --- link: https://styra.com title: Styra -layout: organization-single --- diff --git a/docs/content/organizations/sysdig.md b/docs/website/content/organizations/sysdig.md similarity index 63% rename from docs/content/organizations/sysdig.md rename to docs/website/content/organizations/sysdig.md index e54db026d3..c6c2438d8d 100644 --- a/docs/content/organizations/sysdig.md +++ b/docs/website/content/organizations/sysdig.md @@ -1,5 +1,4 @@ --- link: https://sysdig.com/ title: Sysdig -layout: organization-single --- diff --git a/docs/content/organizations/ticketmaster.md b/docs/website/content/organizations/ticketmaster.md similarity index 69% rename from docs/content/organizations/ticketmaster.md rename to docs/website/content/organizations/ticketmaster.md index f30202b537..a2a7811ad4 100644 --- a/docs/content/organizations/ticketmaster.md +++ b/docs/website/content/organizations/ticketmaster.md @@ -1,5 +1,4 @@ --- link: https://www.ticketmaster.com/ title: TicketMaster -layout: organization-single --- diff --git a/docs/content/organizations/travelnest.md b/docs/website/content/organizations/travelnest.md similarity index 66% rename from docs/content/organizations/travelnest.md rename to docs/website/content/organizations/travelnest.md index db05086657..38d05b4841 100644 --- a/docs/content/organizations/travelnest.md +++ b/docs/website/content/organizations/travelnest.md @@ -1,5 +1,4 @@ --- link: https://travelnest.com title: TravelNest -layout: organization-single --- diff --git a/docs/content/organizations/tripadvisor.md b/docs/website/content/organizations/tripadvisor.md similarity index 68% rename from docs/content/organizations/tripadvisor.md rename to docs/website/content/organizations/tripadvisor.md index 4aee9cfa50..d435c9769e 100644 --- a/docs/content/organizations/tripadvisor.md +++ b/docs/website/content/organizations/tripadvisor.md @@ -1,5 +1,4 @@ --- link: https://www.tripadvisor.com/ title: TripAdvisor -layout: organization-single --- diff --git a/docs/content/organizations/wada-ama.md b/docs/website/content/organizations/wada-ama.md similarity index 71% rename from docs/content/organizations/wada-ama.md rename to docs/website/content/organizations/wada-ama.md index 58484ae276..0a99b14fc6 100644 --- a/docs/content/organizations/wada-ama.md +++ b/docs/website/content/organizations/wada-ama.md @@ -1,5 +1,4 @@ --- link: https://www.wada-ama.org title: World Anti-Doping Agency -layout: organization-single --- diff --git a/docs/content/organizations/waltid.md b/docs/website/content/organizations/waltid.md similarity index 61% rename from docs/content/organizations/waltid.md rename to docs/website/content/organizations/waltid.md index cb8c4ff335..ef902ac622 100644 --- a/docs/content/organizations/waltid.md +++ b/docs/website/content/organizations/waltid.md @@ -1,5 +1,4 @@ --- link: https://walt.id title: walt.id -layout: organization-single --- diff --git a/docs/content/organizations/wirelesssecuritylab.md b/docs/website/content/organizations/wirelesssecuritylab.md similarity index 74% rename from docs/content/organizations/wirelesssecuritylab.md rename to docs/website/content/organizations/wirelesssecuritylab.md index 4090b08748..c586dbc601 100644 --- a/docs/content/organizations/wirelesssecuritylab.md +++ b/docs/website/content/organizations/wirelesssecuritylab.md @@ -1,5 +1,4 @@ --- link: https://github.com/wirelesssecuritylab/ title: WirelessSecurityLab -layout: organization-single --- diff --git a/docs/content/organizations/yelp.md b/docs/website/content/organizations/yelp.md similarity index 63% rename from docs/content/organizations/yelp.md rename to docs/website/content/organizations/yelp.md index 7315a5f3e5..f55ce8150f 100644 --- a/docs/content/organizations/yelp.md +++ b/docs/website/content/organizations/yelp.md @@ -1,5 +1,4 @@ --- link: https://www.yelp.com/ title: Yelp -layout: organization-single --- diff --git a/docs/content/organizations/zenity.md b/docs/website/content/organizations/zenity.md similarity index 64% rename from docs/content/organizations/zenity.md rename to docs/website/content/organizations/zenity.md index 609b65c258..0fae0ef7aa 100644 --- a/docs/content/organizations/zenity.md +++ b/docs/website/content/organizations/zenity.md @@ -1,5 +1,4 @@ --- link: https://www.zenity.io title: Zenity -layout: organization-single --- diff --git a/docs/content/softwares/alfred.md b/docs/website/content/softwares/alfred.md similarity index 76% rename from docs/content/softwares/alfred.md rename to docs/website/content/softwares/alfred.md index f9349a57d4..553558531d 100644 --- a/docs/content/softwares/alfred.md +++ b/docs/website/content/softwares/alfred.md @@ -1,5 +1,4 @@ --- link: https://github.com/dolevf/Open-Policy-Agent-Alfred title: alfred -layout: software-single --- diff --git a/docs/content/softwares/ansible.md b/docs/website/content/softwares/ansible.md similarity index 68% rename from docs/content/softwares/ansible.md rename to docs/website/content/softwares/ansible.md index f4c3bdb645..ebf85fcccf 100644 --- a/docs/content/softwares/ansible.md +++ b/docs/website/content/softwares/ansible.md @@ -1,5 +1,4 @@ --- link: https://www.ansible.com title: Ansible -layout: software-single --- diff --git a/docs/content/softwares/apache-apisix.md b/docs/website/content/softwares/apache-apisix.md similarity index 72% rename from docs/content/softwares/apache-apisix.md rename to docs/website/content/softwares/apache-apisix.md index e12d6e4909..0ac40e41af 100644 --- a/docs/content/softwares/apache-apisix.md +++ b/docs/website/content/softwares/apache-apisix.md @@ -1,5 +1,4 @@ --- link: https://apisix.apache.org/ title: Apache APISIX -layout: software-single --- diff --git a/docs/content/softwares/aws.md b/docs/website/content/softwares/aws.md similarity index 70% rename from docs/content/softwares/aws.md rename to docs/website/content/softwares/aws.md index 74c9b56d14..a0de6b9a12 100644 --- a/docs/content/softwares/aws.md +++ b/docs/website/content/softwares/aws.md @@ -1,5 +1,4 @@ --- link: https://aws.com title: Amazon Public Cloud -layout: software-single --- diff --git a/docs/content/softwares/azure.md b/docs/website/content/softwares/azure.md similarity index 75% rename from docs/content/softwares/azure.md rename to docs/website/content/softwares/azure.md index 2ad02f6a49..ba74a4fa00 100644 --- a/docs/content/softwares/azure.md +++ b/docs/website/content/softwares/azure.md @@ -1,5 +1,4 @@ --- link: https://azure.microsoft.com/ title: Microsoft Public Cloud -layout: software-single --- diff --git a/docs/content/softwares/bottle.md b/docs/website/content/softwares/bottle.md similarity index 67% rename from docs/content/softwares/bottle.md rename to docs/website/content/softwares/bottle.md index f7af6db170..85f4bf2a5a 100644 --- a/docs/content/softwares/bottle.md +++ b/docs/website/content/softwares/bottle.md @@ -1,5 +1,4 @@ --- link: https://bottlepy.org title: Bottle -layout: software-single --- diff --git a/docs/content/softwares/brainiac.md b/docs/website/content/softwares/brainiac.md similarity index 74% rename from docs/content/softwares/brainiac.md rename to docs/website/content/softwares/brainiac.md index e478b91f9f..19747ae434 100644 --- a/docs/content/softwares/brainiac.md +++ b/docs/website/content/softwares/brainiac.md @@ -1,5 +1,4 @@ --- link: https://github.com/carbonetes/brainiac title: BrainIAC -layout: software-single --- diff --git a/docs/content/softwares/ccbr.md b/docs/website/content/softwares/ccbr.md similarity index 74% rename from docs/content/softwares/ccbr.md rename to docs/website/content/softwares/ccbr.md index dfca22e793..38dfe2ad68 100644 --- a/docs/content/softwares/ccbr.md +++ b/docs/website/content/softwares/ccbr.md @@ -1,5 +1,4 @@ --- link: https://github.com/wirelesssecuritylab/ccbr title: ccbr -layout: software-single --- diff --git a/docs/content/softwares/ceph.md b/docs/website/content/softwares/ceph.md similarity index 64% rename from docs/content/softwares/ceph.md rename to docs/website/content/softwares/ceph.md index b29e920a35..cf74c52ed3 100644 --- a/docs/content/softwares/ceph.md +++ b/docs/website/content/softwares/ceph.md @@ -1,5 +1,4 @@ --- link: https://ceph.io/ title: Ceph -layout: software-single --- diff --git a/docs/content/softwares/clair.md b/docs/website/content/softwares/clair.md similarity index 71% rename from docs/content/softwares/clair.md rename to docs/website/content/softwares/clair.md index fedc93f3e9..cea2ae3039 100644 --- a/docs/content/softwares/clair.md +++ b/docs/website/content/softwares/clair.md @@ -1,5 +1,4 @@ --- link: https://github.com/coreos/clair title: Clair -layout: software-single --- diff --git a/docs/content/softwares/clojure.md b/docs/website/content/softwares/clojure.md similarity index 67% rename from docs/content/softwares/clojure.md rename to docs/website/content/softwares/clojure.md index 29cc66be58..48adaf87a9 100644 --- a/docs/content/softwares/clojure.md +++ b/docs/website/content/softwares/clojure.md @@ -1,5 +1,4 @@ --- link: https://clojure.org title: Clojure -layout: software-single --- diff --git a/docs/content/softwares/cloudflare.md b/docs/website/content/softwares/cloudflare.md similarity index 71% rename from docs/content/softwares/cloudflare.md rename to docs/website/content/softwares/cloudflare.md index 68e57e3342..b5ab5a3e1a 100644 --- a/docs/content/softwares/cloudflare.md +++ b/docs/website/content/softwares/cloudflare.md @@ -1,5 +1,4 @@ --- link: https://www.cloudflare.com title: Cloudflare -layout: software-single --- diff --git a/docs/content/softwares/cloudformation.md b/docs/website/content/softwares/cloudformation.md similarity index 76% rename from docs/content/softwares/cloudformation.md rename to docs/website/content/softwares/cloudformation.md index 73e02980c6..0e18e582e7 100644 --- a/docs/content/softwares/cloudformation.md +++ b/docs/website/content/softwares/cloudformation.md @@ -1,5 +1,4 @@ --- link: https://aws.amazon.com/cloudformation/ title: AWS CloudFormation -layout: software-single --- diff --git a/docs/content/softwares/coredns.md b/docs/website/content/softwares/coredns.md similarity index 67% rename from docs/content/softwares/coredns.md rename to docs/website/content/softwares/coredns.md index 6a1a8d89f4..2f0e1b2bef 100644 --- a/docs/content/softwares/coredns.md +++ b/docs/website/content/softwares/coredns.md @@ -1,5 +1,4 @@ --- link: https://coredns.io/ title: CoreDNS -layout: software-single --- diff --git a/docs/content/softwares/cosign.md b/docs/website/content/softwares/cosign.md similarity index 72% rename from docs/content/softwares/cosign.md rename to docs/website/content/softwares/cosign.md index d69554eb81..e924e30d16 100644 --- a/docs/content/softwares/cosign.md +++ b/docs/website/content/softwares/cosign.md @@ -1,5 +1,4 @@ --- link: https://github.com/sigstore/cosign title: Cosign -layout: software-single --- diff --git a/docs/content/softwares/csharp.md b/docs/website/content/softwares/csharp.md similarity index 75% rename from docs/content/softwares/csharp.md rename to docs/website/content/softwares/csharp.md index 9e347077fd..3360872d47 100644 --- a/docs/content/softwares/csharp.md +++ b/docs/website/content/softwares/csharp.md @@ -1,5 +1,4 @@ --- link: https://docs.microsoft.com/en-us/dotnet/csharp/ title: C# -layout: software-single --- diff --git a/docs/content/softwares/dapr.md b/docs/website/content/softwares/dapr.md similarity index 64% rename from docs/content/softwares/dapr.md rename to docs/website/content/softwares/dapr.md index f110e84ea6..df7044e186 100644 --- a/docs/content/softwares/dapr.md +++ b/docs/website/content/softwares/dapr.md @@ -1,5 +1,4 @@ --- link: https://dapr.io/ title: Dapr -layout: software-single --- diff --git a/docs/content/softwares/dart.md b/docs/website/content/softwares/dart.md similarity index 64% rename from docs/content/softwares/dart.md rename to docs/website/content/softwares/dart.md index f5a286284b..0084c683d7 100644 --- a/docs/content/softwares/dart.md +++ b/docs/website/content/softwares/dart.md @@ -1,5 +1,4 @@ --- link: https://dart.dev/ title: dart -layout: software-single --- diff --git a/docs/content/organizations/docker.md b/docs/website/content/softwares/docker.md similarity index 65% rename from docs/content/organizations/docker.md rename to docs/website/content/softwares/docker.md index 0b599bbfd1..cf380914e4 100644 --- a/docs/content/organizations/docker.md +++ b/docs/website/content/softwares/docker.md @@ -1,5 +1,4 @@ --- link: https://www.docker.com/ title: Docker -layout: organization-single --- diff --git a/docs/content/softwares/ebpf.md b/docs/website/content/softwares/ebpf.md similarity index 63% rename from docs/content/softwares/ebpf.md rename to docs/website/content/softwares/ebpf.md index 3cf8d2603a..db3a546086 100644 --- a/docs/content/softwares/ebpf.md +++ b/docs/website/content/softwares/ebpf.md @@ -1,5 +1,4 @@ --- link: https://ebpf.io title: eBPF -layout: software-single --- diff --git a/docs/content/softwares/elasticsearch.md b/docs/website/content/softwares/elasticsearch.md similarity index 71% rename from docs/content/softwares/elasticsearch.md rename to docs/website/content/softwares/elasticsearch.md index 533166045f..c231ad22fb 100644 --- a/docs/content/softwares/elasticsearch.md +++ b/docs/website/content/softwares/elasticsearch.md @@ -1,5 +1,4 @@ --- link: https://www.elastic.co/ title: Elastic Search -layout: software-single --- diff --git a/docs/content/softwares/emissary-ingress.md b/docs/website/content/softwares/emissary-ingress.md similarity index 77% rename from docs/content/softwares/emissary-ingress.md rename to docs/website/content/softwares/emissary-ingress.md index ebdd76595e..8cbb27f816 100644 --- a/docs/content/softwares/emissary-ingress.md +++ b/docs/website/content/softwares/emissary-ingress.md @@ -1,5 +1,4 @@ --- link: https://github.com/emissary-ingress/emissary title: Emissary-Ingress -layout: software-single --- diff --git a/docs/content/softwares/enterprise-opa.md b/docs/website/content/softwares/enterprise-opa.md similarity index 75% rename from docs/content/softwares/enterprise-opa.md rename to docs/website/content/softwares/enterprise-opa.md index 4a6642d6e8..51bc94e802 100644 --- a/docs/content/softwares/enterprise-opa.md +++ b/docs/website/content/softwares/enterprise-opa.md @@ -1,5 +1,4 @@ --- link: https://www.styra.com/enterprise-opa/ title: Enterprise OPA -layout: software-single --- diff --git a/docs/content/softwares/envoy.md b/docs/website/content/softwares/envoy.md similarity index 67% rename from docs/content/softwares/envoy.md rename to docs/website/content/softwares/envoy.md index 25fe6ec1f8..a25bc1e17e 100644 --- a/docs/content/softwares/envoy.md +++ b/docs/website/content/softwares/envoy.md @@ -1,5 +1,4 @@ --- link: https://envoyproxy.io title: Envoy -layout: software-single --- diff --git a/docs/content/softwares/fiber.md b/docs/website/content/softwares/fiber.md similarity index 68% rename from docs/content/softwares/fiber.md rename to docs/website/content/softwares/fiber.md index 84459c76aa..120b3d2701 100644 --- a/docs/content/softwares/fiber.md +++ b/docs/website/content/softwares/fiber.md @@ -1,5 +1,4 @@ --- link: https://docs.gofiber.io title: Fiber -layout: software-single --- diff --git a/docs/content/softwares/flask.md b/docs/website/content/softwares/flask.md similarity index 72% rename from docs/content/softwares/flask.md rename to docs/website/content/softwares/flask.md index d3a785388d..0496ab6e96 100644 --- a/docs/content/softwares/flask.md +++ b/docs/website/content/softwares/flask.md @@ -1,5 +1,4 @@ --- link: https://flask.palletsprojects.com/ title: Flask -layout: software-single --- diff --git a/docs/content/softwares/gcp.md b/docs/website/content/softwares/gcp.md similarity index 73% rename from docs/content/softwares/gcp.md rename to docs/website/content/softwares/gcp.md index b5c75de539..669e135eaa 100644 --- a/docs/content/softwares/gcp.md +++ b/docs/website/content/softwares/gcp.md @@ -1,5 +1,4 @@ --- link: https://cloud.google.com/ title: Google Public Cloud -layout: software-single --- diff --git a/docs/content/softwares/git.md b/docs/website/content/softwares/git.md similarity index 65% rename from docs/content/softwares/git.md rename to docs/website/content/softwares/git.md index a996f29da3..fbf1068d66 100644 --- a/docs/content/softwares/git.md +++ b/docs/website/content/softwares/git.md @@ -1,5 +1,4 @@ --- link: https://git-scm.com title: Git -layout: software-single --- diff --git a/docs/content/softwares/github.md b/docs/website/content/softwares/github.md similarity index 66% rename from docs/content/softwares/github.md rename to docs/website/content/softwares/github.md index 5414a2860d..e0a12e4bf7 100644 --- a/docs/content/softwares/github.md +++ b/docs/website/content/softwares/github.md @@ -1,5 +1,4 @@ --- link: https://github.com title: GitHub -layout: software-single --- diff --git a/docs/content/softwares/gluu.md b/docs/website/content/softwares/gluu.md similarity index 70% rename from docs/content/softwares/gluu.md rename to docs/website/content/softwares/gluu.md index c0013aa0e2..dbe6a1a355 100644 --- a/docs/content/softwares/gluu.md +++ b/docs/website/content/softwares/gluu.md @@ -1,5 +1,4 @@ --- link: https://www.gluu.org/ title: Gluu Gateway -layout: software-single --- diff --git a/docs/content/softwares/golang.md b/docs/website/content/softwares/golang.md similarity index 66% rename from docs/content/softwares/golang.md rename to docs/website/content/softwares/golang.md index bf83b45792..5d33f8e01a 100644 --- a/docs/content/softwares/golang.md +++ b/docs/website/content/softwares/golang.md @@ -1,5 +1,4 @@ --- link: https://golang.org/ title: golang -layout: software-single --- diff --git a/docs/content/softwares/google-calendar.md b/docs/website/content/softwares/google-calendar.md similarity index 73% rename from docs/content/softwares/google-calendar.md rename to docs/website/content/softwares/google-calendar.md index f761f1b9df..97113d3ef3 100644 --- a/docs/content/softwares/google-calendar.md +++ b/docs/website/content/softwares/google-calendar.md @@ -1,5 +1,4 @@ --- link: https://calendar.google.com/ title: Google Calendar -layout: software-single --- diff --git a/docs/content/softwares/google-kubernetes-engine.md b/docs/website/content/softwares/google-kubernetes-engine.md similarity index 78% rename from docs/content/softwares/google-kubernetes-engine.md rename to docs/website/content/softwares/google-kubernetes-engine.md index 533b0b2c51..bbeb38ae38 100644 --- a/docs/content/softwares/google-kubernetes-engine.md +++ b/docs/website/content/softwares/google-kubernetes-engine.md @@ -1,5 +1,4 @@ --- link: https://cloud.google.com/kubernetes-engine/ title: Google Kubernetes Engine -layout: software-single --- diff --git a/docs/content/softwares/gradle.md b/docs/website/content/softwares/gradle.md similarity index 66% rename from docs/content/softwares/gradle.md rename to docs/website/content/softwares/gradle.md index 85694df20d..8f17856d25 100644 --- a/docs/content/softwares/gradle.md +++ b/docs/website/content/softwares/gradle.md @@ -1,5 +1,4 @@ --- link: https://gradle.org/ title: Gradle -layout: software-single --- diff --git a/docs/content/softwares/graphene-graphql.md b/docs/website/content/softwares/graphene-graphql.md similarity index 73% rename from docs/content/softwares/graphene-graphql.md rename to docs/website/content/softwares/graphene-graphql.md index 6251b132b3..f294e85e3c 100644 --- a/docs/content/softwares/graphene-graphql.md +++ b/docs/website/content/softwares/graphene-graphql.md @@ -1,5 +1,4 @@ --- link: https://graphene-python.org title: Graphene GraphQL -layout: software-single --- diff --git a/docs/content/softwares/graphql.md b/docs/website/content/softwares/graphql.md similarity index 67% rename from docs/content/softwares/graphql.md rename to docs/website/content/softwares/graphql.md index 8e0c3777f3..2e7585cb86 100644 --- a/docs/content/softwares/graphql.md +++ b/docs/website/content/softwares/graphql.md @@ -1,5 +1,4 @@ --- link: https://graphql.org/ title: graphql -layout: software-single --- diff --git a/docs/content/softwares/groovy.md b/docs/website/content/softwares/groovy.md similarity index 68% rename from docs/content/softwares/groovy.md rename to docs/website/content/softwares/groovy.md index 99446cd9b6..d0d78d7977 100644 --- a/docs/content/softwares/groovy.md +++ b/docs/website/content/softwares/groovy.md @@ -1,5 +1,4 @@ --- link: https://groovy-lang.org title: Groovy -layout: software-single --- diff --git a/docs/content/softwares/helm.md b/docs/website/content/softwares/helm.md similarity index 64% rename from docs/content/softwares/helm.md rename to docs/website/content/softwares/helm.md index ab414f84e0..7d2009202f 100644 --- a/docs/content/softwares/helm.md +++ b/docs/website/content/softwares/helm.md @@ -1,5 +1,4 @@ --- link: https://helm.sh/ title: Helm -layout: software-single --- diff --git a/docs/content/softwares/i2scim.md b/docs/website/content/softwares/i2scim.md similarity index 69% rename from docs/content/softwares/i2scim.md rename to docs/website/content/softwares/i2scim.md index 76b6bf68ea..2b08e61bb2 100644 --- a/docs/content/softwares/i2scim.md +++ b/docs/website/content/softwares/i2scim.md @@ -1,5 +1,4 @@ --- link: https://i2scim.io title: i2 SCIM Server -layout: software-single --- diff --git a/docs/content/softwares/istio.md b/docs/website/content/softwares/istio.md similarity index 64% rename from docs/content/softwares/istio.md rename to docs/website/content/softwares/istio.md index fcf99a0fcc..22e298cfff 100644 --- a/docs/content/softwares/istio.md +++ b/docs/website/content/softwares/istio.md @@ -1,5 +1,4 @@ --- link: https://istio.io title: Istio -layout: software-single --- diff --git a/docs/content/softwares/java.md b/docs/website/content/softwares/java.md similarity index 66% rename from docs/content/softwares/java.md rename to docs/website/content/softwares/java.md index d7a8cf49db..1f80f7d5ee 100644 --- a/docs/content/softwares/java.md +++ b/docs/website/content/softwares/java.md @@ -1,5 +1,4 @@ --- link: https://www.java.com/ title: Java -layout: software-single --- diff --git a/docs/content/softwares/javascript.md b/docs/website/content/softwares/javascript.md similarity index 78% rename from docs/content/softwares/javascript.md rename to docs/website/content/softwares/javascript.md index 8b00a4758d..8ed21feb0a 100644 --- a/docs/content/softwares/javascript.md +++ b/docs/website/content/softwares/javascript.md @@ -1,5 +1,4 @@ --- link: https://developer.mozilla.org/en-US/docs/Web/JavaScript title: JavaScript -layout: software-single --- diff --git a/docs/content/softwares/javaspringsecurity.md b/docs/website/content/softwares/javaspringsecurity.md similarity index 76% rename from docs/content/softwares/javaspringsecurity.md rename to docs/website/content/softwares/javaspringsecurity.md index 293fe896a4..6e8ec2fe8d 100644 --- a/docs/content/softwares/javaspringsecurity.md +++ b/docs/website/content/softwares/javaspringsecurity.md @@ -1,5 +1,4 @@ --- link: https://spring.io/projects/spring-security title: Spring Security -layout: software-single --- diff --git a/docs/content/softwares/jenkins.md b/docs/website/content/softwares/jenkins.md similarity index 67% rename from docs/content/softwares/jenkins.md rename to docs/website/content/softwares/jenkins.md index 164403c11b..b43e5a0c1a 100644 --- a/docs/content/softwares/jenkins.md +++ b/docs/website/content/softwares/jenkins.md @@ -1,5 +1,4 @@ --- link: https://jenkins.io/ title: Jenkins -layout: software-single --- diff --git a/docs/content/softwares/kafka.md b/docs/website/content/softwares/kafka.md similarity index 68% rename from docs/content/softwares/kafka.md rename to docs/website/content/softwares/kafka.md index be5c7ad4a6..c84fdec4d7 100644 --- a/docs/content/softwares/kafka.md +++ b/docs/website/content/softwares/kafka.md @@ -1,5 +1,4 @@ --- link: https://kafka.apache.org/ title: Kafka -layout: software-single --- diff --git a/docs/content/softwares/kong.md b/docs/website/content/softwares/kong.md similarity index 65% rename from docs/content/softwares/kong.md rename to docs/website/content/softwares/kong.md index e28d51d665..d1e1b78233 100644 --- a/docs/content/softwares/kong.md +++ b/docs/website/content/softwares/kong.md @@ -1,5 +1,4 @@ --- link: https://konghq.com/ title: Kong -layout: software-single --- diff --git a/docs/content/softwares/kotlin.md b/docs/website/content/softwares/kotlin.md similarity index 68% rename from docs/content/softwares/kotlin.md rename to docs/website/content/softwares/kotlin.md index a4be866602..8e5df2f878 100644 --- a/docs/content/softwares/kotlin.md +++ b/docs/website/content/softwares/kotlin.md @@ -1,5 +1,4 @@ --- link: https://kotlinlang.org title: Kotlin -layout: software-single --- diff --git a/docs/content/softwares/kubernetes.md b/docs/website/content/softwares/kubernetes.md similarity index 69% rename from docs/content/softwares/kubernetes.md rename to docs/website/content/softwares/kubernetes.md index 8e1f7b134a..13b4e120c7 100644 --- a/docs/content/softwares/kubernetes.md +++ b/docs/website/content/softwares/kubernetes.md @@ -1,5 +1,4 @@ --- link: https://kubernetes.io title: Kubernetes -layout: software-single --- diff --git a/docs/content/softwares/kubescape.md b/docs/website/content/softwares/kubescape.md similarity index 74% rename from docs/content/softwares/kubescape.md rename to docs/website/content/softwares/kubescape.md index 4fbc24dff3..6412f214c4 100644 --- a/docs/content/softwares/kubescape.md +++ b/docs/website/content/softwares/kubescape.md @@ -1,5 +1,4 @@ --- link: https://github.com/kubescape/kubescape title: Kubescape -layout: software-single --- diff --git a/docs/content/softwares/kustomize.md b/docs/website/content/softwares/kustomize.md similarity index 68% rename from docs/content/softwares/kustomize.md rename to docs/website/content/softwares/kustomize.md index 08ecc54036..09755ae53f 100644 --- a/docs/content/softwares/kustomize.md +++ b/docs/website/content/softwares/kustomize.md @@ -1,5 +1,4 @@ --- link: https://kustomize.io title: Kustomize -layout: software-single --- diff --git a/docs/content/softwares/linux.md b/docs/website/content/softwares/linux.md similarity index 67% rename from docs/content/softwares/linux.md rename to docs/website/content/softwares/linux.md index 4188e4252a..f58c2e19b5 100644 --- a/docs/content/softwares/linux.md +++ b/docs/website/content/softwares/linux.md @@ -1,5 +1,4 @@ --- link: https://www.kernel.org title: Linux -layout: software-single --- diff --git a/docs/content/softwares/linuxpam.md b/docs/website/content/softwares/linuxpam.md similarity index 70% rename from docs/content/softwares/linuxpam.md rename to docs/website/content/softwares/linuxpam.md index 9c750fd65d..07a8f6ba3e 100644 --- a/docs/content/softwares/linuxpam.md +++ b/docs/website/content/softwares/linuxpam.md @@ -1,5 +1,4 @@ --- link: http://www.linux-pam.org/ title: Linux PAM -layout: software-single --- diff --git a/docs/content/softwares/magda.md b/docs/website/content/softwares/magda.md similarity index 71% rename from docs/content/softwares/magda.md rename to docs/website/content/softwares/magda.md index 330d9ada6b..5b4c8b5bee 100644 --- a/docs/content/softwares/magda.md +++ b/docs/website/content/softwares/magda.md @@ -1,5 +1,4 @@ --- link: https://github.com/magda-io/magda title: Magda -layout: software-single --- diff --git a/docs/content/softwares/nginx.md b/docs/website/content/softwares/nginx.md similarity index 65% rename from docs/content/softwares/nginx.md rename to docs/website/content/softwares/nginx.md index 7ef84a94fd..a543041b3a 100644 --- a/docs/content/softwares/nginx.md +++ b/docs/website/content/softwares/nginx.md @@ -1,5 +1,4 @@ --- link: https://nginx.org/ title: Nginx -layout: software-single --- diff --git a/docs/content/softwares/nodejsexpress.md b/docs/website/content/softwares/nodejsexpress.md similarity index 71% rename from docs/content/softwares/nodejsexpress.md rename to docs/website/content/softwares/nodejsexpress.md index bb4835a045..13e3303260 100644 --- a/docs/content/softwares/nodejsexpress.md +++ b/docs/website/content/softwares/nodejsexpress.md @@ -1,5 +1,4 @@ --- link: https://expressjs.com/ title: Node.JS express -layout: software-single --- diff --git a/docs/content/softwares/oauth.md b/docs/website/content/softwares/oauth.md similarity index 65% rename from docs/content/softwares/oauth.md rename to docs/website/content/softwares/oauth.md index 93bde77892..c025f8cbc0 100644 --- a/docs/content/softwares/oauth.md +++ b/docs/website/content/softwares/oauth.md @@ -1,5 +1,4 @@ --- link: https://oauth.net/ title: OAuth -layout: software-single --- diff --git a/docs/content/softwares/oidc.md b/docs/website/content/softwares/oidc.md similarity index 74% rename from docs/content/softwares/oidc.md rename to docs/website/content/softwares/oidc.md index 21e44e0344..1d41d3ed5b 100644 --- a/docs/content/softwares/oidc.md +++ b/docs/website/content/softwares/oidc.md @@ -1,5 +1,4 @@ --- link: https://openid.net/connect/ title: OpenID Connect (OIDC) -layout: software-single --- diff --git a/docs/content/softwares/opal.md b/docs/website/content/softwares/opal.md similarity index 63% rename from docs/content/softwares/opal.md rename to docs/website/content/softwares/opal.md index 2693b4b530..009ac1adfe 100644 --- a/docs/content/softwares/opal.md +++ b/docs/website/content/softwares/opal.md @@ -1,5 +1,4 @@ --- link: https://opal.ac title: OPAL -layout: software-single --- diff --git a/docs/content/softwares/open-policy-registry.md b/docs/website/content/softwares/open-policy-registry.md similarity index 76% rename from docs/content/softwares/open-policy-registry.md rename to docs/website/content/softwares/open-policy-registry.md index 5a8bb632c7..83eb760541 100644 --- a/docs/content/softwares/open-policy-registry.md +++ b/docs/website/content/softwares/open-policy-registry.md @@ -1,5 +1,4 @@ --- link: https://www.openpolicyregistry.io title: Open Policy Registry -layout: software-single --- diff --git a/docs/content/softwares/openfaas.md b/docs/website/content/softwares/openfaas.md similarity index 70% rename from docs/content/softwares/openfaas.md rename to docs/website/content/softwares/openfaas.md index ea031ed8cf..71a1111865 100644 --- a/docs/content/softwares/openfaas.md +++ b/docs/website/content/softwares/openfaas.md @@ -1,5 +1,4 @@ --- link: https://www.openfaas.com/ title: OpenFaaS -layout: software-single --- diff --git a/docs/content/softwares/osm.md b/docs/website/content/softwares/osm.md similarity index 73% rename from docs/content/softwares/osm.md rename to docs/website/content/softwares/osm.md index 378bb8512f..a4b56ff1df 100644 --- a/docs/content/softwares/osm.md +++ b/docs/website/content/softwares/osm.md @@ -1,5 +1,4 @@ --- link: https://openservicemesh.io/ title: Open Service Mesh -layout: software-single --- diff --git a/docs/content/softwares/php.md b/docs/website/content/softwares/php.md similarity index 65% rename from docs/content/softwares/php.md rename to docs/website/content/softwares/php.md index cfedb23494..c043b761a9 100644 --- a/docs/content/softwares/php.md +++ b/docs/website/content/softwares/php.md @@ -1,5 +1,4 @@ --- link: https://www.php.net/ title: PHP -layout: software-single --- diff --git a/docs/content/softwares/pomerium.md b/docs/website/content/softwares/pomerium.md similarity index 69% rename from docs/content/softwares/pomerium.md rename to docs/website/content/softwares/pomerium.md index 550011a58e..feb60b4ac0 100644 --- a/docs/content/softwares/pomerium.md +++ b/docs/website/content/softwares/pomerium.md @@ -1,5 +1,4 @@ --- link: https://www.pomerium.io/ title: Pomerium -layout: software-single --- diff --git a/docs/content/softwares/pre-commit.md b/docs/website/content/softwares/pre-commit.md similarity index 69% rename from docs/content/softwares/pre-commit.md rename to docs/website/content/softwares/pre-commit.md index 5933a9652e..94d6aa83c6 100644 --- a/docs/content/softwares/pre-commit.md +++ b/docs/website/content/softwares/pre-commit.md @@ -1,5 +1,4 @@ --- link: https://pre-commit.com title: pre-commit -layout: software-single --- diff --git a/docs/content/organizations/pulumi.md b/docs/website/content/softwares/pulumi.md similarity index 65% rename from docs/content/organizations/pulumi.md rename to docs/website/content/softwares/pulumi.md index 1c97ae2244..4ac248dd09 100644 --- a/docs/content/organizations/pulumi.md +++ b/docs/website/content/softwares/pulumi.md @@ -1,5 +1,4 @@ --- link: https://www.pulumi.com/ title: Pulumi -layout: organization-single --- diff --git a/docs/content/softwares/rekor.md b/docs/website/content/softwares/rekor.md similarity index 71% rename from docs/content/softwares/rekor.md rename to docs/website/content/softwares/rekor.md index 0fd0bb63c9..99fcf43611 100644 --- a/docs/content/softwares/rekor.md +++ b/docs/website/content/softwares/rekor.md @@ -1,5 +1,4 @@ --- link: https://github.com/sigstore/rekor title: rekor -layout: software-single --- diff --git a/docs/content/softwares/rond.md b/docs/website/content/softwares/rond.md similarity index 67% rename from docs/content/softwares/rond.md rename to docs/website/content/softwares/rond.md index ee77de8bd0..8e21a44a2c 100644 --- a/docs/content/softwares/rond.md +++ b/docs/website/content/softwares/rond.md @@ -1,5 +1,4 @@ --- link: https://rond-authz.io/ title: Rönd -layout: software-single --- diff --git a/docs/content/softwares/rust.md b/docs/website/content/softwares/rust.md similarity index 68% rename from docs/content/softwares/rust.md rename to docs/website/content/softwares/rust.md index 0269e8a5b0..51f753f124 100644 --- a/docs/content/softwares/rust.md +++ b/docs/website/content/softwares/rust.md @@ -1,5 +1,4 @@ --- link: https://www.rust-lang.org/ title: Rust -layout: software-single --- diff --git a/docs/content/softwares/sansshell.md b/docs/website/content/softwares/sansshell.md similarity index 75% rename from docs/content/softwares/sansshell.md rename to docs/website/content/softwares/sansshell.md index 82be97da61..9243c77164 100644 --- a/docs/content/softwares/sansshell.md +++ b/docs/website/content/softwares/sansshell.md @@ -1,5 +1,4 @@ --- link: https://github.com/Snowflake-Labs/sansshell title: Sansshell -layout: software-single --- diff --git a/docs/content/softwares/sphinx-doc.md b/docs/website/content/softwares/sphinx-doc.md similarity index 69% rename from docs/content/softwares/sphinx-doc.md rename to docs/website/content/softwares/sphinx-doc.md index 4545f67113..3cdec57263 100644 --- a/docs/content/softwares/sphinx-doc.md +++ b/docs/website/content/softwares/sphinx-doc.md @@ -1,5 +1,4 @@ --- link: https://www.sphinx-doc.org title: Sphinx -layout: software-single --- diff --git a/docs/content/softwares/spiffe.md b/docs/website/content/softwares/spiffe.md similarity index 65% rename from docs/content/softwares/spiffe.md rename to docs/website/content/softwares/spiffe.md index 3f925a3745..40bdc08b1e 100644 --- a/docs/content/softwares/spiffe.md +++ b/docs/website/content/softwares/spiffe.md @@ -1,5 +1,4 @@ --- link: https://spiffe.io title: SPIFFE -layout: software-single --- diff --git a/docs/content/softwares/spinnaker.md b/docs/website/content/softwares/spinnaker.md similarity index 70% rename from docs/content/softwares/spinnaker.md rename to docs/website/content/softwares/spinnaker.md index 2ecab42a34..8da1d4691b 100644 --- a/docs/content/softwares/spinnaker.md +++ b/docs/website/content/softwares/spinnaker.md @@ -1,5 +1,4 @@ --- link: https://www.spinnaker.io/ title: Spinnaker -layout: software-single --- diff --git a/docs/content/softwares/spire.md b/docs/website/content/softwares/spire.md similarity index 65% rename from docs/content/softwares/spire.md rename to docs/website/content/softwares/spire.md index dc0a8a6a65..10f1a39b53 100644 --- a/docs/content/softwares/spire.md +++ b/docs/website/content/softwares/spire.md @@ -1,5 +1,4 @@ --- link: https://spiffe.io title: SPIRE -layout: software-single --- diff --git a/docs/content/softwares/sqlite.md b/docs/website/content/softwares/sqlite.md similarity index 72% rename from docs/content/softwares/sqlite.md rename to docs/website/content/softwares/sqlite.md index fd9767baa6..ab03760b75 100644 --- a/docs/content/softwares/sqlite.md +++ b/docs/website/content/softwares/sqlite.md @@ -1,5 +1,4 @@ --- link: https://www.sqlite.org/index.html title: SQLite -layout: software-single --- diff --git a/docs/content/softwares/ssikit.md b/docs/website/content/softwares/ssikit.md similarity index 68% rename from docs/content/softwares/ssikit.md rename to docs/website/content/softwares/ssikit.md index 8cb2d77061..b706c4e6da 100644 --- a/docs/content/softwares/ssikit.md +++ b/docs/website/content/softwares/ssikit.md @@ -1,5 +1,4 @@ --- link: https://walt.id/ssi-kit title: ssikit -layout: software-single --- diff --git a/docs/content/softwares/strimzi.md b/docs/website/content/softwares/strimzi.md similarity index 67% rename from docs/content/softwares/strimzi.md rename to docs/website/content/softwares/strimzi.md index 967909b523..d2a7b2ea47 100644 --- a/docs/content/softwares/strimzi.md +++ b/docs/website/content/softwares/strimzi.md @@ -1,5 +1,4 @@ --- link: https://strimzi.io/ title: Strimzi -layout: software-single --- diff --git a/docs/content/softwares/styra-das.md b/docs/website/content/softwares/styra-das.md similarity index 72% rename from docs/content/softwares/styra-das.md rename to docs/website/content/softwares/styra-das.md index abe0e51929..0162334495 100644 --- a/docs/content/softwares/styra-das.md +++ b/docs/website/content/softwares/styra-das.md @@ -1,5 +1,4 @@ --- link: https://www.styra.com/styra-das/ title: Styra DAS -layout: software-single --- diff --git a/docs/content/softwares/sysdigsecure.md b/docs/website/content/softwares/sysdigsecure.md similarity index 77% rename from docs/content/softwares/sysdigsecure.md rename to docs/website/content/softwares/sysdigsecure.md index 604d919997..fb41497e3a 100644 --- a/docs/content/softwares/sysdigsecure.md +++ b/docs/website/content/softwares/sysdigsecure.md @@ -1,5 +1,4 @@ --- link: https://sysdig.com/products/kubernetes-security/ title: Sysdig Secure -layout: software-single --- diff --git a/docs/content/softwares/terraform-cloud.md b/docs/website/content/softwares/terraform-cloud.md similarity index 77% rename from docs/content/softwares/terraform-cloud.md rename to docs/website/content/softwares/terraform-cloud.md index 633106a9b9..3bea8bb1fd 100644 --- a/docs/content/softwares/terraform-cloud.md +++ b/docs/website/content/softwares/terraform-cloud.md @@ -1,5 +1,4 @@ --- link: https://cloud.hashicorp.com/products/terraform title: Terraform Cloud -layout: software-single --- diff --git a/docs/content/softwares/terraform.md b/docs/website/content/softwares/terraform.md similarity index 70% rename from docs/content/softwares/terraform.md rename to docs/website/content/softwares/terraform.md index 3930356392..5426bb5819 100644 --- a/docs/content/softwares/terraform.md +++ b/docs/website/content/softwares/terraform.md @@ -1,5 +1,4 @@ --- link: https://www.terraform.io/ title: Terraform -layout: software-single --- diff --git a/docs/content/softwares/toml.md b/docs/website/content/softwares/toml.md similarity index 63% rename from docs/content/softwares/toml.md rename to docs/website/content/softwares/toml.md index 55649906d5..4705fa2406 100644 --- a/docs/content/softwares/toml.md +++ b/docs/website/content/softwares/toml.md @@ -1,5 +1,4 @@ --- link: https://toml.io title: TOML -layout: software-single --- diff --git a/docs/content/softwares/topaz.md b/docs/website/content/softwares/topaz.md similarity index 66% rename from docs/content/softwares/topaz.md rename to docs/website/content/softwares/topaz.md index 91cde86ea5..20aeb60803 100644 --- a/docs/content/softwares/topaz.md +++ b/docs/website/content/softwares/topaz.md @@ -1,5 +1,4 @@ --- link: https://www.topaz.sh title: Topaz -layout: software-single --- diff --git a/docs/website/data/integrations.yaml b/docs/website/data/integrations.yaml deleted file mode 100644 index 8eece38cb1..0000000000 --- a/docs/website/data/integrations.yaml +++ /dev/null @@ -1,2894 +0,0 @@ -# NOTE: this file has been deprecated as of -# https://github.com/open-policy-agent/opa/pull/6158 -# Please see the docs to learn how to add new integrations -# https://github.com/open-policy-agent/opa/blob/1e4f120beb9777d3202bb594a2c212256549d953/docs/README.md - -# TODO: this file can be removed after v0.56.0 release -integrations: - - torque: - title: Torque - description: Torque by Quali is a cloud-based platform that provides infrastructure automation and orchestration solutions for digital transformation and DevOps initiatives. Troque utilizes Open Policy Agent (OPA) to enforce policy-as-code, enabling users to define and automate their own security, compliance, and governance policies across their infrastructure. - labels: - category: Environments as a Service - layer: Infrastructure - type: poweredbyopa - software: - - terraform - - helm - - cloudformation - - kubernetes - - ansible - - aws - - gcp - - azure - tutorials: - - https://docs.qtorque.io/governance/policies - code: - - https://github.com/QualiTorque/opa - inventors: - - quali - blogs: - - https://www.quali.com/blog/enforcing-open-policy-agent-guardrails-across-your-cloud-configurations/ - docs_features: - cli-integration: - note: | - Torque policy evaluation is done using the OPA CLI. See an - [example command](https://github.com/QualiTorque/opa#perform-policy-evaluation) - in the documentation. - terraform: - note: | - Torque supports Terraform policy enforcement and defines some - [sample policies here](https://github.com/QualiTorque/opa). - - styra-das: - title: Styra Declarative Authorization Service - subtitle: Policy as Code Control Plane - description: Styra DAS provides a single pane of glass for authorization and policy across the cloud-native ecosystem of software systems. Beyond a simple control plane, Styra DAS pushes OPA’s potential, providing powerful impact analysis, policy authoring, and decision logging. - software: - - styra-das - - kubernetes - - envoy - - terraform - labels: - category: authorization - type: poweredbyopa - tutorials: - - https://docs.styra.com/getting-started - - https://docs.styra.com/tutorials/kubernetes/introduction - - https://docs.styra.com/tutorials/envoy/introduction - - https://docs.styra.com/tutorials/ssh/introduction - - https://docs.styra.com/tutorials/terraform/introduction - - https://docs.styra.com/tutorials/entitlements/introduction - - https://academy.styra.com/courses/opa-rego - code: - - https://github.com/StyraInc/das-opa-samples - - https://github.com/StyraInc/example-policy-management - - https://github.com/StyraInc/entitlements-samples - inventors: - - styra - blogs: - - https://blog.styra.com/blog/six-of-my-favorite-styra-declarative-authorization-service-das-features - - https://blog.styra.com/blog/styra-declarative-authorization-service-expands-service-mesh-use-case - - https://blog.styra.com/blog/opa-styra-terraform-protect-your-cloud-investment - - https://www.styra.com/blog/how-to-write-your-first-rules-in-rego-the-policy-language-for-opa - videos: - - title: "Securing Microservices-Based Apps with Dynamic Traffic Authz" - speakers: - - name: Kurt Roekle - organization: styra - venue: online - link: https://www.youtube.com/watch?v=9F-Zyn9j25g - - title: "Policy Management Across the Cloud-Native Stack: Styra DAS for Terraform" - speakers: - - name: Kurt Roekle - organization: styra - venue: online - link: https://www.youtube.com/watch?v=3K0RqIvNfAc - docs_features: - status-api: - note: | - Styra DAS can receive status updates from OPA instances via the status - API. See the - [documentation here](https://docs.styra.com/das/policies/policy-organization/systems/view-opa-status) - for more information. - envoy: - note: | - Styra DAS provides an out-of-the-box integration for writing Envoy - authorization policies. See the - [tutorial](https://docs.styra.com/das/systems/envoy/tutorials) - here. - policy-testing: - note: | - DAS supports the running of tests alongside Rego policy in its UI. - Read documentation about - [testing Rego policies in DAS](https://docs.styra.com/das/policies/policy-authoring/test-policies). - language-tooling: - note: | - DAS supports the writing, testing and debugging of Rego policies in a UI. - Read about - [Writing Policies](https://docs.styra.com/das/policies/policy-authoring/write-policies) - and - [Testing Policies](https://docs.styra.com/das/policies/policy-authoring/test-policies) - in the DAS documentation. - external-data: - note: | - The [Bundle Registry](https://docs.styra.com/das/policies/bundles/bundle-registry) - feature of DAS uses OPA's Bundle API to distribute policy and data updates to - OPA instances. - opa-bundles: - note: | - Styra DAS exposes a Bundle Service compatible API to the OPA instances - that it manages. Delta bundles are also supported. Read the - [Bundle Registry Docs](https://docs.styra.com/das/policies/bundles/bundle-registry) - to learn more. - opa-bundles-discovery: - note: | - Styra DAS exposes a Bundle Service compatible API to the OPA instances - that it manages. Discovery bundles are also supported. Read the - [Bundle Registry Docs](https://docs.styra.com/das/policies/bundles/bundle-registry) - to learn more. - terraform: - note: | - Styra DAS has native support for the validation of Terraform code and - plans via a prebuilt 'system-type', this is - [documented here](https://docs.styra.com/das/systems/terraform/overview). - kubernetes: - note: | - Styra DAS has native support for mutating and validating Kubernetes - at admission time via a prebuilt 'system-type', this is - [documented here](https://docs.styra.com/das/systems/kubernetes/overview). - decision-logging: - note: | - Styra DAS can aggregate and index OPA decision logs. Exporting to - object storage, and Kafka is also supported. View - [the documentation](https://docs.styra.com/das/observability-and-audit/decision-logs/overview) - here. - - alluxio: - title: Alluxio - description: Alluxio is an open source data orchestration technology for analytics and AI for the cloud. Alluxio can integrate with OPA and delegate all permission checks to OPA. - software: - - alluxio - labels: - category: authorization - type: poweredbyopa - tutorials: - - https://docs.alluxio.io/ee/user/2.10.0/en/security/OpenPolicyAgent-Integration.html - inventors: - - alluxio - - circleci: - title: CircleCI - description: Use config policy management to create organization-level policies to impose rules and scopes around which configuration elements are required, allowed, not allowed etc. - software: - - circleci - labels: - category: tooling - layer: cicd - type: poweredbyopa - tutorials: - - https://circleci.com/docs/config-policy-management-overview/ - inventors: - - circleci - - awesome-opa: - title: Awesome OPA List - description: A curated list of awesome OPA related tools, frameworks and articles. - software: [] - labels: - category: learning - type: poweredbyopa - code: - - https://github.com/StyraInc/awesome-opa - inventors: - - styra - docs_features: - learning-rego: - note: | - The Awesome OPA project maintains a list of - [policy packages](https://github.com/StyraInc/awesome-opa#policy-packages), - and [editor integrations](https://github.com/StyraInc/awesome-opa#ide-and-editor-integrations) - which can be helpful references for learning Rego. - - aws-cloudformation-hook: - title: AWS CloudFormation Hook - description: AWS CloudFormation Hook that uses OPA to make policy decisions on infrastructure provisioned via AWS CloudFormation - software: - - aws - - cloudformation - labels: - type: poweredbyopa - tutorials: - - https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/ - code: - - https://github.com/StyraInc/opa-aws-cloudformation-hook - blogs: - - https://blog.styra.com/blog/the-opa-aws-cloudformation-hook - inventors: - - styra - docs_features: - rest-api-integration: - note: | - The OPA CloudFormation Hook uses AWS Lambda to consult an OPA instance - using the REST API before allowing a CloudFormation stack to be created. - - Read [the tutorial](https://www.openpolicyagent.org/docs/latest/aws-cloudformation-hooks/) - here in the OPA documentation. - - oauth2: - title: OAuth2 - description: Integrating OAuth2 with Open Policy Agent - software: - - oauth - labels: - category: security - tutorials: - - https://www.openpolicyagent.org/docs/latest/oauth-oidc/ - blogs: - - https://blog.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent - - oidc: - title: OpenID Connect (OIDC) - description: Integrating OpenID Connect (OIDC) with Open Policy Agent - software: - - oauth - - oidc - labels: - category: security - tutorials: - - https://www.openpolicyagent.org/docs/latest/oauth-oidc/ - blogs: - - https://blog.styra.com/blog/integrating-identity-oauth2-and-openid-connect-in-open-policy-agent - - google-kubernetes-engine: - title: GKE Policy Automation - description: Tool and policy library for reviewing Google Kubernetes Engine clusters against best practices - software: - - kubernetes - - google-kubernetes-engine - labels: - category: containers - layer: orchestration - code: - - https://github.com/google/gke-policy-automation - tutorials: - - https://github.com/google/gke-policy-automation/tree/main/gke-policies - inventors: - - google - docs_features: - kubernetes: - note: | - The GKE Policy Automation project provides a set of policies for - validating Kubernetes clusters running on GKE. Review the - [policy library here](https://github.com/google/gke-policy-automation/tree/main/gke-policies-v2) - - apache-apisix: - title: Authorization Integration with Apache APISIX - description: Apache APISIX provides a plugin for delegating fine-grained authorization decisions to OPA. - software: - - apache-apisix - labels: - category: gateway - layer: network - code: - - https://github.com/apache/apisix - inventors: - - apache-apisix - blogs: - - https://apisix.apache.org/blog/2021/12/24/open-policy-agent - - https://medium.com/@ApacheAPISIX/apache-apisix-integrates-with-open-policy-agent-to-enrich-its-ecosystem-15569fe3ab9c - docs_features: - rest-api-integration: - note: | - Apache APISIX routes can be configured to call an OPA instance over - the REST API. - [This blog post](https://apisix.apache.org/blog/2021/12/24/open-policy-agent/) - explains how such a configuration can be achieved. - - dapr: - title: Dapr - description: Middleware to apply Open Policy Agent policies on incoming requests - software: - - dapr - labels: - category: application - layer: network - tutorials: - - https://docs.dapr.io/reference/components-reference/supported-middleware/middleware-opa/ - code: - - https://github.com/dapr/dapr - - https://github.com/dapr/components-contrib/blob/master/middleware/http/opa/middleware.go - docs_features: - go-integration: - note: | - Dapr's contrib middleware include an OPA integration built on the Go - API. - [This tutorial](https://docs.dapr.io/reference/components-reference/supported-middleware/middleware-opa/) - explains how to configure it. - - fig: - title: fig - description: Beautiful shell autocompletion for OPA and many other commands, for Mac OS - software: - - fig - labels: - category: utilities - layer: shell - code: - - https://github.com/open-policy-agent/contrib/tree/main/opa_fig_autocomplete - - https://github.com/withfig/autocomplete/blob/master/src/opa.ts - inventors: - - fig - - fiber: - title: fiber - description: | - Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. - Designed to ease things up for fast development with zero memory allocation and performance in mind. - With Open Policy Agent integration, you can run your Rego policies as part of the request lifecycle in the middleware. - labels: - category: application - layer: library - software: - - golang - - fiber - code: - - https://github.com/gofiber/contrib/tree/main/opafiber - - sphinx-rego: - title: Automatically document Rego policies - description: Sphinx extension that automatically documents Open Policy Agent Rego policies using meta properties. - software: - - sphinx-doc - code: - - https://github.com/zenitysec/sphinx-rego - inventors: - - zenity - labels: - category: tooling - layer: cicd - - opa-playground: - title: OPA Playground - subtitle: Online Rego Playground - description: Interactive online Rego playground for writing and sharing policies - software: [] - inventors: - - styra - labels: - category: tooling - layer: rego - code: - - https://play.openpolicyagent.org/ - blogs: - - https://blog.openpolicyagent.org/the-rego-playground-977566855cec - - https://blog.openpolicyagent.org/rego-playground-new-features-ec0345a73b9e - docs_features: - learning-rego: - note: | - Sometimes if you're working on a Rego policy in an integrated system - it can help to debug it in isolation first. The playground is a great - place to do that. Get started with a [hello world example](https://play.openpolicyagent.org/). - language-tooling: - note: | - The playground is a great place to get started with writing and testing - your first policies. You can also share links if you're asking for - help in the community Slack. Get started with a simple - [RBAC example](https://play.openpolicyagent.org/p/Bb9FqBvauC). - - kubernetes-validating-admission: - title: Kubernetes Admission Control - description: Kubernetes automates deployment, scaling, and management of containerized applications. OPA provides fine-grained, context-aware authorization for which application component configuration. - software: - - kubernetes - labels: - category: containers - layer: orchestration - tutorials: - - https://www.openpolicyagent.org/docs/kubernetes-admission-control.html - - https://katacoda.com/austinheiman/scenarios/open-policy-agent-gatekeeper - code: - - https://github.com/open-policy-agent/kube-mgmt - - https://github.com/open-policy-agent/gatekeeper - inventors: - - styra - - microsoft - - google - videos: - - title: Securing Kubernetes With Admission Controllers - speakers: - - name: Dave Strebel - organization: microsoft - venue: Kubecon Seattle 2018 - link: https://sched.co/GrZQ - - title: Using OPA for Admission Control in Production - speakers: - - name: Zach Abrahamson - organization: Capital One - - name: Todd Ekenstam - organization: Intuit - venue: Kubecon Seattle 2018 - link: https://sched.co/Grbn - - title: Liz Rice Keynote - speakers: - - name: Liz Rice - organization: AquaSecurity - venue: Kubecon Seattle 2018 - link: https://youtu.be/McDzaTnUVWs?t=418 - - title: Intro to Open Policy Agent Gatekeeper - speakers: - - name: Rita Zhang - organization: microsoft - - name: Max Smythe - organization: google - venue: Kubecon Barcelona 2019 - link: https://kccnceu19.sched.com/event/MPiM/intro-open-policy-agent-rita-zhang-microsoft-max-smythe-google - - title: Policy Enabled Kubernetes and CICD - speakers: - - name: Jimmy Ray - organization: capitalone - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=vkvWZuqSk5M - - title: "TripAdvisor: Building a Testing Framework for Integrating OPA into K8s" - speakers: - - name: Luke Massa - organization: tripadvisor - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=X09c1eXvCFM - - title: Enforcing automatic mTLS with Linkerd and OPA Gatekeeper - speakers: - - name: Ivan Sim - organization: buoyant - - name: Rita Zhang - organization: microsoft - venue: Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=gMaGVHnvNfs - - title: Enforcing Service Mesh Structure using OPA Gatekeeper - speakers: - - name: Sandeep Parikh - organization: google - venue: Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=90RHTBinAFU - - title: "TGIK: Exploring the Open Policy Agent" - speakers: - - name: Joe Beda - organization: VMware - link: https://www.youtube.com/watch?v=QU9BGPf0hBw - blogs: - - https://medium.com/@sbueringer/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb - - https://medium.com/@jimmy.ray/policy-enabled-kubernetes-with-open-policy-agent-3b612b3f0203 - - https://blog.openpolicyagent.org/securing-the-kubernetes-api-with-open-policy-agent-ce93af0552c3 - - https://itnext.io/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb - - https://medium.com/capital-one-tech/policy-enabled-kubernetes-with-open-policy-agent-3b612b3f0203 - - https://blog.openshift.com/fine-grained-policy-enforcement-in-openshift-with-open-policy-agent/ - docs_features: - rest-api-integration: - note: | - The Kubernetes API server can be configured to use OPA as an - admission controller. Creating a - [ValidatingWebhookConfiguration](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#validatingwebhookconfiguration) - resource can be used to query OPA for policy decisions. - kubernetes: - note: | - View a selection of projects and talks about integrating OPA with - Kubernetes. - - kubernetes-authorization: - title: Kubernetes Authorization - description: | - Kubernetes Authorization is a pluggable mechanism that lets administrators control which users can run which APIs and - is often handled by builtin RBAC. OPA's policy language is more flexible than the RBAC, for example, - writing policy using a prohibited list of APIs instead of the usual RBAC style of listing the permitted APIs. - code: - - https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization - blogs: - - https://blog.styra.com/blog/kubernetes-authorization-webhook - - https://itnext.io/kubernetes-authorization-via-open-policy-agent-a9455d9d5ceb - - https://itnext.io/optimizing-open-policy-agent-based-kubernetes-authorization-via-go-execution-tracer-7b439bb5dc5b - inventors: - - styra - docs_features: - rest-api-integration: - note: | - The Kubernetes API server can be configured to use OPA as an - authorization webhook. Such an integration can be configured by - following [the documentation](https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization) - in the contrib repo. - kubernetes: - note: | - View - [an example project](https://github.com/open-policy-agent/contrib/tree/main/k8s_authorization) - showing how it's possible to integrate OPA with Kubernetes User Authorization. - - - kubernetes-provisioning: - title: Kubernetes Provisioning - description: Kubernetes automates deployment, scaling, and management of containerized applications. OPA decides which resources need to be created on k8s in response to a namespace being created. - software: - - kubernetes - labels: - category: containers - layer: orchestration - inventors: - - goldmansachs - videos: - - title: Kubernetes Policy Enforcement Using OPA at Goldman Sachs - speakers: - - name: Miguel Uzcategui - organization: goldmansachs - - name: Tim Hinrichs - organization: styra - venue: Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=lYHr_UaHsYQ&list=PLj6h78yzYM2NDs-iu8WU5fMxINxHXlien&index=140&t=0s - - google-calendar: - title: Google Calendar - description: Using the Google Calendar API with OPA for calendar powered policy decisions - labels: - category: data - layer: rego - software: - - google-calendar - inventors: - - styra - code: - - https://github.com/anderseknert/opa-google-calendar - blogs: - - https://blog.styra.com/blog/the-power-of-data-calendar-based-policy-enforcement - - gcp-forseti: - title: GCP audit with Forseti - description: | - Google cloud provides a plethora of software as a service. - Forseti, built using OPA, lets you run policy checks against the software resources on Google cloud and remediate violations. - labels: - category: publiccloud - inventors: - - google - code: - - https://forsetisecurity.org - videos: - - title: Repeatable GCP Environments at Scale with Cloud Build Infra-as-Code Pipelines - speakers: - - name: Morgante Pell - organization: google - - name: Andrew Phillips - organization: google - venue: Cloud Next 2019 - link: https://www.youtube.com/watch?v=3vfXQxWJazM&feature=youtu.be&t=2054 - - aws-api-gateway: - title: AWS API Gateway - description: The AWS API Gateway controls API traffic for your application running on AWS. OPA can be configured as an external authorizer for that Gateway to implement authorization policies on APIs. - labels: - category: servicemesh - layer: gateway - code: - - https://github.com/zotoio/sls-lambda-opa - - antlr: - title: ANTLR Grammar - description: ANTLR4 grammar for Rego. - labels: - category: utilities - layer: rego - code: - - https://github.com/antlr/grammars-v4 - inventors: - - independent - - traefik-api-gateway: - title: Traefik API Gateway - description: | - The Traefik API Gateway is open-source software that controls API traffic into your application. - OPA can be configured as a plugin to implement authorization policies for those APIs. - labels: - category: servicemesh - layer: gateway - blogs: - - https://medium.com/etermax-technology/api-authorization-with-kubernetes-traefik-and-open-policy-agent-23647fc384a1 - code: - - https://github.com/edgeflare/traefik-opa-proxy - - nodejs-express: - title: NodeJS express - description: | - Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. - OPA can be used to implement authorization policies for APIs used in the express framework. - labels: - category: application - layer: network - code: - - https://github.com/build-security/opa-express-middleware - inventors: - - build.security - docs_features: - rest-api-integration: - note: | - This project provides a middleware that can query an OPA server for - policy decisions. See the project's - [README](https://github.com/build-security/opa-express-middleware#simple-usage) - for a js simple example. - - nginx: - title: Nginx - description: OPA Authorization for Nginx - labels: - category: gateway - layer: network - software: - - nginx - code: - - https://github.com/summerwind/opa-nginx-rbac - - asp-dotnet-core: - title: ASP.NET Core - description: | - Use ASP.NET Core to create web apps and services that are fast, secure, cross-platform, and cloud-based. - OPA can be used to implement authorization policies for APIs used in the ASP.NET Core framework. - labels: - category: application - layer: network - code: - - https://github.com/build-security/OPA-AspDotNetCore-Middleware - inventors: - - build.security - - gloo-api-gateway: - title: Gloo API Gateway - description: | - Gloo is an open-source Kubernetes-native ingress controller, and next-generation API gateway. - OPA can be used to implement authorization policies for those APIs. - labels: - category: servicemesh - layer: gateway - blogs: - - https://medium.com/solo-io/5-min-with-gloo-api-gateway-configuration-with-open-policy-agent-53da276a6534 - - https://docs.solo.io/gloo/latest/security/auth/opa/ - - envoy-authorization: - title: Container Network Authorization with Envoy - subtitle: Official OPA Envoy Integration - description: Envoy is a networking abstraction for cloud-native applications. OPA hooks into Envoy’s external authorization filter to provide fine-grained, context-aware authorization for network or HTTP requests. - labels: - category: servicemesh - layer: network - software: - - envoy - tutorials: - - https://github.com/tsandall/minimal-opa-envoy-example/blob/master/README.md - - https://www.openpolicyagent.org/docs/latest/envoy-introduction/ - code: - - https://github.com/open-policy-agent/opa-envoy-plugin - - https://github.com/tsandall/minimal-opa-envoy-example - inventors: - - styra - blogs: - - https://blog.openpolicyagent.org/envoy-external-authorization-with-opa-578213ed567c - videos: - - title: "OPA at Scale: How Pinterest Manages Policy Distribution" - speakers: - - name: Will Fu - organization: pinterest - - name: Jeremy Krach - organization: pinterest - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=LhgxFICWsA8 - - title: "Deploying Open Policy Agent at Atlassian" - speakers: - - name: Chris Stivers - organization: atlassian - - name: Nicholas Higgins - organization: atlassian - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=nvRTO8xjmrg - - title: How Yelp Moved Security From the App to the Mesh with Envoy and OPA - speakers: - - name: Daniel Popescu - organization: yelp - - name: Ben Plotnick - organization: yelp - venue: Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=Z6aN3Smt-9M - docs_features: - envoy: - note: | - The - [opa-envoy-plugin](https://github.com/open-policy-agent/opa-envoy-plugin) - project is the official integration for OPA and Envoy. - rest-api-integration: - note: | - The [opa-envoy-plugin](https://github.com/open-policy-agent/opa-envoy-plugin) - project uses the REST API to allow and deny requests routed via an Envoy proxy. - - Read about this integration in the - [OPA Docs](https://www.openpolicyagent.org/docs/latest/envoy-introduction/). - - custom-library-microservice-authorization: - title: Library-based Microservice Authorization - description: Microservice authorization can be enforced through a network proxy like Envoy/Istio/Linkerd/... - or can be enforced by modifying the microservice code to use a common library. In both cases - OPA makes the authorization decision that the network proxy or the library enforce. - labels: - category: servicemesh - layer: library - videos: - - title: How Netflix is Solving Authorization Across Their Cloud - speakers: - - name: Manish Mehta - organization: netflix - - name: Torin Sandall - organization: styra - venue: Kubecon Austin 2017 - link: https://www.youtube.com/watch?v=R6tUNpRpdnY - - istio-authorization-mixer: - title: Container Network Authorization with Istio (as part of Mixer) - description: Istio is a networking abstraction for cloud-native applications. In this Istio integration OPA hooks into the centralized Mixer component of Istio, to provide fine-grained, context-aware authorization for network or HTTP requests. - labels: - category: servicemesh - layer: network - software: - - istio - tutorials: - - https://istio.io/docs/reference/config/policy-and-telemetry/adapters/opa/ - code: - - https://github.com/istio/istio/tree/master/mixer/adapter/opa - inventors: - - google - - openfaas-function-authorization: - title: OpenFaaS Serverless Function Authorization - description: OpenFaaS is a serverless function framework that runs on Docker Swarm and Kubernetes. OPA makes it possible to provide fine-grained context-aware authorization on a per-function basis. - labels: - layer: application - category: serverless - software: - - openfaas - code: - - https://github.com/adaptant-labs/openfaas-function-auth-opa - tutorials: - - https://github.com/adaptant-labs/openfaas-function-auth-opa/blob/master/README.md - inventors: - - adaptant - - kong-authorization: - title: API Gateway Authorization with Kong - description: Kong is a microservice API Gateway. OPA provides fine-grained, context-aware control over the requests that Kong receives. - labels: - layer: network - category: gateway - software: - - kong - code: - - https://github.com/TravelNest/kong-authorization-opa - - https://github.com/open-policy-agent/contrib/tree/master/kong_api_authz - inventors: - - travelnest - - wada-ama - - linux-pam: - title: SSH and Sudo Authorization with Linux - description: Host-level access controls are an important part of every organization's security strategy. OPA provides fine-grained, context-aware controls for SSH and sudo using Linux-PAM. - software: - - linuxpam - labels: - layer: server - tutorials: - - https://www.openpolicyagent.org/docs/ssh-and-sudo-authorization.html - code: - - https://github.com/open-policy-agent/contrib/tree/master/pam_opa - inventors: - - styra - - kafka-authorization: - title: Kafka Topic Authorization - description: Apache Kafka is a high-performance distributed streaming platform deployed by thousands of companies. OPA provides fine-grained, context-aware access control of which users can read/write which Kafka topics to enforce important requirements around confidentiality and integrity. - software: - - kafka - labels: - category: streaming - layer: data - blogs: - - https://opencredo.com/blogs/controlling-kafka-data-flows-using-open-policy-agent/ - tutorials: - - https://www.openpolicyagent.org/docs/latest/kafka-authorization/ - code: - - https://github.com/StyraInc/opa-kafka-plugin - - https://github.com/llofberg/kafka-authorizer-opa - - https://github.com/opencredo/opa-single-message-transformer - inventors: - - ticketmaster - - styra - videos: - - title: "OPA at Scale: How Pinterest Manages Policy Distribution" - speakers: - - name: Will Fu - organization: pinterest - - name: Jeremy Krach - organization: pinterest - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=LhgxFICWsA8 - docs_features: - rest-api-integration: - note: | - This project implements a custom - [Kafka authorizer](https://docs.confluent.io/platform/current/kafka/authorization.html#authorizer) - that uses OPA to make authorization decisions by calling the REST API. - - Installation and configuration instructions are available in the - project's [README](https://github.com/StyraInc/opa-kafka-plugin#installation). - - strimzi: - title: Strimzi (Apache Kafka on Kubernetes) - description: Strimzi provides a way to run an Apache Kafka cluster on Kubernetes in various deployment configurations. Strimzi ships with the OPA authorizer plugin right out of the box, and supports OPA as an option for Kafka authorization. - software: - - kafka - - strimzi - labels: - category: streaming - layer: data - blogs: - - https://strimzi.io/blog/2020/08/05/using-open-policy-agent-with-strimzi-and-apache-kafka/ - - https://strimzi.io/blog/2020/09/01/enforce-custom-resource-policies-with-opa-gatekeeper/ - code: - - https://github.com/strimzi/strimzi-kafka-operator - - https://github.com/scholzj/demo-opa-kafka-authorization - - https://github.com/StyraInc/opa-kafka-plugin - inventors: - - redhat - docs_features: - rest-api-integration: - note: | - Strimzi can be configured to use OPA via the REST API as the Kafka - authorizer using [this project](https://github.com/scholzj/demo-opa-kafka-authorization). - - ceph: - title: Ceph Object Storage Authorization - description: Ceph is a highly scalable distributed storage solution that uniquely delivers object, block, and file storage in one unified system. OPA provides fine-grained, context-aware authorization of the information stored within Ceph. - software: - - ceph - labels: - category: object - layer: data - tutorials: - - https://docs.ceph.com/docs/master/radosgw/opa/ - - https://www.katacoda.com/styra/scenarios/opa-ceph - inventors: - - styra - - redhat - videos: - - https://www.youtube.com/watch?v=9m4FymEvOqM&feature=share - docs_feature: - rest-api-integration: - note: | - The Ceph Object Gateway implements a native integration with OPA using - the REST API. - The [integration is documented](https://docs.ceph.com/en/latest/radosgw/opa/) - in the Ceph docs. - - clojure: - title: App authorization for Clojure - description: Authorization middleware for Ring based apps and other utilities for working with OPA in Clojure. - software: - - clojure - labels: - layer: network - category: application - code: - - https://github.com/anderseknert/clj-opa - inventors: - - styra - - open-service-mesh: - title: Open Service Mesh (OSM) - description: Open Service Mesh is a lightweight and extensible cloud native service mesh. - software: - - osm - labels: - category: servicemesh - layer: network - tutorials: - - https://release-v1-2.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/ - docs_features: - envoy: - note: | - External Authorization supports OPA and is documented - [here](https://release-v1-2.docs.openservicemesh.io/docs/guides/integrations/external_auth_opa/) - - minio: - title: Minio API Authorization - description: Minio is an open source, on-premise object database compatible with the Amazon S3 API. This integration lets OPA enforce policies on Minio's API. - software: - - minio - labels: - layer: data - category: authorization - tutorials: - - https://github.com/minio/minio/blob/master/docs/iam/opa.md - inventors: - - minio - - styra - docs_features: - rest-api-integration: - note: | - Minio implements a native integration with OPA using the REST API. - The [integration is documented](https://github.com/minio/minio/blob/master/docs/iam/opa.md) - in the Minio docs. - - terraform: - title: Terraform Policy - description: Terraform lets you describe the infrastructure you want and automatically creates, deletes, and modifies your existing infrastructure to match. OPA makes it possible to write policies that test the changes Terraform is about to make before it makes them. - software: - - terraform - - aws - - gcp - - azure - labels: - category: publiccloud - layer: orchestration - tutorials: - - https://www.openpolicyagent.org/docs/terraform.html - - https://github.com/instrumenta/conftest/blob/master/README.md - code: - - https://github.com/instrumenta/conftest - - https://github.com/fugue/regula - - https://github.com/accurics/terrascan - - https://github.com/Checkmarx/kics - - https://github.com/open-policy-agent/library/tree/master/terraform - - https://github.com/accurics/terrascan/tree/master/pkg/policies/opa/rego - - https://github.com/Checkmarx/kics/tree/master/assets/queries/terraform - blogs: - - https://blog.styra.com/blog/policy-based-infrastructure-guardrails-with-terraform-and-opa - inventors: - - fugue - - accurics - - checkmarx - - medallia - - styra - - docker - - snyk - - terraform-cloud: - title: Terraform Cloud - description: | - Policies are rules that Terraform Cloud enforces on runs. - You use the Rego policy language to write policies for the - Open Policy Agent (OPA) framework. - software: - - terraform - - terraform-cloud - - aws - - gcp - - azure - labels: - category: publiccloud - layer: orchestration - tutorials: - - https://developer.hashicorp.com/terraform/cloud-docs/policy-enforcement/opa - - https://developer.hashicorp.com/terraform/tutorials/cloud/drift-and-opa - - https://developer.hashicorp.com/terraform/cloud-docs/policy-enforcement/opa/vcs - videos: - - title: "Terraform Cloud Learn Lab: Validate Infrastructure and Enforce OPA Policies" - speakers: - - name: Rita Sokolova - organization: HashiCorp - - name: Cole Morrison - organization: HashiCorp - venue: HashiConf Europe 2022 - link: https://www.youtube.com/watch?v=jO2CiYMPxFE - inventors: - - hashicorp - 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). - - pulumi: - title: Pulumi - description: Build infrastructure as code in familiar languages. CrossGuard is Pulumi's policy as code offering, providing OPA as one of the options to use for defining policy. - software: - - pulumi - - aws - - gcp - - azure - labels: - category: publiccloud - layer: orchestration - code: - - https://github.com/pulumi/pulumi-policy-opa - blogs: - - https://www.pulumi.com/blog/opa-support-for-crossguard/ - videos: - - title: "Testing Configuration with Open Policy Agent" - speakers: - - name: Gareth Rushgrove - organization: snyk - venue: Cloud Engineering Summit 2020 - link: https://www.pulumi.com/resources/testing-configuration-with-open-policy-agent/ - inventors: - - pulumi - docs_features: - go-integration: - note: | - The Pulumi OPA bridge uses the Rego API to evaluate policies in a - policy pack. View the [docs and code](https://github.com/pulumi/pulumi-policy-opa). - - iptables: - title: IPTables - description: IPTables is a useful tool available to Linux kernel for filtering network packets. OPA makes it possible to manage IPTables rules using context-aware policy. - labels: - layer: network - category: linux - software: - - linux - tutorials: - - https://github.com/open-policy-agent/contrib/blob/master/opa-iptables/docs/tutorial.md - code: - - https://github.com/open-policy-agent/contrib/tree/master/opa-iptables - inventors: - - gsoc - - cisco - - styra - - dart-authorization: - title: HTTP API Authorization in Dart - description: This integration demonstrates how to leverage OPA to perform basic HTTP API authorization in a simple Dart microservice. OPA makes it possible to provide fine-grained context-aware authorization for each REST endpoint and access method. - labels: - layer: network - category: application - software: - - dart - tutorials: - - https://github.com/adaptant-labs/opa-api-authz-dart/README.md - code: - - https://github.com/adaptant-labs/opa-api-authz-dart - inventors: - - adaptant - - springsecurity-api: - title: Authorization for Java Spring Security - description: Spring Security provides a framework for securing Java applications. These integrations provide simple implementations for Spring Security that use OPA for making API authorization decisions. They provide support for both traditional Spring Security (MVC), as well as an implementation for Spring Reactive (Web Flux). - labels: - layer: network - category: application - software: - - javaspringsecurity - code: - - https://github.com/open-policy-agent/contrib/tree/master/spring_authz - - https://github.com/Bisnode/opa-spring-security - - https://github.com/build-security/opa-java-spring-client - - https://github.com/massenz/jwt-opa - - https://github.com/eugenp/tutorials/tree/master/spring-security-modules/spring-security-opa - - tutorials: - - https://github.com/open-policy-agent/contrib/blob/master/spring_authz/README.md - - https://github.com/massenz/jwt-opa#web-server-demo-app - - https://www.baeldung.com/spring-security-authorization-opa - inventors: - - styra - - build.security - - bisnode - - alertavert - docs_features: - rest-api-integration: - note: | - OPA Spring Security uses the REST API to query OPA about authz decisions. - See an example application in OPA's - [contrib repo](https://github.com/open-policy-agent/contrib/tree/main/spring_authz). - - spinnaker-pipeline: - title: Spinnaker Pipeline Policy Enforcment - description: Spinnaker is a Continuous Delivery and Deployment tool started by Netflix. OPA lets you configure policies that dictate what kinds of Spinnaker pipelines developers can create. - labels: - layer: cicd - software: - - spinnaker - blogs: - - https://blog.armory.io/deployment-policies-with-spinnaker/ - tutorials: - - https://docs.armory.io/spinnaker/policy_engine/ - inventors: - - armory - - java: - title: Authorization for Java - description: Integrations for interacting with OPA from Java - labels: - layer: network - category: application - software: - - java - code: - - https://github.com/Bisnode/opa-java-client - inventors: - - bisnode - - jenkins-job-authorization: - title: Jenkins Job Trigger Policy Enforcement - description: Jenkins automates software development processes. OPA lets you control which people and which machines can run which Jenkins jobs. - labels: - layer: cicd - software: - - jenkins - inventors: - - pinterest - videos: - - title: "OPA at Scale: How Pinterest Manages Policy Distribution" - speakers: - - name: Will Fu - organization: pinterest - - name: Jeremy Krach - organization: pinterest - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=LhgxFICWsA8 - - - elasticsearch-datafiltering: - title: Elasticsearch Data Filtering - description: Elasticsearch is a distributed, open source search and analytics engine. This OPA integration lets an elasticsearch client construct queries so that the data returned by elasticsearch obeys OPA-defined policies. - labels: - layer: data - category: filtering - software: - - elasticsearch - code: - - https://github.com/open-policy-agent/contrib/tree/master/data_filter_elasticsearch - tutorials: - - https://github.com/open-policy-agent/contrib/blob/master/data_filter_elasticsearch/README.md - inventors: - - styra - - sql-datafiltering: - title: SQL Database Data Filtering - description: This integration enables the client of a SQL database to enhance a SQL query so that the results obey an OPA-defined policy. - labels: - layer: data - category: filtering - software: - - sqlite - code: - - https://github.com/open-policy-agent/contrib/tree/master/data_filter_example - blogs: - - https://blog.openpolicyagent.org/write-policy-in-opa-enforce-policy-in-sql-d9d24db93bf4 - inventors: - - styra - - clair-datasource: - title: Kubernetes Admission Control using Vulnerability Scanning - description: | - Admission control policies in Kubernetes can be augmented with - vulnerability scanning results to make more informed decisions. - This integration demonstrates how to integrate CoreOS Clair with OPA and - run it as an admission controller. - software: - - kubernetes - - clair - labels: - layer: orchestration - category: containers - datasource: clair - code: - - https://github.com/open-policy-agent/contrib/tree/master/image_enforcer - tutorials: - - https://github.com/open-policy-agent/contrib/blob/master/image_enforcer/README.md - docs_features: - rest-api-integration: - note: | - This example project in - [OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/image_enforcer) - uses OPA over the REST API to enforce admission policy based on - vulnerability scanning results. - kubernetes: - note: | - This example project in - [OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/image_enforcer) - uses OPA to enforce admission policy in Kubernetes. - - cloudflare-worker: - title: Cloudflare Worker Enforcement of OPA Policies Using Wasm - description: | - Cloudflare Workers are a serverless platform that supports Wasm. - This integration uses OPA's Wasm compiler to generate code enforced at the edge of Cloudflare's network. - software: - - cloudflare - labels: - layer: application - category: serverless - code: - - https://github.com/open-policy-agent/contrib/tree/master/wasm/cloudflare-worker - tutorials: - - https://github.com/open-policy-agent/contrib/blob/master/wasm/cloudflare-worker/README.md - docs_features: - wasm-integration: - note: | - This example project in - [OPA contrib](https://github.com/open-policy-agent/contrib/tree/main/wasm/cloudflare-worker) - uses the - [NodeJS OPA Wasm Module](https://github.com/open-policy-agent/npm-opa-wasm) - to enforce policy at the edge of Cloudflare's network. - - docker-machine: - title: Docker controls via OPA Policies - description: Docker's out of the box authorization model is all or nothing. This integration demonstrates how to use OPA's context-aware policies to exert fine-grained control over Docker. - software: - - docker - labels: - layer: server - category: container - code: - - https://github.com/open-policy-agent/opa-docker-authz - tutorials: - - https://www.openpolicyagent.org/docs/latest/docker-authorization/ - inventors: - - styra - - gatekeeper: - title: OPA Gatekeeper - subtitle: Rego Policy Controller for Kubernetes - description: Manage Rego Kubernetes admission policies using Custom Resources. - labels: - type: poweredbyopa - layer: configuration - code: - - https://github.com/open-policy-agent/gatekeeper - software: - - kubernetes - tutorials: - - https://open-policy-agent.github.io/gatekeeper/website/docs/howto - videos: - - https://youtu.be/RMiovzGGCfI?t=1049 - - https://youtu.be/6RNp3m_THw4?t=864 - docs_features: - go-integration: - note: | - OPA Gatekeeper is written in Go and uses the - [Rego Go API](https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-api) - to evaluate policies loaded from Custom Resources. - kubernetes: - note: | - OPA Gatekeeper integrates with - [Kubernetes Admission](https://open-policy-agent.github.io/gatekeeper/website/docs/customize-admission/) - and also uses Custom Resources and the Kubernetes API server to - store policy state. - - conftest: - title: Conftest - subtitle: Rego policy for configuration files - description: Conftest is a utility built on top of OPA to help you write tests against structured configuration data. - labels: - type: poweredbyopa - layer: configuration - code: - - https://github.com/open-policy-agent/conftest - software: - - kustomize - - terraform - - aws - - toml - - docker - tutorials: - - https://www.conftest.dev - - https://www.conftest.dev/examples/ - videos: - - title: "Applying Policy Throughout the Application Lifecycle with Open Policy Agent" - speakers: - - name: Gareth Rushgrove - organization: snyk - venue: Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=cXfsaE6RKfc - - title: "Terraform Code Reviews: Supercharged with Conftest" - speakers: - - name: Jay Wallace - organization: doordash - venue: Hashitalks 2020 - link: https://www.youtube.com/watch?v=ziKT-ZjZ7mM - docs_features: - policy-testing: - note: | - Conftest supports unit testing of policy and has a number of extra language - features for working with configuration files. The functionality is - [documented here](https://www.conftest.dev/#testingverifying-policies). - go-integration: - note: | - Conftest is written in Go and uses the - [Rego Go API](https://www.openpolicyagent.org/docs/latest/integration/#integrating-with-the-go-api). - opa-bundles: - note: | - Conftest supports the loading of policy in a bundle format. The feature - is [documented here](https://www.conftest.dev/sharing/). - terraform: - note: | - Conftest has generic support for Terraform source files defined in HCL. - There is an example provided here on - [GitHub](https://github.com/open-policy-agent/conftest/tree/master/examples/hcl2). - - boomerang-bosun: - title: Boomerang Bosun Policy Gating - description: Boomerang Bosun is a policy-based gating system that combines Policy Templates with Rules and data to validate Gates. - labels: - type: poweredbyopa - layer: application - code: - - https://www.useboomerang.io/ - - https://github.com/boomerang-io - inventors: - - ibm - - boomerang - software: - - bosun - docs_features: - rest-api-integration: - note: | - The - [Boomerang Bosun Service](https://github.com/boomerang-io/bosun.service.policy) - component interacts with an OPA instance over the REST API to evaluate - policy during CICD runs. - - - kubeshield: - title: KubeShield - subtitle: Secure Kubernetes using eBPF & Open Policy Agent - description: Ensure runtime security in any linux machine by combining Extended Berkeley Packet Filter(eBPF) and Open Policy Agent. - software: - - linux - - kubernetes - - ebpf - labels: - layer: application - category: filtering - code: - - https://github.com/kubeshield/bpf-opa-demo - blogs: - - https://blog.byte.builders/post/bpf-opa/ - docs_features: - kubernetes: - note: | - KubeShield implements runtime policy for containers in a Kubernetes - cluster using eBPF. Follow the - [tutorial here](https://github.com/kubeshield/bpf-opa-demo#usage) - to get up and running. - - - php-authorization: - title: PHP OPA Library - description: These integrations demonstrate using OPA to perform API authorization in PSR-15 and Symfony compliant frameworks. - labels: - layer: network - category: application - software: - - php - tutorials: - - https://coil.com/p/segra/OPA-for-API-Authorization-with-Slim-PHP/H-7YsQL2m - code: - - https://github.com/segrax/opa-php-examples - - https://github.com/segrax/openpolicyagent - - https://github.com/build-security/opa-symfony-middleware - inventors: - - build.security - docs_features: - rest-api-integration: - note: | - This library provides a PHP wrapper around the OPA REST API. It can - update policies and query for decisions. See the - [project README](https://github.com/segrax/openpolicyagent) - for various examples. - - gradle-plugin: - title: Gradle Build Plugin - description: Build plugin adding various tasks to support using OPA as part of Gradle builds - labels: - layer: cicd - category: cicdplugin - type: poweredbyopa - software: - - gradle - - java - - groovy - - kotlin - code: - - https://github.com/Bisnode/opa-gradle-plugin - - https://plugins.gradle.org/plugin/com.bisnode.opa - inventors: - - bisnode - - chef-automate: - title: Chef Automate - subtitle: Operational Visibility Dashboard - description: | - Application require authorization decisions made at the API gateway, frontend, backend, and database. - OPA helps developers decouple authorization logic from application code, define a custom authorization model - that enables end-users to control tenant permissions, and enforce that policy across the different components of the - application (gateway, frontend, backend, database). - tutorials: - - https://github.com/chef/automate/tree/master/components/authz-service#authz-with-opa - blogs: - - https://blog.verygoodsecurity.com/posts/building-a-fine-grained-permission-system-in-a-distributed-environment/ - - https://choria.io/blog/post/2020/02/14/rego_policies_opa/ - videos: - - title: "OPA in Practice: From Angular to OPA in Chef Automate" - speakers: - - name: Michael Sorens - organization: chef - venue: OPA Summit at Kubecon San Diego 2019 - link: https://www.youtube.com/watch?v=jrrW855xL3s - docs_features: - go-integration: - note: | - Chef Automate uses the Go Rego API to evaluate authorization policies - controlling access to its own API endpoints. The feature is - [documented here](https://github.com/chef/automate/tree/master/components/authz-service#authz-with-opa). - - sysdig-image-scanner: - title: Sysdig Image Scanner Admission Controller - description: Sysdig’s OPA Image Scanner combines Sysdig Secure image scanner with OPA policy-based rego language to evaluate the scan results and the admission context, providing great flexibility on the admission decision. - software: - - kubernetes - - sysdigsecure - labels: - category: containers - layer: orchestration - code: - - https://github.com/sysdiglabs/opa-image-scanner - inventors: - - sysdig - docs_feature: - kubernetes: - note: | - Integrates image scanning results with Kubernetes admission checks - using Rego to make pod admission decisions. See the - [README](https://github.com/sysdiglabs/opa-image-scanner#overview) - for more details. - - pomerium-authz: - title: Pomerium Access Proxy - description: Pomerium is an identity-aware proxy that enables secure access to internal applications. OPA implements authorization under the hood. - labels: - layer: network - category: proxy - software: - - pomerium - blogs: - - https://www.pomerium.io/posts/2020/04/16/release-0-7/ - code: - - https://github.com/pomerium/pomerium - - coredns-authz: - title: CoreDNS Authorization - description: CoreDNS is a cloud-native DNS server written in Go. OPA can be used as a plugin to filter queries and responses. - labels: - layer: network - category: dns - software: - - coredns - code: - - https://github.com/coredns/policy - inventors: - - infoblox - - gluu-gateway-authz: - title: Gluu Gateway Authorization - description: Gluu Gateway provides API authentication and authorization for websites built on Kong. Gluu provides an OPA plugin to handle API authorization. - labels: - layer: network - category: gateway - software: - - gluu - - kong - code: - - https://github.com/GluuFederation/gluu-gateway - - pre-commit-hooks: - title: Pre-commit hooks - description: Pre-commit git hooks for OPA and Rego development - labels: - category: tooling - layer: cicd - software: - - git - - pre-commit - code: - - https://github.com/anderseknert/pre-commit-opa - blogs: - - https://www.eknert.com/tech/2020/08/31/pre-commit-hooks-for-opa - inventors: - - independent - - scalr-iacp: - title: Scalr - subtitle: Policy enforcement for Terraform - description: Scalr allows teams to easily collaborate on Terraform through its pipeline that runs all Terraform operations, policy checks, and stores state. Scalr uses OPA to check the auto-generated Terraform JSON plan to ensure that it meets your organization standards prior to an apply. - labels: - category: Infrastructure as Code - layer: cicd - software: - - terraform - tutorials: - - https://iacp.docs.scalr.com/en/latest/working-with-iacp/opa.html#creating-the-opa-policy - code: - - https://github.com/Scalr/sample-tf-opa-policies - inventors: - - scalr - blogs: - - https://www.scalr.com/blog/opa-is-to-policy-automation-as-terraform-is-to-iac/ - docs_features: - cli-integration: - note: | - These policies can be run using OPA at the command line against a - Terraform plan JSON. See - [the example](https://github.com/Scalr/sample-tf-opa-policies#policy-evaluation) - in the README. - terraform: - note: | - These policies can be run using OPA at the command line against a - Terraform plan JSON. See - [the example](https://github.com/Scalr/sample-tf-opa-policies#policy-evaluation) - in the README. - - spire: - title: SPIRE - description: SPIRE is a production-ready implementation of the SPIFFE APIs that performs node and workload attestation in order to securely issue SPIFFE Verifiable Identity Documents (SVIDs) to workloads, and verify the SVIDs of other workloads, based on a predefined set of conditions. - labels: - layer: network - category: application - software: - - spiffe - - spire - blogs: - - https://www.styra.com/blog/zero-trust-with-envoy-spire-and-open-policy-agent-opa/ - code: - - https://github.com/spiffe/spire/blob/v1.0.2/doc/authorization_policy_engine.md - tutorials: - - https://spiffe.io/docs/latest/microservices/envoy-opa/readme/ - - https://spiffe.io/docs/latest/microservices/envoy-jwt-opa/readme/ - docs_features: - envoy: - note: | - SPIRE can be used to integrate with Envoy and OPA. See a - [blog here](https://www.styra.com/blog/zero-trust-with-envoy-spire-and-open-policy-agent-opa/) - to learn more. - rest-api-integration: - note: | - SPIRE can work in tandem with the Envoy proxy to integrate with the OPA - REST API. See the - [tutorial here](https://spiffe.io/docs/latest/microservices/envoy-jwt-opa/readme/). - - fairwinds-insights: - title: Fairwinds Insights Configuration Validation Software - description: Automate, monitor and enforce OPA policies with visibility across multiple clusters and multiple teams. It ensures the same policies are applied across all your clusters and gives some flexibility if you want certain policies to apply to only certain workloads. Run the same policies in CI/CD, Admission Control, and In-cluster scanning to apply policy consistently throughout the development and deployment process. - labels: - category: kubernetes - layer: cicd - inventors: - - fairwinds - software: - - kubernetes - - docker - - helm - tutorials: - - https://insights.docs.fairwinds.com/features/policy/ - - https://insights.docs.fairwinds.com/reports/opa/ - - https://insights.docs.fairwinds.com/features/admission-controller/ - - https://insights.docs.fairwinds.com/features/continuous-integration/ - videos: - - https://youtu.be/kmvPYjx1bpU - - https://youtu.be/gxE_Tkj6d40 - blogs: - - https://www.fairwinds.com/blog/managing-opa-policies-with-fairwinds-insights - - https://www.fairwinds.com/blog/manage-open-policy-agent-opa-consistently - - https://www.fairwinds.com/blog/kubernetes-multi-cluster-visibility-why-how-to-get-it - - https://www.fairwinds.com/blog/what-is-kubernetes-policy-as-code - - https://www.fairwinds.com/blog/why-kubernetes-policy-enforcement - - https://www.fairwinds.com/blog/an-interview-with-flatfile-on-why-fairwinds-insights-kubernetes-configuration-validation - docs_features: - kubernetes: - note: | - Implements auditing and admission checking of Kubernetes resources - using Rego policy using - [Polaris](https://github.com/FairwindsOps/Polaris). - - flask-opa: - title: Flask-OPA - description: Simple to use Flask extension that lets you secure your projects with OPA. It allows HTTP API Authorization and Policy Enforcement Point (AOP using decorators on methods). - labels: - category: flask - layer: library - code: - - https://github.com/EliuX/flask-opa - blogs: - - https://github.com/EliuX/flask-opa/tree/master/examples - - permit: - title: Permit.io - description: | - Permit.io empowers developers to bake in permissions and access-control into any product in minutes and takes away the pain of constantly rebuilding them. - Permit is based on OPA. - labels: - category: authorization - layer: application - inventors: - - permitio - code: - - https://github.com/permitio - tutorials: - - https://docs.permit.io/ - videos: - - https://docs.permit.io/tutorials/onboarding_demo - blogs: - - https://www.permit.io/blog/introduction-to-opa - - https://www.permit.io/blog/implement-abac-using-opa - - https://www.permit.io/blog/implement-rbac-using-opa - - opal: - title: OPAL - subtitle: Open Policy Administration Layer - description: | - OPAL is an administration layer for Open Policy Agent (OPA), detecting changes in realtime to both policy and policy data and pushing live updates to your agents. - OPAL brings open-policy up to the speed needed by live applications. As your application state changes (whether it's via your APIs, DBs, git, S3 or 3rd-party SaaS services), OPAL will make sure your services are always in sync with the authorization data and policy they need (and only those they need). - labels: - category: updates - layer: application - inventors: - - permitio - software: - - opal - code: - - https://github.com/permitio/opal - tutorials: - - https://github.com/permitio/opal/tree/master/documentation/docs/tutorials - videos: - - https://www.youtube.com/watch?v=K1Zm2FPfrh8 - docs_features: - rest-api-integration: - note: | - OPAL uses the OPA REST API to update the policy and data pushed down - from the OPAL server. - See [how this works](https://docs.opal.ac/overview/architecture). - external-data: - note: | - The OPAL Client uses the OPA REST API to update the state pushed down - from the OPAL server. - See [how this works](https://docs.opal.ac/overview/architecture). - external-data-realtime-push: - note: | - OPAL is able to deliver real-time data updates to OPA instances. - See - [how this works](https://docs.opal.ac/getting-started/quickstart/opal-playground/publishing-data-update) - in the OPAL docs. - - optoggles: - title: OPToggles (Open Policy Toggles) - description: | - OPToggles uses OPA and OPAL to sync open-policy to your frontend with the help of feature flag solutions. - OPToggles creates user-targeted feature flags based on the policy rules you defined in OPA and keeps the users updated in real-time with OPAL's real-time policy and policy-data change detection. - OPToggles already supports launchdarkly.com and a generic REST API. - labels: - category: updates - layer: application - inventors: - - permitio - code: - - https://github.com/permitio/OPToggles - tutorials: - - https://optoggles.opal.ac/tutorials/demo - - bottle: - title: Bottle Application Authorization - description: | - This integration demonstrates using Open Policy Agent to perform API authorization for a Python application backed by Bottle. - Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. - labels: - layer: network - category: application - inventors: - - dolevf - software: - - bottle - code: - - https://github.com/dolevf/bottle-acl-openpolicyagent - blogs: - - https://blog.lethalbit.com/open-policy-agent-for-bottle-web-framework/ - docs_features: - rest-api-integration: - note: | - This sample python application calls has a middleware to call OPA - before processing each request. See the - [example code](https://github.com/dolevf/bottle-acl-openpolicyagent/blob/00a4336/main.py#L37). - - kubescape: - title: Kubescape - subtitle: Kubernetes security posture scanner - description: | - This integration uses OPA for defining security controls over Kubernetes clusters. Kubescape is a simple extensible tool - finding security problems in your environment. OPA enables Kubescape to implement and extend very fast to answer new problems. - labels: - category: security - layer: application - software: - - kubescape - code: - - https://github.com/kubescape/kubescape - - https://github.com/kubescape/regolibrary - inventors: - - armo - tutorials: - - https://hub.armosec.io/docs - docs_features: - go-integration: - note: | - Kubescape uses the Go Repo API to test Kubernetes objects against - a range of posture controls. - - i2scim: - title: i2scim.io SCIM Restful User/Group Provisioning API - description: | - i2scim.io is an open source, Apache 2 Licensed, implementation of SCIM (System for Cross-domain Identity Management RFC7643/7644) for use - cloud-native kubernetes platforms. i2scim supports externalized access control decisions through OPA. SCIM is a RESTful HTTP API that can be - used to provide a standardized way to provision accounts from Azure, Okta, PingIdentity and other providers and tools. SCIM can also be used - as a backing identity store for OAuth and other authentication services. - labels: - category: security - layer: application - software: - - i2scim - code: - - https://github.com/i2-open/i2scim - - https://i2scim.io - inventors: - - i2 - tutorials: - - https://i2scim.io/OPA_AccessControl.html - docs_features: - rest-api-integration: - note: | - i2scim supports externalized access control decisions using OPA's REST API. - The integration is described in the [i2scim documentation](https://i2scim.io/OPA_AccessControl.html). - - graphene-graphql: - title: Custom Application with Field-level Authorization in Graphene GraphQL - description: | - This integration demonstrates using Open Policy Agent to perform field-level Authorization with GraphQL for a custom Python application backed by Graphene. - labels: - layer: network - category: application - software: - - graphene-graphql - code: - - https://github.com/dolevf/graphql-open-policy-agent - - regal: - title: Regal - subtitle: The Linter of Rego Language - description: | - Regal is a linter for Rego, with the goal of making your Rego magnificent! - - Regal can: - * Identify common mistakes, bugs and inefficiencies in Rego policies, and suggest better approaches - * Provide advice on best practices, coding style, and tooling - * Allow users, teams and organizations to enforce custom rules on their policy code - labels: - category: tooling - layer: shell - software: - - regal - inventors: - - styra - blogs: - - https://www.styra.com/blog/guarding-the-guardrails-introducing-regal-the-rego-linter/ - code: - - https://github.com/StyraInc/regal - videos: - - https://www.youtube.com/live/Xx8npd2TQJ0?feature=share&t=2567 - tutorials: - - https://github.com/StyraInc/regal#try-it-out - docs_features: - learning-rego: - note: | - Regal can automatically check for common Rego mistakes as you code. - Each violation is accompanied by a detailed explanation which can be a - great learning tool for new Rego users. See the - [Supported Rules](https://github.com/StyraInc/regal/tree/main#rules). - go-integration: - note: | - Regal is built using the Go Rego API. Regal evaluates linting rules - defined in Rego against the Rego AST of policy files. The - [linter package](https://github.com/StyraInc/regal/blob/main/pkg/linter/linter.go) - is a good place to see how OPA is used in the project. - policy-testing: - note: | - Regal is a useful step to use when testing Rego policies to ensure - code is correct and free of common errors. See - [the README](https://github.com/StyraInc/regal#try-it-out) - to get started. - - rekor: - title: Rekor transparency log monitoring and alerting - description: | - Rekor Sidekick monitors a Rekor signature transparency log and forwards events of interest where ever you like. - Alert policies written in Rego determine if an event is of interest. - labels: - category: security - layer: application - software: - - rekor - inventors: - - sigstore - code: - - https://github.com/nsmith5/rekor-sidekick - videos: - - https://www.youtube.com/watch?v=lHSLPIo1pz8 - - cosign: - title: Container Signing, Verification and Storage in an OCI registry - description: | - Cosign is a tool for container image signing and verifying maintained under the Project Sigstore - in collaboration with the Linux Foundation. Among other features, Cosign supports KMS signing, - built-in binary transparency, and timestamping service with Rekor and Kubernetes policy enforcement. - labels: - category: security - layer: application - software: - - cosign - inventors: - - sigstore - code: - - https://docs.sigstore.dev/cosign/attestation#validate-in-toto-attestations - - https://github.com/sigstore/cosign-gatekeeper-provider - vides: - - https://www.youtube.com/watch?v=gCi9_4NYyR0 - docs_features: - go-integration: - note: | - Cosign In-Toto attestations can be - [written in Rego](https://docs.sigstore.dev/cosign/attestation/#cosign-custom-predicate-type-and-rego-policy), - these are evaluated in the Cosign binary using the Go API. - - alfred: - title: "Alfred" - subtitle: "Self-hosted OPA playground" - description: | - Alfred introduces a local graphical user interface to interact with Open Policy Agent and acts as an alternative to OPA's playground, allowing the user to keep information related to policy testing locally. - labels: - layer: network - category: application - software: - - alfred - inventors: - - dolevf - code: - - https://github.com/dolevf/Open-Policy-Agent-Alfred - docs_features: - learning-rego: - note: | - Similar to the public [OPA Playground](https://play.openpolicyagent.org/), - Alfred can be used to learn Rego interactively in an environment that - can't use the public playground. Read about - [installation](https://github.com/dolevf/Open-Policy-Agent-Alfred#how-to-install). - - open-policy-registry: - title: Open Policy Registry - subtitle: A Docker-inspired workflow for OPA policies - description: | - The Open Policy Registry project provides a docker-style workflow for OPA policies. - The policy CLI can be used to build, tag, sign, push, and pull OPA policies as OCIv2 container images, - in conjunction with any container registry. - The Open Policy Registry (OPCR) is a reference implementation of a policy registry, built and hosted on GCP. - labels: - category: containers - layer: application - inventors: - - aserto - software: - - open-policy-registry - code: - - https://github.com/opcr-io/policy - tutorials: - - https://www.openpolicyregistry.io/docs/tutorial - blogs: - - https://www.openpolicyregistry.io/blog/docker-workflow-for-opa - docs_features: - go-integration: - note: | - Makes use of the - [OPA Repl package](https://pkg.go.dev/github.com/open-policy-agent/opa/repl) - to interact with an OPA instance. - opa-bundles: - note: | - OPCR policy images can be loaded in over the Bundle API. The feature - it documented in the - [OPCR docs](https://openpolicycontainers.com/docs/opa). - opa-bundles-discovery: - note: | - OPCR images can be loaded in over the Bundle API and contain - discovery bundles. The feature it documented in the - [OPCR docs](https://openpolicycontainers.com/docs/opa). - external-data: - note: | - OPCR policy images can contain data as well as policy. If you need to - distribute data to OPA from an OCI registry, OPCR can build and push - such images. See the docs for - [building images here](https://openpolicycontainers.com/docs/cli/build). - - aserto: - title: Aserto - description: | - Aserto is a cloud-native authorization service that makes it easy to add permissions and RBAC to your SaaS applications and APIs. - Aserto is based on the Open Policy Agent. - labels: - category: authorization - layer: application - type: poweredbyopa - inventors: - - aserto - software: - - aserto - code: - - https://github.com/aserto-dev - - https://github.com/opcr-io - tutorials: - - https://docs.aserto.com/docs - blogs: - - https://www.aserto.com/blog/how-do-aserto-rego-policies-work - - https://www.aserto.com/blog/testing-rego-policies - - https://www.aserto.com/blog/aserto-on-aserto-an-opa-authorization-policy-for-aserto-tenants - - https://www.aserto.com/blog/rego-getting-started - videos: - - https://www.youtube.com/watch?v=RJkgmdjJn_w - - topaz: - title: Topaz - description: | - Topaz is an open source authorization service providing fine grained, real-time, policy based access control for applications and APIs. - Topaz uses OPA as its decision engine, and includes an embedded database that stores subjects, relations, and objects, inspired by the Google Zanzibar data model. - Topaz can be deployed as a sidecar or microservice in your cloud. - labels: - category: authorization - layer: application - type: poweredbyopa - inventors: - - aserto - software: - - topaz - code: - - https://github.com/aserto-dev/topaz - tutorials: - - https://www.topaz.sh - - https://github.com/aserto-dev/topaz#quickstart - blogs: - - https://www.aserto.com/blog/topaz-oss-cloud-native-authorization-combines-opa-zanzibar - docs_features: - go-integration: - note: | - Topaz's Authorizer component makes use of the Rego API to evaluate - policies to make authorization decisions for connected applications. - - emissary-ingress: - title: Emissary-Ingress - description: | - Emissary-Ingress is an open-source Kubernetes-native API Gateway, Layer 7 load balancer and Kubernetes Ingress built on Envoy Proxy. - OPA can be integrated with Emissary as an external authorization service to enforce authorization policies over APIs. - labels: - category: network - layer: gateway - software: - - emissary-ingress - blogs: - - https://www.infracloud.io/blogs/emissary-ingress-opa-integration/ - - magda: - title: Magda - description: | - Magda is a federated, Kubernetes-based, open-source data catalog system. - Working as Magda's central authorisation policy engine, OPA helps not only the API endpoint authorisation. - Magda also uses its partial evaluation feature to translate datasets authorisation decisions to other database-specific DSLs (e.g. SQL or Elasticsearch DSL) and use them for dataset authorisation enforcement in different databases. - labels: - type: poweredbyopa - category: application - layer: application - software: - - magda - code: - - https://github.com/magda-io/magda - blogs: - - https://github.com/magda-io/magda/blob/master/docs/docs/architecture/Guide%20to%20Magda%20Internals.md#authorization-authz - - sansshell: - title: Sansshell - description: A non-interactive daemon for host management - software: - - sansshell - labels: - category: management - layer: server - type: poweredbyopa - code: - - https://github.com/Snowflake-Labs/sansshell - blogs: - - https://www.snowflake.com/blog/sansshell-local-host-agent/ - inventors: - - snowflake - - rond: - title: Rönd - description: | - Rönd is a lightweight container that distributes security policy enforcement throughout your application. - software: - - rond - labels: - category: authorization - layer: application - code: - - https://github.com/rond-authz/rond - tutorials: - - https://github.com/rond-authz/example - videos: - - title: "Rönd - The Open Source K8s sidecar that defines security policies over your APIs" - speakers: - - name: Federico Maggi - organization: mia-platform - link: https://youtu.be/ubT31NtHV8w - inventors: - - mia-platform - blogs: - - https://blog.mia-platform.eu/en/announcing-rond-new-open-source-security-enforcement-over-your-apis - - https://blog.mia-platform.eu/en/how-why-adopted-role-based-access-control-rbac - docs_features: - go-integration: - note: | - The Rönd sidecar uses the OPA Rego API to make API-access - authorization decisions. See the - [OPA evaluator](https://github.com/rond-authz/rond/blob/4c27fa6a127f68b8670a39c792b0e40dac52dafa/core/opaevaluator.go#L173) - code. - - waltid: - title: walt.id SSI Kit - subtitle: Self-Sovereign Identity toolkit with OPA policy support - description: | - Verifying W3C Verifiable Credentials for building SSI (Self-Sovereign Identity) use cases. - labels: - category: authorization - layer: application - type: poweredbyopa - inventors: - - waltid - - blockchainlabum - - netis - software: - - ssikit - code: - - https://github.com/walt-id/waltid-ssikit - tutorials: - - https://docs.walt.id/v/ssikit/ssi-kit/open-policy-agent - - https://docs.walt.id/v/ssikit/concepts/verification-policies/dynamic-policies - videos: - - title: "Verifying W3C Verifiable Credentials with the SSI Kit using OPA (Open Policy Agent)" - speakers: - - name: Severin Stampler - organization: waltid - link: https://youtu.be/mue4UjzOZ3Q - docs_features: - rest-api-integration: - note: | - SSI Kit's CLI exposes policy management commands which update a local - OPA instance. The feature is - [documented in the walt.id docs](https://docs.walt.id/v/ssikit/concepts/open-policy-agent). - - graphql: - title: GraphQL - description: | - GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. - labels: - category: network - layer: application - software: - - graphql - code: - - https://github.com/StyraInc/graphql-apollo-example - tutorials: - - https://www.openpolicyagent.org/docs/graphql-api-authorization/ - - wirelesssecuritylab: - title: ccbr - description: | - CCBR is a policy management system project. It uses the policy language - Rego to implement the CIS benchmark test of cloud native kubernetes. - In addition, it integrates gatekeeper, manages its constraint templates, - constraints and policies, and supports policy deployment and audit inspection. - labels: - category: network - layer: application - software: - - ccbr - code: - - https://github.com/wirelesssecuritylab/ccbr - inventors: - - wirelesssecuritylab - docs_features: - kubernetes: - note: | - Implements the CIS benchmark using Rego for Kubernetes workloads. - - spacelift: - title: Spacelift - description: Spacelift is a sophisticated CI/CD platform for Infrastructure as Code including Terraform, Pulumi, CloudFormation, Kubernetes, and Ansible. Spacelift utilizes Open Policy Agent to support a variety of policy types within the platform and Policy as Code for secure and compliance Infrastructure as Code. - labels: - category: Infrastructure as Code - layer: cicd - software: - - terraform - - pulumi - - cloudformation - - kubernetes - - ansible - - aws - - gcp - - azure - tutorials: - - https://docs.spacelift.io/concepts/policy - code: - - https://github.com/spacelift-io/spacelift-policies-example-library - inventors: - - spacelift - blogs: - - https://spacelift.io/blog/what-is-open-policy-agent-and-how-it-works - docs_features: - rego-language-embedding: - note: | - Spacelift supports Rego as a language to describe policies for IaC - resources. View the docs on - [creating Rego policies](https://docs.spacelift.io/concepts/policy/). - terraform: - note: | - Spacelift supports Rego as a language to describe policies for Terraform - JSON plans. - [This blog](https://spacelift.io/blog/what-is-open-policy-agent-and-how-it-works) - outlines how the integration works. - kubernetes: - note: | - Spacelift supports Rego as a language to describe policies for various - resource types, including Kubernetes. View the - [policy documentation](https://docs.spacelift.io/concepts/policy/) for - more information. - - easegress: - title: Easegress - description: | - Easegress is a Cloud Native API orchestration system. - OPA can be configured as a filter(plugin) to implement authorization policies for the APIs. - labels: - category: gateway - layer: network - code: - - https://github.com/megaease/easegress - inventors: - - megaease - - enterprise-opa: - title: Styra Enterprise OPA - description: An enterprise-grade drop-in replacement for the Open Policy Agent with improved performance and out of the box enterprise integrations - software: - - enterprise-opa - labels: - category: authorization - type: poweredbyopa - tutorials: - - https://docs.styra.com/enterprise-opa/tutorials - - https://docs.styra.com/enterprise-opa/tutorials/performance-testing - - https://docs.styra.com/enterprise-opa/tutorials/grpc-basic-tutorial - - https://docs.styra.com/enterprise-opa/tutorials/grpc-go-tutorial - - https://docs.styra.com/enterprise-opa/tutorials/lia - - https://docs.styra.com/enterprise-opa/tutorials/decision-logs/ - - https://docs.styra.com/enterprise-opa/tutorials/kafka - - https://docs.styra.com/enterprise-opa/tutorials/abac-with-sql - code: - - https://github.com/StyraInc/enterprise-opa - inventors: - - styra - blogs: - - https://www.styra.com/blog/introducing-styra-load-enterprise-opa-distribution-for-data-heavy-authorization/ - videos: - - title: "Start Loving Your Data-heavy Authorization" - speakers: - - name: Torin Sandall - organization: styra - - name: Chris Hendrix - organization: styra - venue: online - link: https://www.youtube.com/watch?v=Is1iBPr1YVs - docs_features: - opa-bundles: - note: | - Its possible to configure bundles for both - [policy](https://docs.styra.com/enterprise-opa/reference/configuration/policy/bundle-api) - and - [data](https://docs.styra.com/enterprise-opa/reference/configuration/data/bundle-api) - in Enterprise OPA. - external-data: - note: | - [Enterprise OPA](https://docs.styra.com/enterprise-opa/) - supports various external data sources, including: - [Kafka](https://docs.styra.com/enterprise-opa/reference/configuration/data/kafka), - [Okta](https://docs.styra.com/enterprise-opa/reference/configuration/data/okta), - [LDAP](https://docs.styra.com/enterprise-opa/reference/configuration/data/ldap), - [HTTP](https://docs.styra.com/enterprise-opa/reference/configuration/data/http), - [Git](https://docs.styra.com/enterprise-opa/reference/configuration/data/git) - and - [S3](https://docs.styra.com/enterprise-opa/reference/configuration/data/s3). - Runtime support for - [SQL](https://docs.styra.com/enterprise-opa/tutorials/abac-with-sql) - is also available. - external-data-runtime: - note: | - [Enterprise OPA](https://docs.styra.com/enterprise-opa/) - can load data from SQL sources at runtime. The feature - [is documented](https://docs.styra.com/enterprise-opa/tutorials/abac-with-sql) - here with an ABAC example. - external-data-realtime-push: - note: | - It's possible to steam data updates to - [Enterprise OPA](https://docs.styra.com/enterprise-opa/) - using Kafka. The Kafka integration is - [documented](https://docs.styra.com/enterprise-opa/tutorials/kafka) - here. - policy-testing: - note: | - [Enterprise OPA's](https://docs.styra.com/enterprise-opa/) - [Live Impact Analysis (LIA) feature](https://docs.styra.com/enterprise-opa/tutorials/lia) - allows you to test changes to Rego policy on running instances. - decision-logging: - note: | - It's possible to send decision logs to a enterprise tools like Splunk, - and Kafka. This enhanced decision logging functionality is - [documented here](https://docs.styra.com/enterprise-opa/tutorials/decision-logs/). - - reposaur: - title: Reposaur - description: Audit, verify and report on development platforms (GitHub and others) easily with pre-defined and/or custom policies. - software: - - github - labels: - category: security - type: poweredbyopa - tutorials: - - https://docs.reposaur.com/guides/writing-your-first-policy - code: - - https://github.com/reposaur/reposaur - inventors: - - reposaur - - carbonetes: - title: Carbonetes - BrainIAC - description: BrainIAC uses static code analysis to analyze IAC code to detect security issues before deployment. This tool can scan for issues like security policy misconfigurations, insecure cloud-based services, and compliance issues. The BrainIAC tool performs a comprehensive code scan and generates reports containing detailed insights into the identified issues.. - software: - - github - - brainiac - labels: - layer: Infrastructure - category: security - type: poweredbyopa - code: - - https://github.com/carbonetes/brainiac - inventors: - - carbonetes - - atmos: - title: Atmos - description: Workflow automation tool for DevOps. Keep configuration DRY with hierarchical imports of configurations, inheritance, and WAY more. - software: - - aws - - gcp - - terraform - - helm - inventors: - - cloudposse - labels: - category: Infrastructure as Code - type: poweredbyopa - tutorials: - - https://atmos.tools/core-concepts/components/validation/#open-policy-agent-opa - code: - - https://github.com/cloudposse/atmos - docs_features: - terraform: - note: | - Atmos can validate Terraform stack before applying them. This is done - using the `validate component` command - [documented here](https://atmos.tools/cli/commands/validate/component). - - opa-wasm-js: - title: OPA Wasm Javascript Module - description: | - A small SDK for using WebAssembly (Wasm) compiled Rego policies - software: - - javascript - inventors: - - styra - labels: - category: wasm - type: poweredbyopa - tutorials: - - https://github.com/open-policy-agent/npm-opa-wasm/blob/main/README.md - code: - - https://github.com/open-policy-agent/npm-opa-wasm/ - - https://www.npmjs.com/package/@open-policy-agent/opa-wasm?activeTab=readme - videos: - - title: "Scratching an Itch: Running Policy in Hard to Reach Places with Wasm & OPA" - speakers: - - name: Charlie Egan - organization: styra - link: https://www.youtube.com/watch?v=BdeBhukLwt4 - docs_features: - wasm-integration: - note: | - This project implements the OPA Wasm module interface in JavaScript. - - opa-wasm-dotnet: - title: OPA Wasm .NET package - description: | - Call Rego policies in Wasm from C# .NET Core - software: - - csharp - inventors: - - christophwille - labels: - category: wasm - type: poweredbyopa - tutorials: - - https://github.com/christophwille/dotnet-opa-wasm - code: - - https://github.com/christophwille/dotnet-opa-wasm - - https://www.nuget.org/packages/Opa.Wasm/ - docs_features: - wasm-integration: - note: | - This project implements the OPA Wasm module interface in C#. - - opa-wasm-java: - title: OPA Wasm Java Gradle SDK - description: | - SDK to illustrate how to use Wasm compiled Rego policies from a Java application - software: - - java - inventors: - - sangkeon - labels: - category: wasm - type: poweredbyopa - tutorials: - - https://github.com/sangkeon/java-opa-wasm#usage - code: - - https://github.com/sangkeon/java-opa-wasm - docs_features: - wasm-integration: - note: | - This project implements the OPA Wasm module interface in Java. - - opa-wasm-rust: - title: OPA Wasm Rust Crate - description: | - A crate to use OPA policies compiled to WASM. - software: - - rust - inventors: - - matrix - labels: - category: wasm - type: poweredbyopa - tutorials: - - https://github.com/matrix-org/rust-opa-wasm#try-it-out - - https://docs.rs/opa/latest/opa/wasm/index.html - code: - - https://github.com/matrix-org/rust-opa-wasm - docs_features: - wasm-integration: - note: | - This project implements the OPA Wasm module interface in Rust. - - styra-academy: - title: Styra Academy - subtitle: OPA Learning Portal - description: | - Styra Academy is a free, self-paced learning portal for OPA and Styra Products. - It includes a series of courses on a range of topics from beginner to advanced. - software: [] - inventors: - - styra - labels: - category: learning - type: poweredbyopa - tutorials: - - https://academy.styra.com - - https://academy.styra.com/courses/opa-by-example - - https://academy.styra.com/courses/opa-rego - - https://academy.styra.com/courses/opa-k8s-admission-control - - https://academy.styra.com/courses/opa-performance - code: - - https://github.com/StyraInc/academy-samples - docs_features: - learning-rego: - note: | - ['OPA Policy Authoring'](https://academy.styra.com/courses/opa-rego) - is a free course that teaches the fundamentals of writing Rego policies. - -organizations: - quali: - name: Quali - link: https://www.quali.com/ - styra: - name: Styra - link: https://styra.com - microsoft: - name: Microsoft - link: https://microsoft.com - google: - name: Google - link: https://google.com - travelnest: - name: TravelNest - link: https://travelnest.com - ticketmaster: - name: TicketMaster - link: https://www.ticketmaster.com/ - docker: - name: Docker - link: https://www.docker.com/ - snyk: - name: Snyk - link: https://snyk.io/ - ceph: - name: Ceph - link: https://ceph.io/ - fig: - name: fig - link: https://fig.io - redhat: - name: RedHat - link: https://www.redhat.com - medallia: - name: Medallia - link: https://www.medallia.com/ - gsoc: - name: Google Summer of Code - link: https://summerofcode.withgoogle.com/ - cisco: - name: Cisco - link: https://www.cisco.com/ - adaptant: - name: Adaptant - link: https://www.adaptant.io/ - armory: - name: Armory - link: https://www.armory.io/ - minio: - name: Minio - link: https://min.io/ - ibm: - name: IBM - link: https://developer.ibm.com/open - boomerang: - name: Boomerang - link: https://www.useboomerang.io/ - bisnode: - name: Bisnode - link: https://www.bisnode.com - goldmansachs: - name: Goldman Sachs - link: https://www.goldmansachs.com/ - pinterest: - name: Pinterest - link: https://www.pinterest.com/ - atlassian: - name: Atlassian - link: https://www.atlassian.com/ - tripadvisor: - name: TripAdvisor - link: https://www.tripadvisor.com/ - chef: - name: Chef - link: https://www.chef.io/ - buoyant: - name: Buoyant - link: https://buoyant.io/ - netflix: - name: Netflix - link: https://www.netflix.com/ - capitalone: - name: CapitalOne - link: https://www.capitalone.com/ - yelp: - name: Yelp - link: https://www.yelp.com/ - sysdig: - name: Sysdig - link: https://sysdig.com/ - wada-ama: - name: World Anti-Doping Agency - link: https://www.wada-ama.org - infoblox: - name: InfoBlox - link: https://www.infoblox.com/ - independent: - name: Independent developer - link: https://www.openpolicyagent.org - scalr: - name: Scalr - link: https://www.scalr.com/ - sigstore: - name: Sigstore - link: https://sigstore.dev/ - build.security: - name: build.security - link: https://www.elastic.co/blog/elastic-and-build-security-shifting-left-together-to-secure-the-cloud - fugue: - name: Fugue - link: https://www.fugue.co - accurics: - name: Accurics - link: https://www.accurics.com/ - checkmarx: - name: Checkmarx - link: https://www.checkmarx.com - fairwinds: - name: Fairwinds - link: https://fairwinds.com - permitio: - name: Permit.io - link: https://permit.io - alertavert: - name: AlertAVert.com - link: https://www.alertavert.com/ - zenity: - name: Zenity - link: https://www.zenity.io - apache-apisix: - name: Apache APISIX - link: https://apisix.apache.org/ - armo: - name: ARMO - link: https://armosec.io - i2: - name: Independent Identity - link: https://www.independentid.com - aserto: - name: Aserto - link: https://www.aserto.com - snowflake: - name: Snowflake - link: https://www.snowflake.com/ - pulumi: - name: Pulumi - link: https://www.pulumi.com/ - mia-platform: - name: Mia-Platform - link: https://mia-platform.eu/ - waltid: - name: walt.id - link: https://walt.id - blockchainlabum: - name: Blockchain Lab:UM - link: https://blockchain-lab.um.si - netis: - name: Netis - link: http://netis.si/en/ - spacelift: - name: Spacelift - link: https://spacelift.io - circleci: - name: CircleCI - link: https://circleci.com - hashicorp: - name: HashiCorp - link: https://www.hashicorp.com/ - wirelesssecuritylab: - name: WirelessSecurityLab - link: https://github.com/wirelesssecuritylab/ - megaease: - name: MegaEase - link: https://www.megaease.com/ - reposaur: - name: Reposaur - link: https://reposaur.com/ - alluxio: - name: Alluxio - link: https://www.alluxio.io - carbonetes: - name: Carbonetes - link: https://www.carbonetes.com/ - cloudposse: - name: Cloud Posse - link: https://cloudposse.com - dolevf: - name: Dolev Farhi - link: https://github.com/dolevf - christophwille: - name: Christoph Wille - link: https://github.com/christophwille - a2d24: - name: a2d24 - link: https://github.com/a2d24 - sangkeon: - name: Sangkeon Nam - link: https://github.com/sangkeon - matrix: - name: matrix.org - link: https://matrix.org - -software: - oauth: - name: OAuth - link: https://oauth.net/ - oidc: - name: OpenID Connect (OIDC) - link: https://openid.net/connect/ - dapr: - name: Dapr - link: https://dapr.io/ - fig: - name: fig - link: https://fig.io - kubernetes: - name: Kubernetes - link: https://kubernetes.io - envoy: - name: Envoy - link: https://envoyproxy.io - istio: - name: Istio - link: https://istio.io - kong: - name: Kong - link: https://konghq.com/ - linuxpam: - name: Linux PAM - link: http://www.linux-pam.org/ - terraform: - name: Terraform - link: https://www.terraform.io/ - kafka: - name: Kafka - link: https://kafka.apache.org/ - ceph: - name: Ceph - link: https://ceph.io/ - clojure: - name: Clojure - link: https://clojure.org - cosign: - name: Cosign - link: https://github.com/sigstore/cosign - aws: - name: Amazon Public Cloud - link: https://aws.com - gcp: - name: Google Public Cloud - link: https://cloud.google.com/ - azure: - name: Microsoft Public Cloud - link: https://azure.microsoft.com/ - cloudformation: - name: AWS CloudFormation - link: https://aws.amazon.com/cloudformation/ - fiber: - name: Fiber - link: https://docs.gofiber.io - golang: - name: golang - link: https://golang.org/ - java: - name: Java - link: https://www.java.com/ - javaspringsecurity: - name: Spring Security - link: https://spring.io/projects/spring-security - osm: - name: Open Service Mesh - link: https://openservicemesh.io/ - spinnaker: - name: Spinnaker - link: https://www.spinnaker.io/ - strimzi: - name: Strimzi - link: https://strimzi.io/ - elasticsearch: - name: Elastic Search - link: https://www.elastic.co/ - azurecosmos: - name: Azure Cosmos - link: https://docs.microsoft.com/en-us/azure/cosmos-db/introduction - azuretablestorage: - name: Azure Table Storage - link: https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-overview - sqlite: - name: SQLite - link: https://www.sqlite.org/index.html - clair: - name: Clair - link: https://github.com/coreos/clair - cloudflare: - name: Cloudflare - link: https://www.cloudflare.com - openfaas: - name: OpenFaaS - link: https://www.openfaas.com/ - minio: - name: Minio - link: https://min.io/ - dart: - name: dart - link: https://dart.dev/ - docker: - name: Docker - link: https://www.docker.com/ - bosun: - name: Boomerang Bosun - link: https://www.useboomerang.io/ - php: - name: PHP - link: https://www.php.net/ - gradle: - name: Gradle - link: https://gradle.org/ - jenkins: - name: Jenkins - link: https://jenkins.io/ - sysdigsecure: - name: Sysdig Secure - link: https://sysdig.com/products/kubernetes-security/ - pomerium: - name: Pomerium - link: https://www.pomerium.io/ - coredns: - name: CoreDNS - link: https://coredns.io/ - gluu: - name: Gluu Gateway - link: https://www.gluu.org/ - nodejsexpress: - name: Node.JS express - link: https://expressjs.com/ - aspdotnetcore: - name: ASP .NET core - link: https://docs.microsoft.com/en-us/aspnet/core/ - helm: - name: Helm - link: https://helm.sh/ - flask: - name: Flask - link: https://flask.palletsprojects.com/ - opal: - name: OPAL - link: https://opal.ac - sphinx-doc: - name: Sphinx - link: https://www.sphinx-doc.org - bottle: - name: Bottle - link: https://bottlepy.org - spiffe: - name: SPIFFE - link: https://spiffe.io - spire: - name: SPIRE - link: https://spiffe.io - google-calendar: - name: Google Calendar - link: https://calendar.google.com/ - apache-apisix: - name: Apache APISIX - link: https://apisix.apache.org/ - kubescape: - name: Kubescape - link: https://github.com/kubescape/kubescape - i2scim: - name: i2 SCIM Server - link: https://i2scim.io - graphene-graphql: - name: Graphene GraphQL - link: https://graphene-python.org - styra-das: - name: Styra DAS - link: https://www.styra.com/styra-das/ - enterprise-opa: - name: Enterprise OPA - link: https://www.styra.com/enterprise-opa/ - kustomize: - name: Kustomize - link: https://kustomize.io - toml: - name: TOML - link: https://toml.io - groovy: - name: Groovy - link: https://groovy-lang.org - kotlin: - name: Kotlin - link: https://kotlinlang.org - linux: - name: Linux - link: https://www.kernel.org - ebpf: - name: eBPF - link: https://ebpf.io - git: - name: Git - link: https://git-scm.com - pre-commit: - name: pre-commit - link: https://pre-commit.com - rekor: - name: rekor - link: https://github.com/sigstore/rekor - open-policy-registry: - name: Open Policy Registry - link: https://www.openpolicyregistry.io - aserto: - name: Aserto - link: https://www.aserto.com - topaz: - name: Topaz - link: https://www.topaz.sh - emissary-ingress: - name: Emissary-Ingress - link: https://github.com/emissary-ingress/emissary - magda: - name: Magda - link: https://github.com/magda-io/magda - google-kubernetes-engine: - name: Google Kubernetes Engine - link: https://cloud.google.com/kubernetes-engine/ - sansshell: - name: Sansshell - link: https://github.com/Snowflake-Labs/sansshell - nginx: - name: Nginx - link: https://nginx.org/ - pulumi: - name: Pulumi - link: https://www.pulumi.com/ - alfred: - name: alfred - link: https://github.com/dolevf/Open-Policy-Agent-Alfred - rond: - name: Rönd - link: https://rond-authz.io/ - regal: - name: Regal - link: https://github.com/StyraInc/regal - ssikit: - name: ssikit - link: https://walt.id/ssi-kit - graphql: - name: graphql - link: https://graphql.org/ - ccbr: - name: ccbr - link: https://github.com/wirelesssecuritylab/ccbr - ansible: - name: Ansible - link: https://www.ansible.com - circleci: - name: CircleCI - link: https://circleci.com - terraform-cloud: - name: Terraform Cloud - link: https://cloud.hashicorp.com/products/terraform - github: - name: GitHub - link: https://github.com - alluxio: - name: Alluxio - link: https://www.alluxio.io - brainiac: - name: BrainIAC - link: https://github.com/carbonetes/brainiac - csharp: - name: "C#" - link: https://docs.microsoft.com/en-us/dotnet/csharp/ - javascript: - name: JavaScript - link: https://developer.mozilla.org/en-US/docs/Web/JavaScript - rust: - name: Rust - link: https://www.rust-lang.org/ diff --git a/docs/website/layouts/_default/baseof.html b/docs/website/layouts/_default/baseof.html index 0f4e0010c3..8077d48ff4 100644 --- a/docs/website/layouts/_default/baseof.html +++ b/docs/website/layouts/_default/baseof.html @@ -8,15 +8,16 @@ {{ block "title" . }}{{ site.Title }}{{ end }} - {{ block "head" . }}{{ end }} - {{ define "head" }}{{ end }} - + + + + {{ partial "css.html" . }} - {{ block "main" . }} + {{ block "content" . }} {{ end }} - {{ define "main" }} + {{ define "content" }} {{ end }} - \ No newline at end of file + diff --git a/docs/website/layouts/_default/index.json b/docs/website/layouts/_default/index.json index 2ea0bea22d..2f14c0bd8d 100644 --- a/docs/website/layouts/_default/index.json +++ b/docs/website/layouts/_default/index.json @@ -1,12 +1,28 @@ -{{/* this file is used to validate updates to integrations state */}} +{{/* this file is used to validate updates to integrations page state */}} {{- $base := "/docs/edge" -}} -{{- $integrations := partial "functions/section-pages" (dict "section" "integrations" "base" $base "pages" $.Site.Pages) -}} -{{- $organizations := partial "functions/section-pages" (dict "section" "organizations" "base" $base "pages" $.Site.Pages) -}} -{{- $softwares := partial "functions/section-pages" (dict "section" "softwares" "base" $base "pages" $.Site.Pages) -}} +{{- $integrations := where $.Site.RegularPages "Section" "integrations" -}} +{{- $organizations := where $.Site.RegularPages "Section" "organizations" -}} +{{- $softwares := where $.Site.RegularPages "Section" "softwares" -}} {{- $.Scratch.Set "json" dict -}} -{{- $.Scratch.SetInMap "json" "integrations" $integrations -}} -{{- $.Scratch.SetInMap "json" "organizations" $organizations -}} -{{- $.Scratch.SetInMap "json" "softwares" $softwares -}} + +{{- $.Scratch.Set "integrations" dict -}} +{{- range $integrations -}} +{{- $.Scratch.SetInMap "integrations" .RelPermalink (merge .Params (dict "content" .Content)) -}} +{{- end -}} +{{- $.Scratch.SetInMap "json" "integrations" ($.Scratch.Get "integrations") -}} + +{{- $.Scratch.Set "organizations" dict -}} +{{- range $organizations -}} +{{- $.Scratch.SetInMap "organizations" .RelPermalink (merge .Params (dict "content" .Content)) -}} +{{- end -}} +{{- $.Scratch.SetInMap "json" "organizations" ($.Scratch.Get "organizations") -}} + +{{- $.Scratch.Set "softwares" dict -}} +{{- range $softwares -}} +{{- $.Scratch.SetInMap "softwares" .RelPermalink (merge .Params (dict "content" .Content)) -}} +{{- end -}} +{{- $.Scratch.SetInMap "json" "softwares" ($.Scratch.Get "softwares") -}} + {{- $.Scratch.Add "images" slice -}} {{- range (readDir "static/img/logos/integrations") -}} {{- $.Scratch.Add "images" .Name -}} diff --git a/docs/website/layouts/community/list.html b/docs/website/layouts/community/section.html.html similarity index 87% rename from docs/website/layouts/community/list.html rename to docs/website/layouts/community/section.html.html index 6fb521901d..4de29ae7f1 100644 --- a/docs/website/layouts/community/list.html +++ b/docs/website/layouts/community/section.html.html @@ -1,14 +1,8 @@ -{{ define "head" }} - - - -Open Policy Agent | Community - - - +{{ define "title" }} +{{ site.Title }} | Community {{ end }} -{{ define "main" }} +{{ define "content" }}
{{ partial "nav.html" . }} diff --git a/docs/website/layouts/docs/baseof.html b/docs/website/layouts/docs/baseof.html index a915dba357..f0de91a513 100644 --- a/docs/website/layouts/docs/baseof.html +++ b/docs/website/layouts/docs/baseof.html @@ -8,9 +8,6 @@ {{ block "title" . }}{{ site.Title }}{{ end }} - {{ block "head" . }}{{ end }} - {{ define "head" }}{{ end }} - {{ partial "css.html" . }} @@ -37,10 +34,9 @@ {{ $ancient := gt $rank 5 }} {{ $isEdge := (eq $version "edge") }} - {{ $isNotEcosystem := (ne (index (split .File.Path "/") 2) "ecosystem") }} {{ $isNotLatest := (and (ne $version $latest) (ne $version $latestVersionString)) }} -
+
{{- if $isEdge }}