Data mesh demo - 101

when I run command :
make data-mesh-from-source
I am having an errors

Do you still want to run this script? [y/n] y
Creating Confluent Cloud stack for service account demo-app-989, ID: sa-nkx5gk.

Waiting up to 720 seconds for Confluent Cloud cluster to be ready and for credentials to propagate

Sleeping an additional 80 seconds to ensure propagation of all metadata

Adding role-binding to sa-nkx5gk on env-qr8r96
{
“principal”: “User:sa-nkx5gk”,
“role”: “EnvironmentAdmin”
}

Waiting for role-binding to propagate


Error: unknown flag: --api-key

and


Creating connector from /c/data-mesh-demo/scripts/connectors/ccloud-datagen-stocktrades.json

Error: unknown flag: --config

hey
which demo are we talking about?
this one?

https://github.com/confluentinc/data-mesh-demo.git

best,
michael

Hi Michael

That’s correct. I am following instructions from

Andrey

there has been an update to confluent cli

I guess the demo has not been updated yet to consider the new syntax
script which is causing the issues seems to be

Hi Michael

I have replaced ccloud_library.sh and I am afraid the same result .
Here is a whole log:

andrey.local@LAP-WIN10-01 MINGW64 /c/data-mesh-demo (main)
$ make data-mesh

Let’s go build a Data Mesh!

:hourglass: ====== Preflight Checks.
:heavy_check_mark: confluent version ok
:heavy_check_mark: logged into confluent CLI
:heavy_check_mark: jq installed

:hourglass: ====== Create a new ccloud-stack to bootstrap the Data Mesh.


This example runs on Confluent Cloud, sign up here:

     https://www.confluent.io/confluent-cloud/tryfree/

The example uses real Confluent Cloud resources that may be billable, including connectors
and ksqlDB applications that may have hourly charges. The end of this script shows a command
you can run to destroy all the cloud resources, and you should verify they are destroyed.

New Confluent Cloud signups receive $400 to spend within Confluent Cloud during their first
60 days. Use Confluent Cloud promo code C50INTEG to receive an additional $50 free usage.
This will sufficiently cover one day of running this example, beyond which you may be billed
for the Confluent Cloud resources until you destroy them.

Do you still want to run this script? [y/n] y
Creating Confluent Cloud stack for service account demo-app-27922, ID: sa-8gv0g5.

Waiting up to 720 seconds for Confluent Cloud cluster to be ready and for credentials to propagate

Sleeping an additional 80 seconds to ensure propagation of all metadata

Adding role-binding to sa-8gv0g5 on env-w5z6zm
{
“principal”: “User:sa-8gv0g5”,
“role”: “EnvironmentAdmin”
}

Waiting for role-binding to propagate


Error: unknown flag: --api-key
Usage:
confluent ksql cluster create [flags]

Flags:
–credential-identity string User account ID or service account ID to be associated with this cluster. We will create an API key associated with this identity and use it to authenticate the ksqlDB cluster with Kafka.
–csu int32 Number of CSUs to use in the cluster. (default 4)
–log-exclude-rows Exclude row data in the processing log.
–cluster string Kafka cluster ID.
–context string CLI context name.
–environment string Environment ID.
-o, --output string Specify the output format as “human”, “json”, or “yaml”. (default “human”)

Global Flags:
-h, --help Show help for this command.
–unsafe-trace Equivalent to -vvvv, but also log HTTP requests and responses which may contain plaintext secrets.
-v, --verbose count Increase verbosity (-v for warn, -vv for info, -vvv for debug, -vvvv for trace).

Error: accepts 1 arg(s), received 0
Usage:
confluent ksql cluster describe [flags]

Flags:
–context string CLI context name.
–environment string Environment ID.
-o, --output string Specify the output format as “human”, “json”, or “yaml”. (default “human”)

Global Flags:
-h, --help Show help for this command.
–unsafe-trace Equivalent to -vvvv, but also log HTTP requests and responses which may contain plaintext secrets.
-v, --verbose count Increase verbosity (-v for warn, -vv for info, -vvv for debug, -vvvv for trace).

Error: unknown command “json” for “confluent api-key create”
Usage:
confluent api-key create [flags]

Examples:
Create an API key with full access to cluster “lkc-123456”:

$ confluent api-key create --resource lkc-123456

Create an API key for cluster “lkc-123456” and service account “sa-123456”:

$ confluent api-key create --resource lkc-123456 --service-account sa-123456

Flags:
–resource string The resource ID. Use “cloud” to create a Cloud API key.
–description string Description of API key.
–context string CLI context name.
–environment string Environment ID.
–service-account string Service account ID.
-o, --output string Specify the output format as “human”, “json”, or “yaml”. (default “human”)

Global Flags:
-h, --help Show help for this command.
–unsafe-trace Equivalent to -vvvv, but also log HTTP requests and responses which may contain plaintext secrets.
-v, --verbose count Increase verbosity (-v for warn, -vv for info, -vvv for debug, -vvvv for trace).

Error: unable to set active API key: Forbidden Access: unknown API key null

Suggestions:
If you did not create this API key with the CLI or created it on another computer, you must first store the API key and secret locally with confluent api-key store null <secret>.

Client configuration file saved to: stack-configs/java-service-account-sa-8gv0g5.config

Generating component configurations from stack-configs/java-service-account-sa-8gv0g5.config and saving to the folder delta_configs

Sleep an additional 2 minutes to wait for all Confluent Cloud metadata to propagate

:hourglass: ====== Add new tag definition to the Data Catalog.

Define a new tag in the Data Catalog called DataProduct:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 633 0 43 100 590 87 1201 --:–:-- --:–:-- --:–:-- 1291{“error_code”:401,“message”:“Unauthorized”}

View the new tag definition:
{
“error_code”: 401,
“message”: “Unauthorized”
}

:hourglass: ====== Create a new Data Product called stocktrades.
Created topic “stocktrades”.
:heavy_check_mark: confluent kafka topic create stocktrades

Creating connector from /c/data-mesh-demo/scripts/connectors/ccloud-datagen-stocktrades.json

Error: unknown flag: --config
Usage:
confluent connect [command]

Available Commands:
cluster Manage Connect clusters.
event Manage Connect log events configuration.
plugin Show plugins and their configurations.

Global Flags:
-h, --help Show help for this command.
–unsafe-trace Equivalent to -vvvv, but also log HTTP requests and responses which may contain plaintext secrets.
-v, --verbose count Increase verbosity (-v for warn, -vv for info, -vvv for debug, -vvvv for trace).

Use “confluent connect [command] --help” for more information about a command.

ERROR: Exit status was not 0 while creating connector from /c/data-mesh-demo/scripts/connectors/ccloud-datagen-stocktrades.json. Please troubleshoot and try again
make: *** [Makefile:61: data-mesh] Error 1

andrey.local@LAP-WIN10-01 MINGW64 /c/data-mesh-demo (main)
$

hey @test01

sorry my mistake I think is not yet fixed in the current version of the script.

best,
michael

you may use an old version of confluent cli should work I gues

hey @test01

there was a fix for the used ccloud_library.sh by @bbejeck
(see examples/utils at CLI_version_3.0_Update · confluentinc/examples · GitHub)

I’ve just created a fork from the above repo with the updated script. seems to work fine :slight_smile:
available here:

best,
michael

Hi Michael

Thank youi for your help.
1.
I have updated CLI:

confluent --version
Version: v3.3.0
Git Ref: a4a75ff7
Build Date: 2023-02-23T22:00:37Z
Go Version: go1.20 X:boringcrypto (windows/amd64)
Development: false

It is getting better but still I am having issues(something related to not be able to find plugins ):
A bit frustraiting . Could you please advise ? Just in case : I am using windows machine and I am not familiar with JAVA

Here is a log (I am using: GitHub - mmuehlbeyer/data-mesh-demo: A Data Mesh prototype built on Confluent Cloud):

$ make data-mesh

Let’s go build a Data Mesh!

:hourglass: ====== Preflight Checks.
:heavy_check_mark: confluent version ok
:heavy_check_mark: logged into confluent CLI
:heavy_check_mark: jq installed

:hourglass: ====== Create a new ccloud-stack to bootstrap the Data Mesh.


This example runs on Confluent Cloud, sign up here:

     https://www.confluent.io/confluent-cloud/tryfree/

The example uses real Confluent Cloud resources that may be billable, including connectors
and ksqlDB applications that may have hourly charges. The end of this script shows a command
you can run to destroy all the cloud resources, and you should verify they are destroyed.

New Confluent Cloud signups receive $400 to spend within Confluent Cloud during their first
60 days. Use Confluent Cloud promo code C50INTEG to receive an additional $50 free usage.
This will sufficiently cover one day of running this example, beyond which you may be billed
for the Confluent Cloud resources until you destroy them.

Do you still want to run this script? [y/n] y
Creating Confluent Cloud stack for service account demo-app-7707, ID: sa-21181y.

Waiting up to 720 seconds for Confluent Cloud cluster to be ready and for credentials to propagate

Sleeping an additional 80 seconds to ensure propagation of all metadata

Adding role-binding to sa-21181y on env-1j9q15
{
“principal”: “User:sa-21181y”,
“role”: “EnvironmentAdmin”
}

Waiting for role-binding to propagate

[
{
“principal”: “User:sa-21181y”,
“email”: “”,
“role”: “EnvironmentAdmin”,
“environment”: “env-1j9q15”,
“cloud_cluster”: “”,
“cluster_type”: “”,
“logical_cluster”: “”,
“resource_type”: “”,
“name”: “”,
“pattern_type”: “”
}
]
IMPORTANT: Confirm that the users or service accounts that will interact with this cluster have the required privileges to access Schema Registry.
Set API Key “T3X57GQ6JFB7D2GF” as the active API key for “lkc-zgwzdz”.

Client configuration file saved to: stack-configs/java-service-account-sa-21181y.config

Generating component configurations from stack-configs/java-service-account-sa-21181y.config and saving to the folder delta_configs

Sleep an additional 2 minutes to wait for all Confluent Cloud metadata to propagate

:hourglass: ====== Add new tag definition to the Data Catalog.

Define a new tag in the Data Catalog called DataProduct:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2060 100 1470 100 590 1604 644 --:–:-- --:–:-- --:–:-- 2251[{“category”:“CLASSIFICATION”,“createdBy”:“root”,“updatedBy”:“root”,“createTime”:1677513519844,“updateTime”:1677513519844,“version”:1,“name”:“DataProduct”,“description”:“Data Product Attributes”,“typeVersion”:“1.0”,“attributeDefs”:[{“name”:“owner”,“typeName”:“string”,“isOptional”:false,“cardinality”:“SINGLE”,“valuesMinCount”:1,“valuesMaxCount”:1,“isUnique”:false,“isIndexable”:false,“includeInNotification”:false,“searchWeight”:-1,“options”:{“maxStrLength”:“5000”}},{“name”:“description”,“typeName”:“string”,“isOptional”:true,“cardinality”:“SINGLE”,“valuesMinCount”:0,“valuesMaxCount”:1,“isUnique”:false,“isIndexable”:false,“includeInNotification”:false,“searchWeight”:-1,“options”:{“maxStrLength”:“5000”}},{“name”:“domain”,“typeName”:“string”,“isOptional”:true,“cardinality”:“SINGLE”,“valuesMinCount”:0,“valuesMaxCount”:1,“isUnique”:false,“isIndexable”:false,“includeInNotification”:false,“searchWeight”:-1,“options”:{“maxStrLength”:“5000”}},{“name”:“sla”,“typeName”:“string”,“isOptional”:true,“cardinality”:“SINGLE”,“valuesMinCount”:0,“valuesMaxCount”:1,“isUnique”:false,“isIndexable”:false,“includeInNotification”:false,“searchWeight”:-1,“options”:{“maxStrLength”:“5000”}},{“name”:“quality”,“typeName”:“string”,“isOptional”:true,“cardinality”:“SINGLE”,“valuesMinCount”:0,“valuesMaxCount”:1,“isUnique”:false,“isIndexable”:false,“includeInNotification”:false,“searchWeight”:-1,“options”:{“maxStrLength”:“5000”}}],“superTypes”:,“entityTypes”:[“sr_subject_version”]}]

View the new tag definition:
{
“category”: “CLASSIFICATION”,
“createdBy”: “root”,
“updatedBy”: “root”,
“createTime”: 1677513519844,
“updateTime”: 1677513519844,
“version”: 1,
“name”: “DataProduct”,
“description”: “Data Product Attributes”,
“typeVersion”: “1.0”,
“attributeDefs”: [
{
“name”: “owner”,
“typeName”: “string”,
“isOptional”: false,
“cardinality”: “SINGLE”,
“valuesMinCount”: 1,
“valuesMaxCount”: 1,
“isUnique”: false,
“isIndexable”: false,
“includeInNotification”: false,
“searchWeight”: -1,
“options”: {
“maxStrLength”: “5000”
}
},
{
“name”: “description”,
“typeName”: “string”,
“isOptional”: true,
“cardinality”: “SINGLE”,
“valuesMinCount”: 0,
“valuesMaxCount”: 1,
“isUnique”: false,
“isIndexable”: false,
“includeInNotification”: false,
“searchWeight”: -1,
“options”: {
“maxStrLength”: “5000”
}
},
{
“name”: “domain”,
“typeName”: “string”,
“isOptional”: true,
“cardinality”: “SINGLE”,
“valuesMinCount”: 0,
“valuesMaxCount”: 1,
“isUnique”: false,
“isIndexable”: false,
“includeInNotification”: false,
“searchWeight”: -1,
“options”: {
“maxStrLength”: “5000”
}
},
{
“name”: “sla”,
“typeName”: “string”,
“isOptional”: true,
“cardinality”: “SINGLE”,
“valuesMinCount”: 0,
“valuesMaxCount”: 1,
“isUnique”: false,
“isIndexable”: false,
“includeInNotification”: false,
“searchWeight”: -1,
“options”: {
“maxStrLength”: “5000”
}
},
{
“name”: “quality”,
“typeName”: “string”,
“isOptional”: true,
“cardinality”: “SINGLE”,
“valuesMinCount”: 0,
“valuesMaxCount”: 1,
“isUnique”: false,
“isIndexable”: false,
“includeInNotification”: false,
“searchWeight”: -1,
“options”: {
“maxStrLength”: “5000”
}
}
],
“superTypes”: ,
“entityTypes”: [
“sr_subject_version”
]
}

:hourglass: ====== Create a new Data Product called stocktrades.
Created topic “stocktrades”.
:heavy_check_mark: confluent kafka topic create stocktrades

Creating connector from /c/data-mesh-demo_m/scripts/connectors/ccloud-datagen-stocktrades.json

2023-02-27T15:58:43.920Z [DEBUG] Searching $PATH for plugins. Plugins can be disabled in C:\Users\andrey.local.confluent\config.json.

Error: unable to parse config /proc/2137/fd/63: unable to read config file /proc/2137/fd/63: open /proc/2137/fd/63: The system cannot find the path specified.
ERROR: Exit status was not 0 while creating connector from /c/data-mesh-demo_m/scripts/connectors/ccloud-datagen-stocktrades.json. Please troubleshoot and try again
make: *** [Makefile:61: data-mesh] Error 1

hey @test01

very welcome

not sure if this demo was fully tested on windwos.
In general I would recommend to run kafka stuff on Linux or similar if possible.

Best,
Michael