Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blueprints comments #3

Open
wants to merge 4 commits into
base: new-blueprints
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions manager/testdata/new-blueprints/copy-module.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ spec:
multi-user: false # Could be multi user depending on naming strategy of deployments
chart:
name: ghcr.io/mesh-for-data/m4d-implicit-copy-batch:0.1.0
# StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus
statusIndicators:
- kind: BatchTransfer
successCondition: status.status == SUCCEEDED
Expand Down
23 changes: 23 additions & 0 deletions manager/testdata/new-blueprints/multi-cluster-conf-module.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This is an example of a module that deploy (secured) ingress/route in a specific cluster.
# it assumes that an Ingress Controller is already deployed in the cluster.
apiVersion: app.m4d.ibm.com/v1alpha2
kind: M4DModule
metadata:
name: multi-cluster-conf
namespace: m4d-system
labels:
version: 0.0.1
name: multi-cluster-conf
spec:
chart:
name: ghcr.io/mesh-for-data/commin-multi-cluster-conf:0.1.0
# StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus
statusIndicators:
- kind: Job
successCondition: status.status == SUCCEEDED
failureCondition: status.status == FAILED
errorMessage: status.error
capabilities:
- capability: ingress # on openshift a route will be genereted
scope: cluster

2 changes: 2 additions & 0 deletions manager/testdata/new-blueprints/read-module.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ spec:
confChart:
name: ghcr.io/mesh-for-data/read-module-conf:0.1.0
values: {}
# StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus
statusIndicators:
- kind: ConfigMap
successCondition: metadata.labels.configured == SUCCEEDED
Expand All @@ -41,6 +42,7 @@ spec:
dataformat: csv
api:
endpoint:
# Always equals the release name. It is mandatory if this module exposes a common service.
host: common-arrow-flight-read-service # This can e.g. be used for multi-user services
selector: "mod: common-arrow-flight-read-service" # Can be set for multi-user services
port: 80 # Mandatory for each service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ spec:
workloadSelector:
matchLabels:
app: demoapp
# List of modules deployed on the cluster. The modules are deployed in parallel.
modules:
# The names are human readable in this example. In the implementation this will differ.
- name: read-data
Expand All @@ -31,6 +32,9 @@ spec:
bucket: srcbucket
object: data.parq
service:
# Always equals the release name: If this module exposes a common service than the host is the release
# name of the common service, otherwise it is the release name of the deployed module.
# It is mandatory if this module exposes a common service.
name: common-arrow-flight-read-service
assetID: m4d-notebook-sample/paysim-csv # Differentiator to original asset for multi user arrow flight service? How to best specify?
port: 8080
Expand All @@ -47,13 +51,15 @@ spec:
selector: "mod: common-arrow-flight-read-service" # Selector of the dependency
connection:
service:
# name is the release name. It equals to M4DModule.spec.api.endpoint.host if such defined.
name: common-arrow-flight-read-service
assetID: m4d-notebook-sample/paysim-csv
port: 8080
interfaceDetails:
protocol: arrow-flight
dataformat: arrow
service:
# name is the release name. It equals to M4DModule.spec.api.endpoint.host if such defined.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean with release name here? Currently the release name is the name that is used to deploy the helm chart. This will differ from step to step and is the name e.g. in line 43. If two different applications configure a common read service they will have different release names but the service.name field here will have the same value.

name: common-transform-arrow-flight
assetID: m4d-notebook-sample/paysim-csv
port: 8080
Expand Down Expand Up @@ -85,6 +91,7 @@ status:
status: Ready
- name: isolation-transform-to-app
status: Ready
# status per dataset
assets:
- name: m4d-notebook-sample/paysim-csv
status: Ready
Expand All @@ -97,4 +104,4 @@ status:
status: Ready
- name: transform-step
status: Ready
conditions: []
conditions: []
3 changes: 3 additions & 0 deletions manager/testdata/new-blueprints/transform-module.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ spec:
level: column
api:
endpoint:
# Always equals the release name: If this module exposes a common service than the host is the release
# name of the common service, otherwise it is the release name of the deployed module.
# It is mandatory if this module exposes a common service.
host: common-transform-arrow-flight # This can e.g. be used for multi-user modules
selector: "mod: common-transform-arrow-flight"
port: 80
Expand Down
4 changes: 3 additions & 1 deletion manager/testdata/new-blueprints/write-module.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ spec:
confChart:
name: ghcr.io/mesh-for-data/afwm:0.1.0
values: {}
# StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus
statusIndicators:
capabilities:
- capability: write
Expand All @@ -31,9 +32,10 @@ spec:
dataformat: csv
api:
endpoint:
# Always equals the release name. It is mandatory if this module exposes a common service.
host: common-arrow-flight-write-service # This can e.g. be used for multi-user modules
selector: "mod: common-arrow-flight-write-service"
port: 80
port: 80 # Mandatory for each service
protocol: m4d-arrow-flight
dataformat: arrow
actions: []
3 changes: 2 additions & 1 deletion manager/testdata/new-blueprints/write-plotter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ status:
status: Ready
- name: 04
status: Ready
# status per dataset
assets:
- name: m4d-notebook-sample/paysim-csv
# Endpoint where the asset can be reached. If this was on a different cluster it might point to a different endpoint.
Expand All @@ -147,4 +148,4 @@ status:
conditions:
- type: Error
status: "False"
message: "This would be a possible error"
message: "This would be a possible error"