The reference implementation of the UA Cloud Library. The UA Cloud Library enables the storage in and querying of OPC UA Information Models from anywhere in the world.
If you want to access the globally hosted instance from the OPC Foundation at https://uacloudlibrary.opcfoundation.org from our software, you can integrate the source code from the SampleConsoleClient found in this repo. It exercises both the GraphQL and REST API, so you have the choice.
Start development in three simple steps:
git clone https://github.com/OPCFoundation/UA-CloudLibrary.git
docker-compose
as startup project and hit F5 or the "play button"The OPC UA CloudLib Website should open in the browser.
If you want to access the admin to the develpoment database instance open http://localhost:8080/ in your browser
Environment variables that must be defined:
Environment variables that can optionally be defined:
Hosting on AWS requires the identity/role used to have policies allowing access to the S3 bucket and SSM Parameter Store.
Hosting on GCP requires an identity used to have policies allowing access to the GCS bucket. In case file based authentication is used, please set the envionment variable GOOGLE_APPLICATION_CREDENTIALS pointing to the SA-Key.
Create an application registration for an ASP.Net web app using Microsoft identity, as per the documentation.
Specifically:
Redirect UIs:
https://(servername)/Identity/Account/ExternalLogin
Front Channel logout URL:
Select ID tokens (no need for Access tokens).
Add an Administrator App role:
Assign administrator role to the desired users.
Configure the server to use the application:
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "<clientid>", //"[Enter the Client Id (Application ID obtained from the Azure portal), e.g. ba74781c2-53c2-442a-97c2-3d60re42f403]",
"TenantId": "<tenantid>", //"[Enter 'common', or 'organizations' or the Tenant Id (Obtained from the Azure portal. Select 'Endpoints' from the 'App
}
You can use the corresponding environment variables (AzureAd__XYZ ) or Azure configuration names (AzureAd:XYZ).
Docker containers are automatically built for the UA Cloud Library. The latest version is always available via:
docker pull ghcr.io/opcfoundation/ua-cloudlibrary:latest