8000 GitHub - az82/osm-quarkus: Showcase of an OPA-protected cloud-native microservice built with Quarkus
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

az82/osm-quarkus

Repository files navigation

Quarkus OPA Secure Microservice Demo

Run and Develop Locally

Requirements

For local build and run:

  • Java 17+
  • opa
  • conftest for validating the application configuration

Configuration

Create a .env file with the following content. Leave the providers you do not want to use blank.

GITHUB_CLIENT_ID=YOUR-CREDENTIALS
GITHUB_CLIENT_SECRET=YOUR-CREDENTIALS

Follow the instructions in the Quarkus well-known OIDC proviers documentation to create an OAuth2 in GitHub.

Run and Develop With Gitpod

Requirements

Configuration

  • In the Gitpod user settings, add environment variables for the SSO providers you want to use.
Variable Name Scope Content
GITHUB_CLIENT_ID az82/osm-quarkus YOUR-CREDENTIALS
GITHUB_CLIENT_SECRET az82/osm-quarkus YOUR-CREDENTIALS

Build

./mvnw package

Run

Start OPA:

opa run -s src/main/rego/access-policy.rego

Start the service:

env $(cat .env | xargs) ./mvnw compile quarkus:dev

The server will be listening at http://localhost:8080

Validate the Application Configuration

conftest -p src/main/rego/config-policy.rego test src/main/resources/application.yaml

To see how conftest parses the configuration file, use:

conftest parse src/main/resources/application.properties 

Copyright & License

Copyright 2023 Andreas Zitzelsberger, released under the MIT License.

The Maven Wrapper is used under the Apache License, Version 2.0.

About

Showcase of an OPA-protected cloud-native microservice built with Quarkus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0