Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
abhishekmaha23 committed Feb 20, 2024
1 parent 5cefd10 commit d388cbf
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 30 deletions.
6 changes: 6 additions & 0 deletions examples/cloud/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ dependencies:
- name: aas-registry
version: "0.0.1"
repository: file://dependency_charts/aas-registry
- name: sm-registry
version: "0.0.1"
repository: file://dependency_charts/sm-registry
- name: aas-discovery
version: "0.0.1"
repository: file://dependency_charts/aas-discovery
- name: aas-environment
version: "0.0.1"
repository: file://dependency_charts/aas-environment
Expand Down
15 changes: 12 additions & 3 deletions examples/cloud/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ The configuration for all these components are added as part of `values.basyx.ya

- AAS Environment
- AAS Registry
- Submodel Registry
- AAS Discovery
- AAS GUI

### External
Expand Down Expand Up @@ -70,19 +72,26 @@ The configuration for external supporting charts are generally added as part of
- AAS-GUI: `https://aasdashboard.example.com`
- AAS-Environment: `https://basyx.example.com`
- AAS-Registry: `https://basyxregistry.example.com`
- Submodel-Registry: `https://basyxsmregistry.example.com`
- AAS-Discovery: `https://basyxdiscovery.example.com`

5. In `values.basyx.yaml`, we must define the configuration for all the Basyx services. While most of the values are self-explanatory and drawn directly from the docker-compose example in the sibling folder, some considerations here include:

1. AAS-Registry:
- Choose an appropriate image for the AAS-Registry based on whether a MongoDB and a Kafka broker are deployed alongside the cluster. (default is `eclipsebasyx/aas-registry-log-mongodb:2.0.0-SNAPSHOT`)
- In the example values file, the ingress is enabled and is `basyxregistry.example.com`.
- Configuration for CORS is not perfect, and temporarily may be set to allow all traffic. Upcoming [RBAC support](https://github.com/eclipse-basyx/basyx-java-server-sdk/pull/159) may help solve access-control issues.
2. AAS-Environment:
2. SM-Registry:
- Choose an appropriate image (examples are available in the values file) and ingress hostname similar to that for the AAS-Registry.
- Configuration for CORS is also done as above.
3. AAS-Environment:
- `startup.enabled = true` is a snippet that does a particularly specific seeding of initial AAS/AASX files from a Git repository into a Kubernetes emptyDir, and then mounts them to the AAS Environment. This is temporary, and further updates may expand the range of initial sources for initial AASX files.
`startup.repo` is then a string with the link to the Git repository containing the files.
- In the example values file, the ingress is enabled and is `basyx.example.com`.
- Configuration for CORS also allows all host sources at this time.
3. AAS-GUI:
4. AAS-Discovery:
- AAS Discovery may be enabled if necessary. An ingress with hostname is supported, and configuration is similarly done as for the AAS Environment (with fewer parameters and no startup scripts).
5. AAS-GUI:
- In the example values file, the ingress is enabled and is `aasdashboard.example.com`.
- The environment variables for configuring the AAS environment and AAS registry paths currently works with HTTPS hosts only (plain HTTP, as would be possible with calls to pods in the same namespace in the same cluster, is not permitted and throws "not-secure" errors in console). As a result, both AAS environment and AAS registry must currently have an ingress and certificate each.

Expand All @@ -104,7 +113,7 @@ The configuration for external supporting charts are generally added as part of
configMapName: time-series-ui-plugin
```

4. Now, the full release may be installed. First, add the remote repositories you may need to Helm.
6. Now, the full release may be installed. First, add the remote repositories you may need to Helm.

```bash
# For bitnami charts, Kafka, MongoDB, Influx, Grafana and others
Expand Down
81 changes: 54 additions & 27 deletions examples/cloud/values.basyx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,37 +22,63 @@ aas-registry:
enabled: true
host: basyxregistry.example.com
config: |-
servlet:
headers:
- path: /**
values:
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: POST,PUT,GET,DELETE,OPTIONS
Access-Control-Allow-Headers: Content-Type, Accept
Access-Control-Max-Age: 10000
- path: /api/v3.0/shell-descriptors
values:
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: POST,PUT,GET,DELETE,OPTIONS
Access-Control-Allow-Headers: Accept, Content-Type
methods:
- OPTIONS
- path: /registry/shell-descriptors/search
values:
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: POST,GET,OPTIONS
Access-Control-Allow-Headers: Accept, Content-Type
methods:
- OPTIONS
basyx:
cors:
allowed-origins: "*"
allowed-methods: "GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD"
sm-registry:
image:
# Images similar to those above.
# name: eclipsebasyx/submodel-registry-log-mongodb:2.0.0-SNAPSHOT
name: eclipsebasyx/submodel-registry-log-mem:2.0.0-SNAPSHOT
pullPolicy: Always
service:
port: 8080
mongodb:
# connectionString: mongodb://adminUser:adminPassword@mongodb:27017
connectionString: null
ingress:
enabled: true
host: basyxsmregistry.example.com
config: |-
basyx:
cors:
allowed-origins: "*"
allowed-methods: "GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD"
aas-discovery:
enabled: true
image:
name: eclipsebasyx/aas-discovery:2.0.0-SNAPSHOT
pullPolicy: IfNotPresent
service:
port: 8080
config: |-
server.port=8080
spring.application.name=AAS Discovery Service
basyx.aasdiscoveryservice.name=aas-discovery-service
basyx.backend=InMemory
# basyx.backend=MongoDB
# spring.data.mongodb.host=mongo
# spring.data.mongodb.database=aas-discovery
# spring.data.mongodb.authentication-database=admin
# spring.data.mongodb.username=mongoAdmin
# spring.data.mongodb.password=mongoPassword
basyx.cors.allowed-origins=*
basyx.cors.allowed-methods=GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD
ingress:
enabled: true
host: basyxdiscovery.example.com

# Also needs an ingress.
aas-environment:
image:
name: eclipsebasyx/aas-environment:2.0.0-SNAPSHOT
name: eclipsebasyx/aas-discovery:2.0.0-SNAPSHOT
pullPolicy: IfNotPresent
startup:
enabled: false
# repo: "https://github.com/abhishekmaha23/bic-df-aasx-examples"
service:
port: 8081
config: |-
Expand Down Expand Up @@ -83,7 +109,7 @@ aas-environment:
# Needs specific ingress.
aas-web-ui:
image:
name: eclipsebasyx/aas-gui:v2-231107
name: eclipsebasyx/aas-gui:v2-240125
pullPolicy: Always
ingress:
enabled: true
Expand All @@ -93,6 +119,7 @@ aas-web-ui:
aasSubmodelsRepoUrl: "https://basyx.example.com/submodels"
conceptdescriptionRepoUrl: "https://basyx.example.com/concept-descriptions"
aasRegistryUrl: "https://basyxregistry.example.com/api/v3.0"
submodelRegistryUrl: "https://basyxsmregistry.example.com/api/v3.0"
externalPlugins:
enabled: true
plugins:
Expand Down

0 comments on commit d388cbf

Please sign in to comment.