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.
- REST interface
- GraphQL interface
- Swagger UI
- GraphQL UI
- User management UI
- Cross-platform: Runs on Microsoft Azure, Amazon Web Services and Google Cloud Platform
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.
Environment variables that must be defined:
- HostingPlatform: The cloud hosting platform. Valid options are Azure, AWS and GCP.
- BlobStorageConnectionString: The connection string to the cloud storage instance (that must be previously deployed in the hosting platform).
- PostgreSQLEndpoint: The endpoint of the PostgreSQL instance (that must be previously deployed in the hosting platform).
- PostgreSQLUsername: The username to use to log in to the PostgreSQL instance.
- PostgreSQLPassword: The password to use to log in to the PostgreSQL instance.
- ServicePassword: The administration password for the REST service (username admin).
- SendGridAPIKey: The API key for the Sendgrid service
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.
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