Hello Adwait,
BaSyxAAS_aas.backend is the correct name for this environment variable.
Within a docker-compose.yml, it is possible to embed a .env-File in the with:
env_file:
- aas.env
And have the following content included (in addition to the remaining variables of course):
BaSyxAAS_aas.backend=MongoDB
According to the documentation, it should also be possible to also include env-files for kubernetes or by reading the environment variables from a ConfigMap:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
Does one of these ways work for you?
There only exist two ways to embed the configuration into the container: by embedding the .property file or by setting the environment variable in some way. If
both possibilities do not work, you can only change the variable’s name by modifying the source code and building the modified version of the image.
Greetings
Daniel Espen
Von: basyx-dev <basyx-dev-bounces@xxxxxxxxxxx>
Im Auftrag von adwait churi
Gesendet: Sonntag, 20. Februar 2022 07:57
An: basyx developer discussions <basyx-dev@xxxxxxxxxxx>
Betreff: Re: [basyx-dev] Enabling persistence for BaSyx AAS data over AKS using Azure Cosmos DB API for MongoDB
Hi BaSyx Community Support Team,
I would like to have updates on,
BaSyxAAS_aas.backend is failing due to inappropriate / unacceptable format in AKS. When deployed, the container errored out.
- name: BaSyxAAS_aas.backend
value: "MongoDB"
I also tried the following, but it has the same effect.
- name: "BaSyxAAS_aas.backend"
value: "MongoDB"
What is the alternative / quick fix for this?
Adwait
Hi Basyx community,
Thank you for replying swiftly.
I can configure all other properties as mentioned in respective configuration files.
But BaSyxAAS_aas.backend is failing due to inappropriate / unacceptable format in AKS. When deployed, the container errored out.
- name: BaSyxAAS_aas.backend
value: "MongoDB"
I also tried the following, but it has the same effect.
- name: "BaSyxAAS_aas.backend"
value: "MongoDB"
What is the alternative / quick fix for this?
Hello Adwait,
We will update the documentation to include information about the environment variables in the near
future. Until then, you can find more information about the naming schema for these environment variables here:
https://github.com/eclipse-basyx/basyx-java-components/tree/main/basyx.components/basyx.components.lib/src/main/java/org/eclipse/basyx/components/configuration
Thus, for MongoDB, the prefix is “BaSyxMongoDB_” followed by the property name.
E.g. BaSyxMongoDB_dbconnectionstring
Another remark: There is no property for the mongodb user, but you can include this and multiple other
connection options in the connection string. See more information about this here:
https://docs.mongodb.com/manual/reference/connection-string/
Best Regards
Daniel Espen
--
Daniel Espen
Engineer
Dept. Virtual Engineering
Fraunhofer IESE
Fraunhofer-Platz 1 | 67663 Kaiserslautern
+49 631 6800-2131
Daniel.Espen@xxxxxxxxxxxxxxxxxx
www.iese.fraunhofer.de
Von: basyx-dev
<basyx-dev-bounces@xxxxxxxxxxx>
Im Auftrag von adwait churi
Gesendet: Donnerstag, 10. Februar 2022 14:11
An: basyx developer discussions <basyx-dev@xxxxxxxxxxx>
Betreff: Re: [basyx-dev] Enabling persistence for BaSyx AAS data over AKS using Azure Cosmos DB API for MongoDB
These found working and I came up with below structure
env:
- name: BaSyxContext_contextPath
value: "/aasName"
- name: BaSyxAas_aas.backend
value: "MongoDB"
- name: BaSyxMongodb_dbuser
value: "cosmosdbapiformongo"
- name: BaSyxMongodb_dbname
value: "Data"
- name: BaSyxMongodb_dbconnectionstring
value: "ConnectionString"
- name: BaSyxMongodb_dbcollectionAAS
value: "assetadministrationshells"
- name: BaSyxMongodb_dbcollectionSubmodels
value: "submodels"
But I can't make connectivity with MongoDB and so aas.backend=InMemory remained as default. Reason could be - incorrect variable name format
- name: BaSyxAas_aas.backend
- name: BaSyxMongodb_dbuser
The name must have a specific format to follow and I am not sure where to learn it.
For example - BaSyxContext_contextPath
which is <Provider><PropertyFileName>_<PropertyName>
Context is name of Context.property file.
contextPath is the property name in Context.property file
Could you please help me to have the names corrected?
Hello Adwait,
Currently, it is possible to configure the components with environment variables instead of property
files. Here you can find an example that shows how to do that:
-
https://github.com/eclipse-basyx/basyx-java-examples/blob/development/basyx.docker/simple-deployment/docker-compose.yml
The only “configuration” you cannot include as an environment variable is an actual .aasx-File.
To connect to any MongoDB, you can set up the connection using the MongoDB-Connection string:
https://wiki.eclipse.org/BaSyx_/_Documentation_/_Components_/_MongoDB
https://docs.mongodb.com/manual/reference/connection-string/
Since Azure Cosmos DB API for MongoDB should be compatible with the MongoDB API, using it should work by default. Yet, we did not test the Azure Cosmos DB API for MongoDB in specific. Therefore, we would be glad to get your hands-on input and feedback about
this.
Best Regards
Daniel Espen
--
Daniel Espen
Engineer
Dept. Virtual Engineering
Fraunhofer IESE
Fraunhofer-Platz 1 | 67663 Kaiserslautern
+49 631 6800-2131
Daniel.Espen@xxxxxxxxxxxxxxxxxx
www.iese.fraunhofer.de
Von: basyx-dev
<basyx-dev-bounces@xxxxxxxxxxx>
Im Auftrag von adwait churi
Gesendet: Dienstag, 1. Februar 2022 07:19
An: basyx developer discussions <basyx-dev@xxxxxxxxxxx>
Betreff: [basyx-dev] Enabling persistence for BaSyx AAS data over AKS using Azure Cosmos DB API for MongoDB
Hi Basyx community,
With reference to "Aasx_PackEx_Tutorial_-_EN_-_51_Connect_AASX_Server_Repository" earlier email, we have requirement of persisting the BaSyx AAS data in AKS [Azure Kubernetes services].
Our Understanding - To enable data persistence, AAS server image should be imported along configurations shown below [attached for reference]
1] aas.properties - aas.backend=MongoDB
1] Is there a possibility to upload these configurations in a yml file while uploading eclipsebasyx/aas-server:latest image over AKS?
2] If configuration in yml file is possible, then please provide guiding steps to achieve this. The yml configuration should align to Question 4] , to have data persisted in Azure
Cosmos DB API for MongoDB.
3] If configuration in yml file is
not possible, then please suggest alternate way where DockerHub / Azure Container Service / Azure Container Instance or Java Codebase customization is not required.
4] Can we use Azure Cosmos DB API for MongoDB to store data from BaSyx AAS image deployed over AKS?
_______________________________________________
basyx-dev mailing list
basyx-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/basyx-dev
_______________________________________________
basyx-dev mailing list
basyx-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/basyx-dev
|