This MVP showcases the capabilities of smartSense in contact with the Gaia-X economy. This MVP covers below use cases:
- On-boarding in Gaia-x
- Create a sub-domain for participant
- Create SSL key-value pair for participant
- Create web did
- Create participant credentials and sign in using Gaia-x API
- Host public key, did.json, and participant files under the .well-known path
- Create resource and host resource file under the .well-known path
- Create service offering and create service offering credential and host offer file under the .well-known path
- List Catalogue
- Spring boot with JPA
- Keycloak for authentication through WebAuthn
- K8S Java SDK
- Certbot SDK acme4j
- AWS Route53 SDK
- AWS S3 SDK
- NodeJS for signer tool
- Hashicorp vault for managing user's certificates and secrets
- During registration, the registering participant's user is created in the Keycloak. They will then receive a link in email which will allow them to register a device which supports webAuthn.
- After the device registration is successful, the user's legal participant generation will commence when they log in for the first time.
- The Keycloak realm configuration has been explained in the accompanying keycloak repository's Readme.
Creation of resources follows the same flow as Service Offer.
- Authentication and Authorization flow can be improved
- Data exchange based on Gaia-x trust framework(Ocean protocol??)
- Unit Test
- K8S ingress and secret creation can be done using argoCD/argo workflow
- Create k8s user with access to ingress and secret creation.
- Create AWS s3 bucket.
- Create hosted zone in AWS with your base domain.
- Create an AWS IAM user with access to the hosted zone and the S3 bucket.
This project contains a sample Env file - wizard.env.example
, which contains all the properties used in this
application.
Please refer to the sample config files in /k8s
folder.