Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. The PubSub+ Event Portal makes that easier, faster and more resilient.
Drag the files from your hard drive to the left-hand column of Postman to import
-
-
Configure Postman with your Event Portal token
-
-
Open the environment variables tab (1), select the Event Portal Environment and (2) set it as the active Environment.
-
-
-
-
Fill in the CURRENT VALUE column for api_key with the token you just generated in Event Portal.
-
Save the environment variables.
-
-
Run the Postman script
-
-
Switch back to the Collections tab, hit the three dots next to "Generate and populate Event Portal demo", then click "Run collection"
-
On the next screen, click on Run Generate and populate Event Portal
-
Wait for the script to complete. Be patient, there are a lot of commands to run!
-
-
-
-
-
-
-
-
-
To guide application promotion, Event Portal models all of your runtime environments. To do this, go to the profile icon in the lower left hand side, then click on Environments.
-
To allow Event Portal to configure the runtime environment, click on the three dots, then select Enable Runtime Configuration. Do this for both Test and Prod.
-
-
-
-
-
-
-
-
-
Open the Runtime Event Manager (1), then go to the Event Management Agent tab (2). Click on the 3 dots next to your Event Management Agent (the script created one for you). Then click on Edit Connection Details (4).
-
On the next screen, click on the three dots next to the PROD-solace event broker, then click on "Edit Connection Details"
-
Update the Message VPN (1), SEMP username (2) and SEMP URL (3) to point to your cloud broker. You will recall you saved them to a text pad in a previous step. You will use the admin password later. Once properly configured, click on Save Changes (4)
-
-
Click on the Save & Create connection file button as shown :
-
-
-
-
-
-
-
-
-
Now it's time to connect the Event Portal model and the runtime broker using the Event Management Agent.
-
-
From the main Runtime Event Manager tab, click on the three dots and go to Install Event Management Agent
-
Click on the download button and save the file to your hard drive.
-
Execute the following commands at the command line:
where PASSWORD_ENV_VAR_1 is the password for your cloud broker and /absolute/path/to/your/ema/config.yml points to your downloaded EMA configuration.
-
-
Confirm the connection by running: docker logs -f event-management-agent
-
-
The last line should be: Started event-management agent
-
-
-
Further confirm by going back to the Event Management Agents tab. Look to see your EMA has a green "Connected" label
-
-
-
-
-
-
-
Since the EMA is used for both audit and for config push, we will confirm broker connectivity by running an audit.
-
-
Go to Runtime Event Manager, then click on the us-central-solace-Prod modelled event mesh.
-
Click on Audit, then "Run Discovery Scan"
-
Confirm you want to run a Discovery Scan
-
If you see this message, you've successfully created a connection between the EMA and your event broker.
-
-
You are done!
-
-
-
-
-
-
Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. Event Portal makes that easier, faster and more resilient.
Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/codelabs/ep-lifecycle/codelab.json b/codelabs/ep-lifecycle/codelab.json
deleted file mode 100644
index 32f28419..00000000
--- a/codelabs/ep-lifecycle/codelab.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "environment": "web",
- "format": "html",
- "prefix": "https://storage.googleapis.com",
- "mainga": "UA-49880327-14",
- "updated": "2024-07-15T11:13:36Z",
- "id": "ep-lifecycle",
- "duration": 71,
- "title": "Event Portal: event-driven innovation that's faster, easier, more resilient",
- "summary": "See how Event Portal can guide you on a smooth path from fantastic idea to the hands of your users",
- "source": "main/markdown/ep-lifecycle/ep-lifecycle.md",
- "theme": "",
- "status": [
- "published"
- ],
- "category": [
- "solace",
- "eventportal"
- ],
- "tags": [
- "eventportal",
- "web"
- ],
- "feedback": "https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/ep-lifecycle",
- "url": "ep-lifecycle"
-}
diff --git a/codelabs/ep-lifecycle/img/102b52ace447c71a.png b/codelabs/ep-lifecycle/img/102b52ace447c71a.png
deleted file mode 100644
index 9003aa7f..00000000
Binary files a/codelabs/ep-lifecycle/img/102b52ace447c71a.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/125cf0adc0cc19ff.png b/codelabs/ep-lifecycle/img/125cf0adc0cc19ff.png
deleted file mode 100644
index 173964ae..00000000
Binary files a/codelabs/ep-lifecycle/img/125cf0adc0cc19ff.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/1957279cbbe4b7a6.png b/codelabs/ep-lifecycle/img/1957279cbbe4b7a6.png
deleted file mode 100644
index b46331ef..00000000
Binary files a/codelabs/ep-lifecycle/img/1957279cbbe4b7a6.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/1e318c0daed7f9ac.png b/codelabs/ep-lifecycle/img/1e318c0daed7f9ac.png
deleted file mode 100644
index af1ed284..00000000
Binary files a/codelabs/ep-lifecycle/img/1e318c0daed7f9ac.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/2e47349569e9e01a.png b/codelabs/ep-lifecycle/img/2e47349569e9e01a.png
deleted file mode 100644
index 764d129f..00000000
Binary files a/codelabs/ep-lifecycle/img/2e47349569e9e01a.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/2e66b21246e885f4.png b/codelabs/ep-lifecycle/img/2e66b21246e885f4.png
deleted file mode 100644
index fa39a752..00000000
Binary files a/codelabs/ep-lifecycle/img/2e66b21246e885f4.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/3663fe923281af2e.png b/codelabs/ep-lifecycle/img/3663fe923281af2e.png
deleted file mode 100644
index 95f19e10..00000000
Binary files a/codelabs/ep-lifecycle/img/3663fe923281af2e.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/3cd61532045d8f80.png b/codelabs/ep-lifecycle/img/3cd61532045d8f80.png
deleted file mode 100644
index a14dc92c..00000000
Binary files a/codelabs/ep-lifecycle/img/3cd61532045d8f80.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/40d226b48da3c9fc.png b/codelabs/ep-lifecycle/img/40d226b48da3c9fc.png
deleted file mode 100644
index a51ca253..00000000
Binary files a/codelabs/ep-lifecycle/img/40d226b48da3c9fc.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/44f356558033e250.gif b/codelabs/ep-lifecycle/img/44f356558033e250.gif
deleted file mode 100644
index 5364f91e..00000000
Binary files a/codelabs/ep-lifecycle/img/44f356558033e250.gif and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/45845665c652df8b.png b/codelabs/ep-lifecycle/img/45845665c652df8b.png
deleted file mode 100644
index cd386770..00000000
Binary files a/codelabs/ep-lifecycle/img/45845665c652df8b.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/4803dd349d035167.png b/codelabs/ep-lifecycle/img/4803dd349d035167.png
deleted file mode 100644
index d1fece94..00000000
Binary files a/codelabs/ep-lifecycle/img/4803dd349d035167.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/55d14220f35a54fc.png b/codelabs/ep-lifecycle/img/55d14220f35a54fc.png
deleted file mode 100644
index a0526e88..00000000
Binary files a/codelabs/ep-lifecycle/img/55d14220f35a54fc.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/59cd71233a8d1e3b.png b/codelabs/ep-lifecycle/img/59cd71233a8d1e3b.png
deleted file mode 100644
index 0dbac95b..00000000
Binary files a/codelabs/ep-lifecycle/img/59cd71233a8d1e3b.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/62fca0935cdf69d7.png b/codelabs/ep-lifecycle/img/62fca0935cdf69d7.png
deleted file mode 100644
index c4a8b69e..00000000
Binary files a/codelabs/ep-lifecycle/img/62fca0935cdf69d7.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/6758deaa5e458a7c.png b/codelabs/ep-lifecycle/img/6758deaa5e458a7c.png
deleted file mode 100644
index 30173251..00000000
Binary files a/codelabs/ep-lifecycle/img/6758deaa5e458a7c.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/6a5d14e6e1059385.png b/codelabs/ep-lifecycle/img/6a5d14e6e1059385.png
deleted file mode 100644
index 53bf0bb1..00000000
Binary files a/codelabs/ep-lifecycle/img/6a5d14e6e1059385.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/6cc75765efa9c122.png b/codelabs/ep-lifecycle/img/6cc75765efa9c122.png
deleted file mode 100644
index 24e4eb11..00000000
Binary files a/codelabs/ep-lifecycle/img/6cc75765efa9c122.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/6d9bc4480858f78a.png b/codelabs/ep-lifecycle/img/6d9bc4480858f78a.png
deleted file mode 100644
index bcdbe51a..00000000
Binary files a/codelabs/ep-lifecycle/img/6d9bc4480858f78a.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/72752449d31f6e23.png b/codelabs/ep-lifecycle/img/72752449d31f6e23.png
deleted file mode 100644
index e39d0afd..00000000
Binary files a/codelabs/ep-lifecycle/img/72752449d31f6e23.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/77ea68c336e1f4ca.png b/codelabs/ep-lifecycle/img/77ea68c336e1f4ca.png
deleted file mode 100644
index 8146f848..00000000
Binary files a/codelabs/ep-lifecycle/img/77ea68c336e1f4ca.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/788e417964665cba.png b/codelabs/ep-lifecycle/img/788e417964665cba.png
deleted file mode 100644
index 67b31a45..00000000
Binary files a/codelabs/ep-lifecycle/img/788e417964665cba.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/78d3721cf1042ad6.png b/codelabs/ep-lifecycle/img/78d3721cf1042ad6.png
deleted file mode 100644
index 655c3ae6..00000000
Binary files a/codelabs/ep-lifecycle/img/78d3721cf1042ad6.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/7b5c691d210d1902.png b/codelabs/ep-lifecycle/img/7b5c691d210d1902.png
deleted file mode 100644
index 06489a0d..00000000
Binary files a/codelabs/ep-lifecycle/img/7b5c691d210d1902.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/7ba297766a146259.png b/codelabs/ep-lifecycle/img/7ba297766a146259.png
deleted file mode 100644
index 67fda9c4..00000000
Binary files a/codelabs/ep-lifecycle/img/7ba297766a146259.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/7c43288445fdd720.png b/codelabs/ep-lifecycle/img/7c43288445fdd720.png
deleted file mode 100644
index 537d2ffa..00000000
Binary files a/codelabs/ep-lifecycle/img/7c43288445fdd720.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/7dbde4c236f5e050.png b/codelabs/ep-lifecycle/img/7dbde4c236f5e050.png
deleted file mode 100644
index 67eda278..00000000
Binary files a/codelabs/ep-lifecycle/img/7dbde4c236f5e050.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/81400a01072c8c1e.png b/codelabs/ep-lifecycle/img/81400a01072c8c1e.png
deleted file mode 100644
index b876e621..00000000
Binary files a/codelabs/ep-lifecycle/img/81400a01072c8c1e.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/834967177754e04c.png b/codelabs/ep-lifecycle/img/834967177754e04c.png
deleted file mode 100644
index 6a9dd504..00000000
Binary files a/codelabs/ep-lifecycle/img/834967177754e04c.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/84e519bc8f391e2.png b/codelabs/ep-lifecycle/img/84e519bc8f391e2.png
deleted file mode 100644
index 7ff21218..00000000
Binary files a/codelabs/ep-lifecycle/img/84e519bc8f391e2.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/8b6fff5cc1162a08.png b/codelabs/ep-lifecycle/img/8b6fff5cc1162a08.png
deleted file mode 100644
index b49bb11d..00000000
Binary files a/codelabs/ep-lifecycle/img/8b6fff5cc1162a08.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/8e49785f6ff483f0.png b/codelabs/ep-lifecycle/img/8e49785f6ff483f0.png
deleted file mode 100644
index 5b6a9aa6..00000000
Binary files a/codelabs/ep-lifecycle/img/8e49785f6ff483f0.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/8ef3b966a07f490e.png b/codelabs/ep-lifecycle/img/8ef3b966a07f490e.png
deleted file mode 100644
index 2a98946a..00000000
Binary files a/codelabs/ep-lifecycle/img/8ef3b966a07f490e.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/90b4d605d8af0802.png b/codelabs/ep-lifecycle/img/90b4d605d8af0802.png
deleted file mode 100644
index 52f52bc5..00000000
Binary files a/codelabs/ep-lifecycle/img/90b4d605d8af0802.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/9253a58dc34a70db.png b/codelabs/ep-lifecycle/img/9253a58dc34a70db.png
deleted file mode 100644
index f31a70bf..00000000
Binary files a/codelabs/ep-lifecycle/img/9253a58dc34a70db.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/93de13a57e3dfa49.png b/codelabs/ep-lifecycle/img/93de13a57e3dfa49.png
deleted file mode 100644
index fdb06451..00000000
Binary files a/codelabs/ep-lifecycle/img/93de13a57e3dfa49.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/9abc3041cad5cec8.png b/codelabs/ep-lifecycle/img/9abc3041cad5cec8.png
deleted file mode 100644
index 65b751b3..00000000
Binary files a/codelabs/ep-lifecycle/img/9abc3041cad5cec8.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/9d0e79a073179cb.png b/codelabs/ep-lifecycle/img/9d0e79a073179cb.png
deleted file mode 100644
index 3a1d8ff7..00000000
Binary files a/codelabs/ep-lifecycle/img/9d0e79a073179cb.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/a37a27ca0d1395fa.png b/codelabs/ep-lifecycle/img/a37a27ca0d1395fa.png
deleted file mode 100644
index a616abfa..00000000
Binary files a/codelabs/ep-lifecycle/img/a37a27ca0d1395fa.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/a47a45c90ec29441.png b/codelabs/ep-lifecycle/img/a47a45c90ec29441.png
deleted file mode 100644
index aa945964..00000000
Binary files a/codelabs/ep-lifecycle/img/a47a45c90ec29441.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/a730bde567da17aa.png b/codelabs/ep-lifecycle/img/a730bde567da17aa.png
deleted file mode 100644
index 290d6163..00000000
Binary files a/codelabs/ep-lifecycle/img/a730bde567da17aa.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/ac81d0a15233f367.png b/codelabs/ep-lifecycle/img/ac81d0a15233f367.png
deleted file mode 100644
index 03337b1d..00000000
Binary files a/codelabs/ep-lifecycle/img/ac81d0a15233f367.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b05c2a11bd7ff6d7.png b/codelabs/ep-lifecycle/img/b05c2a11bd7ff6d7.png
deleted file mode 100644
index e8e07274..00000000
Binary files a/codelabs/ep-lifecycle/img/b05c2a11bd7ff6d7.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b36f4136605e5aff.png b/codelabs/ep-lifecycle/img/b36f4136605e5aff.png
deleted file mode 100644
index a5e48e89..00000000
Binary files a/codelabs/ep-lifecycle/img/b36f4136605e5aff.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b4e02fca4e3213a5.png b/codelabs/ep-lifecycle/img/b4e02fca4e3213a5.png
deleted file mode 100644
index f2f30abb..00000000
Binary files a/codelabs/ep-lifecycle/img/b4e02fca4e3213a5.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b5f64b5a5c8ec2b8.png b/codelabs/ep-lifecycle/img/b5f64b5a5c8ec2b8.png
deleted file mode 100644
index 2de7a890..00000000
Binary files a/codelabs/ep-lifecycle/img/b5f64b5a5c8ec2b8.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b7a472d3ead7d064.png b/codelabs/ep-lifecycle/img/b7a472d3ead7d064.png
deleted file mode 100644
index 4be5e9e0..00000000
Binary files a/codelabs/ep-lifecycle/img/b7a472d3ead7d064.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/b99a319bc01c88d2.png b/codelabs/ep-lifecycle/img/b99a319bc01c88d2.png
deleted file mode 100644
index 261cdd2c..00000000
Binary files a/codelabs/ep-lifecycle/img/b99a319bc01c88d2.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/babddc5fef3b6600.png b/codelabs/ep-lifecycle/img/babddc5fef3b6600.png
deleted file mode 100644
index 8e9b7efa..00000000
Binary files a/codelabs/ep-lifecycle/img/babddc5fef3b6600.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/c5e164e0967289ae.png b/codelabs/ep-lifecycle/img/c5e164e0967289ae.png
deleted file mode 100644
index 9d4dff90..00000000
Binary files a/codelabs/ep-lifecycle/img/c5e164e0967289ae.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/c6602818e35f2f98.png b/codelabs/ep-lifecycle/img/c6602818e35f2f98.png
deleted file mode 100644
index 154848a2..00000000
Binary files a/codelabs/ep-lifecycle/img/c6602818e35f2f98.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/c72b5c990c5c1a09.png b/codelabs/ep-lifecycle/img/c72b5c990c5c1a09.png
deleted file mode 100644
index 00dc64db..00000000
Binary files a/codelabs/ep-lifecycle/img/c72b5c990c5c1a09.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/d11457e94cb10feb.png b/codelabs/ep-lifecycle/img/d11457e94cb10feb.png
deleted file mode 100644
index 592f28f7..00000000
Binary files a/codelabs/ep-lifecycle/img/d11457e94cb10feb.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/d660b25ba821037.png b/codelabs/ep-lifecycle/img/d660b25ba821037.png
deleted file mode 100644
index 877b6d2d..00000000
Binary files a/codelabs/ep-lifecycle/img/d660b25ba821037.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/d7ef471b9fd0a054.png b/codelabs/ep-lifecycle/img/d7ef471b9fd0a054.png
deleted file mode 100644
index 09e2c190..00000000
Binary files a/codelabs/ep-lifecycle/img/d7ef471b9fd0a054.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/d99b0caa38a9d74.png b/codelabs/ep-lifecycle/img/d99b0caa38a9d74.png
deleted file mode 100644
index 81ba63c9..00000000
Binary files a/codelabs/ep-lifecycle/img/d99b0caa38a9d74.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/ddcea2555636e59a.png b/codelabs/ep-lifecycle/img/ddcea2555636e59a.png
deleted file mode 100644
index 510f8b81..00000000
Binary files a/codelabs/ep-lifecycle/img/ddcea2555636e59a.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/de68f31ebe50ebdb.png b/codelabs/ep-lifecycle/img/de68f31ebe50ebdb.png
deleted file mode 100644
index eae28801..00000000
Binary files a/codelabs/ep-lifecycle/img/de68f31ebe50ebdb.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/e1006862542e84ec.png b/codelabs/ep-lifecycle/img/e1006862542e84ec.png
deleted file mode 100644
index e00cd262..00000000
Binary files a/codelabs/ep-lifecycle/img/e1006862542e84ec.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/e5b5d6710fbf8d8f.png b/codelabs/ep-lifecycle/img/e5b5d6710fbf8d8f.png
deleted file mode 100644
index b9544b02..00000000
Binary files a/codelabs/ep-lifecycle/img/e5b5d6710fbf8d8f.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/e90b36a4225f8f60.png b/codelabs/ep-lifecycle/img/e90b36a4225f8f60.png
deleted file mode 100644
index 81868cf6..00000000
Binary files a/codelabs/ep-lifecycle/img/e90b36a4225f8f60.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/e9dcd70ee5db90ce.png b/codelabs/ep-lifecycle/img/e9dcd70ee5db90ce.png
deleted file mode 100644
index aa826a7f..00000000
Binary files a/codelabs/ep-lifecycle/img/e9dcd70ee5db90ce.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/ee476ad18f9a8639.png b/codelabs/ep-lifecycle/img/ee476ad18f9a8639.png
deleted file mode 100644
index 0eedb7cb..00000000
Binary files a/codelabs/ep-lifecycle/img/ee476ad18f9a8639.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/f2918fbe04d96cb8.png b/codelabs/ep-lifecycle/img/f2918fbe04d96cb8.png
deleted file mode 100644
index 02a87b3d..00000000
Binary files a/codelabs/ep-lifecycle/img/f2918fbe04d96cb8.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/f6350c4e9b2be11c.png b/codelabs/ep-lifecycle/img/f6350c4e9b2be11c.png
deleted file mode 100644
index 86c00c58..00000000
Binary files a/codelabs/ep-lifecycle/img/f6350c4e9b2be11c.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/f89539c6296a49f0.png b/codelabs/ep-lifecycle/img/f89539c6296a49f0.png
deleted file mode 100644
index 3b6b1c23..00000000
Binary files a/codelabs/ep-lifecycle/img/f89539c6296a49f0.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/img/ffd44ada7f57a5f9.png b/codelabs/ep-lifecycle/img/ffd44ada7f57a5f9.png
deleted file mode 100644
index f711e807..00000000
Binary files a/codelabs/ep-lifecycle/img/ffd44ada7f57a5f9.png and /dev/null differ
diff --git a/codelabs/ep-lifecycle/index.html b/codelabs/ep-lifecycle/index.html
deleted file mode 100644
index c94995fa..00000000
--- a/codelabs/ep-lifecycle/index.html
+++ /dev/null
@@ -1,237 +0,0 @@
-
-
-
-
-
-
-
-
- Event Portal: event-driven innovation that's faster, easier, more resilient
-
-
-
-
-
-
-
-
-
-
-
Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. Event Portal makes that easier, faster and more resilient.
-
This code lab takes you through the lifecycle of a new event-driven application, from finding relevant events to jump start development, to generating rock-solid code, to automated event configuration with your existing CICD pipeline.
A GitHub account. If you don't have one, you can get one free.
-
-
-
-
-
-
-
Find interesting events to use in your solution
-
-
In the home screen of Solace Cloud, click on Catalog.
-
Within Catalog, click on the Events tab, then search for customer in the search box. You'll note that there are two existing customer events that would be perfect.
-
Also, look for order related events by searching for order
-
-
-
-
-
-
-
Create an Application Domain to house your application, event and schema
-
-
Now that we have candidate events, click on the Designer icon in the left bar (1), then Create Application Domain. (2)
-
Configure the domain: Name (1): Customer360 Description (2): collect customer behavior from across domains Add a Solace (3) topic domain of acmeretail/c360 (4) Select all 3 checkboxes, enforcing topic uniqueness (5), enforcing topic domain (6) and allowing descriptions to be edited (7)
-
-
Then click on OK
-
Graphically create your application
-
-
Go into the newly created Customer360 domain.
-
Click on Add Objects and drag "New Application" to the canvas and name it Customer 360.
-
Again click on Add Objects, and drag a Shared Event to the canvas
-
In the popup, select Customer Updated, then click on Add.
-
Repeat this process to add the Customer Created shared event, which you discovered in the catalog earlier.
-
To define which events Customer 360 subscribes to, hover over the Customer Created event and drag the arrow to the Customer360 application. Repeat for the Customer Updated event.
-
Drag a "New Event" onto the canvas and call it Customer Insight Generated.
-
To define the event Customer 360 publishes, hover over the Customer360 application and drag the arrow to the Customer Insight Generated event.
-
-
Add an event directly from the catalog
-
-
Navigate back to the catalog (1), click on the Events tab (2), select Order Created (3).
-
In the right hand column, click on the latest version
-
Click on Associate with Application
-
Select the Customer360 domain (1), the latest Customer360 version (2), and specify that you want to subscribe to the event (3). Then click on Save.
-
-
Create consumers for your application
-
-
In the resulting screen, scroll down to the Referenced By section, click on the three dots next to Customer 360, and then Open Application
-
Click on Edit This Version
-
Click on the Consumers tab (1), then on Add Consumer (2)
-
Name the queue C360.ORDERS (1) give it a type of Solace Event Queue (2) Click on Set Configuration (3) to use the default configuration Then click on Add Subscriptions (4)
-
In the resulting screen, select the Order Created event, which will prefill the subscription. Then click on Add Subscription
-
Repeat the process to create the consumer for the two Customer events, naming the queue C360.CUSTOMERS When you click on Add Subscriptions, select both of the Customer events and a subscription for both.
-
To save your changes, click on Save & Close.
-
-
Create a new Customer Insight Generated event
-
-
You will use this schema file for the payload of the event. Download it and save it to your hard drive. Schema file
-
Click on the Schemas tab (1)for the Customer360 domain, then click on Create Schema(2)
-
Name the schema Customer Insight, then the Import from File button. Navigate to the customerinsight.json schema file you just downloaded.
-
Click on Save and Close.
-
Click on the Events tab (1) at the top of the screen, then click on Customer Insight Generated (2).
-
Click on Edit This Version
-
Define the Topic Address. Start by clicking on the field and selecting the acmeretail/c360 topic domain
-
Type in the remainder of the topic address, using brackets for parameters. The final result should be: acmeretail/c360/customerinsight/generated/v1/{insighttype}/{customerid}
-
Scroll down further and click on Select Schema.
-
Select the Customer Insight schema you just created.
-
-
-
-
-
-
-
-
AsyncAPI export
-
-
Click on Applications (1) in the top menu, then on Customer360(2)
-
Click on the three dots next to version 0.1.0 and click on Download AsyncAPI. Save the file on your hard drive.
-
In a web browser, navigate to AsyncAPI Studio at https://studio.asyncapi.com
-
Click on the three dots in main panel (1), then on Import File. (2)
-
In the resulting pop up, change the conversion to version 2.6.0, then click on Convert.
-
Now that the AsyncAPI is loaded you can browse it, and also look through the autocreated documentation.
-
When you're finished browsing, click again on the three dots (1), then click on Generate code/docs.(2)
-
In the popup window, select Java Spring Cloud Stream Project, then click on Generate.
-
Save the resulting .zip file to your hard drive.
-
-
-
-
-
-
-
-
Assign your application to an environment/event broker
-
-
Click on Applications, then on Customer360.
-
Click on the Runtime tab.
-
Expand the Prod environment, then click on the three dots next to PROD-solace, then on Manage Credentials.
-
For the Username enter c360 (1). For the Password enter c360 (2). Click on Save. (3)
-
Back in the main screen, expand the Prod environment (1) again click on the three dots, and then "Add Application" (2)
-
The resulting popup previews the changes that will occur. Expand out the credentials (1) and queues (2) to see more details. Then click on Add (3)
-
-
-
Confirm EP provisioned your queues and access
-
-
Go to the management console of your cloud broker by clicking Cluster Manager in the left hand column, then clicking on your Event Broker.
-
Click on the Manage tab (1), then Queues (2).
-
You should see the two queues you defined earlier, C360.CUSTOMERS and C360.ORDERS. Clicking on each, you should see that they are owned by c360, only the owner is allowed to access the queue and the subscriptions you defined are in place.
-
Click on Access Control (1), the Client Usernames tab (2), and you should see the c360 client username. (3)
-
Click on the ACL Profiles tab (1) and you should see the ACL associated with your user. (2)
-
-
View the updated event flow for Production
-
-
Click on the Runtime Event Manager icon on the left hand side (1), then on the us-central-solace-Prod event mesh. (2)
-
Scroll down the list of applications in the left column to find Customer360, then click on the three dots (1). Then select Center on Graph. (2) This highlights the Customer360 on the graph.
-
To highlight only the direct dependencies for Customer360 in Production, click on the three dots (1), then Show Relationships(2).
-
-
Remove application from runtime event broker and modelled event Mesh
-
-
Click on the Customer360 link in the left hand column.
-
In the resulting popup, click on Open in Designer.
-
Click on the Runtime tab.
-
Expand the Prod tab (1), click the three dots(2), the click on Remove Application.(3)
-
In the popup, review the details of what queues will be removed. Then click on Remove
-
-
-
-
-
-
-
-
Create new repository with Event Portal GitHub Actions
Use https://github.com/SolaceLabs/ep-scs-workflow for the URL, list yourself as the owner, and name the new repository customer360. Click on Begin Import.
-
Wait for the import to complete, usually around 3 minutes. Then click on the link to open the repository.
-
-
-
Configure GitHub Actions
-
-
In the top menu of the repository, select Settings.
-
In the left hand column, select Actions(1), then General (2).
-
Scroll to the bottom of the page, and click on the radio button next to Read and write permissions (1). Then click on Save.(2)
-
Again in the left hand column, scroll down, expand Secrets and variables (1), then click on Actions (2).
-
In the main panel, click on New Repository Secret.
-
Name the secret SOLACE_CLOUD_TOKEN. The value of the secret should be the token you created for Postman when initially populating your account.
-
-
Upload micro-integration to GitHub
-
-
Unzip the Spring Cloud Stream source code you downloaded from studio.asyncapi.com on your hard drive.
-
In the root directory, move the asyncapi.yml file to the template directory.
-
Navigate to the template directory. It should look like this:
-
In your browser go to the new repository, click on the plus sign (1), then on Upload files. (2)
-
Select all 4 of files/subdirectories in the template directory, then click on OK
-
-
-
Commit the files and open a pull request
-
-
In the resulting window, change the radio button to Create a new branch for this commit. Then click on Propose changes.
-
In the next screen, click on Create pull request.
-
The GitHub Actions kick off. When they are finished, there should be a list of changes that will occur should the pull request be approved.
-
Scroll down to the bottom of the pull request and click on Merge pull request. Then click on Confirm merge.
-
Using the management console of your cloud broker, confirm that the CICD process created the same queues, subscriptions, ACLs as manual promotion.
-
-
-
-
-
-
-
-
Finding relevant events to jump start development
-
Generating rock-solid code
-
Automated event configuration with your existing CICD pipeline.
-
-
-
Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
At the top of the map, toggle between "hand" to pan around, or "box" to draw filtered areas of the map. The blue button above them will delete all filtered areas.
-
-
-
-
-
-
We will be doing a Solace Discovery Scan. You will need to log into the Solace Event Portal: https://console.solace.cloud/
-
-
Click on "Discovery"
-
Click on "How do I run a Discovery Scan" at the top
-
Download and run the Discovery agent
-
-
-
-
-
-
-
The agent is a local application running on your localhost or whatever server your Docker is running on. Point your favourite browser to http://localhost:8120 to see the Agent GUI.
-
Use the following credentials to do Solace "Runtime Discovery". (note, these credentials will also work for a Topic Discovery scan):
-
-
Client Username: public
-
Client Password: ilikeplanes
-
SEMP Username: readonly
-
SEMP Password: readonly
-
Client Protocol: tcp
-
Client Host: mrz5j97864i9m.messaging.solace.cloud
-
SEMP Host: mrz5j97864i9m.messaging.solace.cloud
-
Messaging Port: 55555
-
Message VPN: us-aviation-demo
-
SEMP Port: 943
-
SEMP Scheme: https
-
Topics Subscriptions: >
-
Scan Duration: 60 (seconds)
-
-
Of course, feel free to scan any broker / Message VPN that you have access to
-
After the scan is complete, upload it to your Solace Cloud account. Or download the JSON if you wish, you can upload it later.
-
-
-
-
-
-
Back in Solace Cloud Console, under the Designer, you should see the scan you just ran. Click the three vertical dots and "Import to Designer".
-
You will be presented with two sets of data:
-
-
the topic hierarchy scanned
-
any scanned Solace clients that were connected, and their subscriptions
-
-
Creating Events from Topics
-
Navigate through the topic hierarchy. When you navigate/expand a topic tree all the way down to the leaf node, you can then create an event with that static topic. There will appear a little + sign and allow you to create a Portal Event.
-
To create a topic level with mulitple values (e.g. enums or variable), click the checkmark box to the left of the first value at that level, and then say "Select All". Then you can create a variable for that level.
-
Watch the video for more details, or check back later when this CodeLab is updated.
-
Detecting Client Applications
-
On the 2nd tab, Queues & Direct Clients, you can see what consumers are active and consuming data from Solace. These can be generated into Portal Appliations.
-
-
-
-
-
-
Once Events and Applications have been created from your scan, you can move into the Designer view and start enhancing the data there (e.g. description, owner, etc.). Note that for scanned Events (topics), the Schema is not automatically generated as Solace (currently) don't reverse engineer schemas from published payloads.
-
Finally, you can export the AsyncAPI schema of any Applications you like, and then use any AsyncAPI code generator to build you a new application framework for publishing or subscribing to the data.
-
-
-
-
-
-
Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/markdown/Design-Code-Deploy-With-Event-Portal/Design-Code-Deploy-With-Event-Portal.md b/markdown/Design-Code-Deploy-With-Event-Portal/Design-Code-Deploy-With-Event-Portal.md
index fa4c4975..e0692bce 100644
--- a/markdown/Design-Code-Deploy-With-Event-Portal/Design-Code-Deploy-With-Event-Portal.md
+++ b/markdown/Design-Code-Deploy-With-Event-Portal/Design-Code-Deploy-With-Event-Portal.md
@@ -14,7 +14,7 @@ link: https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/Desi
## What you'll learn: Overview
-Duration: 5 minutes
+Duration: 0:05:00
In this codelab, you'll experience the complete lifecycle of event-driven architecture design and deployment using
Solace Event Portal and PubSub+ Cloud.
@@ -23,7 +23,7 @@ You'll learn how to:
- Register for a Solace Cloud trial account
- Provision a PubSub+ Cloud broker service
- Configure environment and modeled event mesh
-- Design an EDA model using the AI Designer in Event Portal
+- Design an EDA model using the AI Design Assistant in Event Portal
- Create and manage application domains
- Design application flows with events and topics
- Customise Event Portal with custom icons and logos
@@ -54,7 +54,7 @@ By the end of this codelab, you'll have:
## Register for Solace Cloud Trial
-Duration: 5 minutes
+Duration: 0:05:00
### Create Your Account
@@ -87,7 +87,7 @@ Duration: 5 minutes
## Provision Your First PubSub+ Broker
-Duration: 10 minutes
+Duration: 0:10:00
### Navigate to Cluster Manager
@@ -132,7 +132,7 @@ Duration: 10 minutes
## Configure environment and modelled event mesh
-Duration: 15 minutes
+Duration: 0:15:00
### Environment Setup
@@ -190,7 +190,7 @@ event-driven architecture (EDA).
## Design EDA using the Event Portal
-Duration : 10 minutes
+Duration: 0:10:00
Event Portal is a cloud-based event management tool that enables you to discover, create, design, share, manage, and
govern the assets and resources in your event-driven architecture (EDA). It makes developing and deploying event-driven
@@ -298,7 +298,7 @@ members to recognize and navigate through the applications in the Event Portal.
## Design new events and application flows
-Duration : 15 minutes
+Duration: 0:15:00
> aside negative **Note** : The names of the application domains, applications and events created by the AI Design
> Assistant may vary each time you run the design process. The steps below will guide you on how to create new events
@@ -340,7 +340,7 @@ Duration : 15 minutes
## Configure REST Delivery Points push configuration to broker
-Duration : 15 minutes
+Duration: 0:15:00
Now that you have updated your original design with a new event and established a producing relationship, you need to
create a consuming application that will forward the event messages to a REST endpoint using a REST Delivery Point (
@@ -432,7 +432,7 @@ RDP). You will also push the updated design to the PubSub+ Cloud broker.
## Test end-to-end message flow with REST consumers
-Duration : 10 minutes
+Duration: 0:10:00
Till now, we have :
- Provisioned a PubSub+ Cloud broker associated with an environment and linked it to a modeled event mesh
@@ -488,7 +488,7 @@ broker is working as expected.
## Summarize key takeaways and next steps
-Duration : 5 minutes
+Duration: 0:05:00
### Summary
diff --git a/markdown/ep-connect-ep-broker/ep-connect-ep-broker.md b/markdown/ep-connect-ep-broker/ep-connect-ep-broker.md
deleted file mode 100644
index 0dd1c528..00000000
--- a/markdown/ep-connect-ep-broker/ep-connect-ep-broker.md
+++ /dev/null
@@ -1,188 +0,0 @@
-author: jessemenning
-summary: Establishes connectivity between Event Portal, Pub Sub+ Event Broker (the runtime component) and the Event Management Agent. This in turn enables config push
-id: ep-connect-ep-broker
-tags: eventportal
-categories: solace, eventportal
-environments: Web
-status: Published
-feedback link: https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/ep-connect-ep-broker
-
-# Connecting Event Portal to a runtime Event Broker
-
-## What you'll learn: Overview
-
-Duration: 0:05:00
-
-Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. The PubSub+ Event Portal makes that easier, faster and more resilient.
-
-This codelab establishes connectivity between Event Portal, PubSub+ Event Broker (the runtime event broker that moves events around) and the Event Management Agent. Once you've established that connectivity, the next codelab explores [reusing events you already have, automating event access and auto-generating code for Event Driven applications.](https://codelabs.solace.dev/codelabs/ep-lifecycle).
-
-> aside positive
-> If you run into issues, please reach out on the [Solace Community site](https://solace.community/).
-
-
-## What you need: Prerequisites
-
-Duration: 0:07:00
-
-* Postman installed on a local machine, you can [download it for free](https://www.postman.com/downloads/).
-* Docker installed on a local machine. If you prefer to use Podman, please note that you will need to use different commands later in the lab.
-* An empty Event Portal account. Don't have an Event Portal account? [Get one for free.](https://console.solace.cloud/login/new-account?product=event-management)
-
-
-## Start a cloud event broker and get connection info
-Duration: 0:15:00
-
-### Start a cloud event broker
-1. Login to PubSub+ Cloud and click on Cluster Manager

-1. Click on Create Service

-1. In the Create Service window, name your service ```aks-centralus-prod``` and pick the developer service type. Then click on the green Create Service button.

-1. After a few minutes, the deployment of the service completes and you should see something like this.

-That’s all it takes to create a running event broker.
-
-### Get connection info
-To connect your runtime event broker to your design time model in Event Portal you'll need some information later. It's easier to get it now.
-1. Click on the newly created ```aks-centralus-prod``` Service button
-1. Click on the Manage tab (1), then expand the SEMP - REST API section (2)

-1. Copy the following values into a text editor
-URL to the SEMP API (1)
-Message VPN name (2)
-Username (3)
-Password (4)
-

-
-> aside negative
-> Make sure to only copy the first part of the SEMP URL (shown highlighted in the image)
-For example ```https://mr-connection-hu34983498.messaging.solace.cloud:943```
-
-
-
-## Use Postman to populate Event Portal Environments and MEMs
-### Get an Event Portal Access Token
-Duration: 0:07:00
-1. Log into your newly created Solace Platform Account
-1. Go to Token Management in Event Portal
-1. Create a token 
-1. Name the token ```Demo Setup```
-1. Give the token full Read and Write access to:
-Event Portal 2.0
-Event Portal
-Account Management
-Environments
-1. Click on Create Token

-1. Confirm that your token has the following permissions: 
-1. Copy the token value and save it in a text file on your desktop.
-> aside positive
-> This token will be used multiple times through the demo, so keep it handy.
-
-### Import scripts into Postman
-Duration: 0:03:00
-1. Launch the desktop Postman application
-1. Download the Postman Collection and Environment files below:
-[Environment file](https://raw.githubusercontent.com/SolaceLabs/PostmanScripts/main/EventPortalEnvironment.postman_environment.json)
-[Script to populate Event Portal](https://raw.githubusercontent.com/SolaceLabs/PostmanScripts/main/PopulateEventPortaldemo.postman_collection.json)
-[Script to remove all objects from Event Portal](https://raw.githubusercontent.com/SolaceLabs/PostmanScripts/main/TearDownEventPortal.postman_collection.json)
-1. Drag the files from your hard drive to the left-hand column of Postman to import 
-
-### Configure Postman with your Event Portal token
-Duration: 0:05:00
-1. Open the environment variables tab (1), select the Event Portal Environment and (2) set it as the active Environment. 
-> aside negative
-> Make sure to set the correct active Environment (step 2 above)!
-
-1. Fill in the CURRENT VALUE column for api_key with the token you just generated in Event Portal. 
-1. Save the environment variables. 
-
-### Run the Postman script
-Duration: 0:10:00
-1. Switch back to the Collections tab, hit the three dots next to “Generate and populate Event Portal demo”, then click “Run collection” 
-1. On the next screen, click on Run Generate and populate Event Portal 
-1. Wait for the script to complete. Be patient, there are a lot of commands to run!
-
-> aside negative
-> If you get this error when running the script, you likely have not set the Event Portal Environment as the active Environment.
-```POST http://{{baseurl}}/api/v2/architecture/addressSpaces```
-```Error: getaddrinfo ENOTFOUND {{baseurl}}```
-
-## Enable runtime configuration for your environments
-Duration: 0:03:00
-1. To guide application promotion, Event Portal models all of your runtime environments. To do this, go to the profile icon in the lower left hand side, then click on Environments. 
-1. To allow Event Portal to configure the runtime environment, click on the three dots, then select Enable Runtime Configuration. Do this for both Test and Prod. 
-## Update the event management agent to connect to your cloud broker
-Duration: 0:10:00
-
-> aside positive
-> If you are using Podman instead of Docker, you'll need to replace ```docker``` with ```podman``` in all command line entries.
-
-
-1. Open the Runtime Event Manager (1), then go to the Event Management Agent tab (2). Click on the 3 dots next to your Event Management Agent (the script created one for you). Then click on Edit Connection Details (4). 
-1. On the next screen, click on the three dots next to the PROD-solace event broker, then click on “Edit Connection Details” 
-1. Update the Message VPN (1), SEMP username (2) and SEMP URL (3) to point to your cloud broker. You will recall you saved them to a text pad in a previous step. You will use the admin password later.
-Once properly configured, click on Save Changes (4) 
-
-Click on the **Save & Create connection file** button as shown : 
-## Run the Event Management Agent
-Duration: 0:10:00
-
-> aside positive
-> These instructions are also on the Event Portal once you create the Event Management Agent.
-
-> aside positive
-> If you are using Podman instead of Docker, you'll need to replace ```docker``` with ```podman``` in all command line entries.
-
-> aside negative
-> If you are using a Mac with an m chip, you may get the error
->``` WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ```
-> You can ignore this warning.
-
-
-Now it’s time to connect the Event Portal model and the runtime broker using the Event Management Agent.
-
-1. From the main Runtime Event Manager tab, click on the three dots and go to Install Event Management Agent 
-1. Click on the download button and save the file to your hard drive. 
-1. Execute the following commands at the command line:
-```
-export PASSWORD_ENV_VAR_1=envVarPassword1
-export PASSWORD_ENV_VAR_2=envVarPassword2
-docker run -d -p 8180:8180 -v /absolute/path/to/your/ema/config.yml:/config/ema.yml \
---env PRODsolace_SOLACE_SEMP_PASSWORD=${PASSWORD_ENV_VAR_1} \
---env TESTsolace_SOLACE_SEMP_PASSWORD=${PASSWORD_ENV_VAR_2} \
---name event-management-agent solace/event-management-agent:latest
-```
-where ```PASSWORD_ENV_VAR_1``` is the password for your cloud broker and ```/absolute/path/to/your/ema/config.yml``` points to your downloaded EMA configuration.
-
-4. Confirm the connection by running:
-```docker logs -f event-management-agent```
-
-The last line should be: ```Started event-management agent``` 
-
-> aside negative
-> The following error is caused by giving an incorrect path to the EMA file in the Docker command.
-```Failed to instantiate com.solace.maas.ep.event.management.agent.plugin.manager.client.KafkaClientConfigImpl: Constructor threw exception```
-
-
-5. Further confirm by going back to the Event Management Agents tab. Look to see your EMA has a green “Connected” label 
-
-
-## Confirm EMA Connection to Broker using an Audit
-Duration: 0:05:00
-
-Since the EMA is used for both audit and for config push, we will confirm broker connectivity by running an audit.
-1. Go to Runtime Event Manager, then click on the ```us-central-solace-Prod``` modelled event mesh. 
-1. Click on Audit, then “Run Discovery Scan” 
-1. Confirm you want to run a Discovery Scan 
-1. If you see this message, you’ve successfully created a connection between the EMA and your event broker. 
-
-You are done!
-
-## Takeaways
-
-Duration: 0:03:00
-
-Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. Event Portal makes that easier, faster and more resilient.
-
-Now that you've established that connectivity, you can explore how Event Portal [reuses events you already have, automates event access and auto-generates code for Event Driven applications.](https://codelabs.solace.dev/codelabs/ep-lifecycle).
-
-
-
-Thanks for participating in this codelab! Let us know what you thought in the [Solace Community Forum](https://solace.community/)! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
diff --git a/markdown/ep-connect-ep-broker/img/000097.png b/markdown/ep-connect-ep-broker/img/000097.png
deleted file mode 100644
index 7f1fa8f7..00000000
Binary files a/markdown/ep-connect-ep-broker/img/000097.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/000098.png b/markdown/ep-connect-ep-broker/img/000098.png
deleted file mode 100644
index 0f1a3c2f..00000000
Binary files a/markdown/ep-connect-ep-broker/img/000098.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/000100.png b/markdown/ep-connect-ep-broker/img/000100.png
deleted file mode 100644
index a75d8dab..00000000
Binary files a/markdown/ep-connect-ep-broker/img/000100.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/1.png b/markdown/ep-connect-ep-broker/img/1.png
deleted file mode 100644
index d825764f..00000000
Binary files a/markdown/ep-connect-ep-broker/img/1.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/10.png b/markdown/ep-connect-ep-broker/img/10.png
deleted file mode 100644
index f1ed3164..00000000
Binary files a/markdown/ep-connect-ep-broker/img/10.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/11.png b/markdown/ep-connect-ep-broker/img/11.png
deleted file mode 100644
index f8b6739c..00000000
Binary files a/markdown/ep-connect-ep-broker/img/11.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/12.png b/markdown/ep-connect-ep-broker/img/12.png
deleted file mode 100644
index c28f0fa1..00000000
Binary files a/markdown/ep-connect-ep-broker/img/12.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/13-new.png b/markdown/ep-connect-ep-broker/img/13-new.png
deleted file mode 100644
index 1acfc624..00000000
Binary files a/markdown/ep-connect-ep-broker/img/13-new.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/13.png b/markdown/ep-connect-ep-broker/img/13.png
deleted file mode 100644
index f1e23d9a..00000000
Binary files a/markdown/ep-connect-ep-broker/img/13.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/14.png b/markdown/ep-connect-ep-broker/img/14.png
deleted file mode 100644
index 98546526..00000000
Binary files a/markdown/ep-connect-ep-broker/img/14.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/15.png b/markdown/ep-connect-ep-broker/img/15.png
deleted file mode 100644
index ee608861..00000000
Binary files a/markdown/ep-connect-ep-broker/img/15.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/16.a.png b/markdown/ep-connect-ep-broker/img/16.a.png
deleted file mode 100644
index 7a0e4afb..00000000
Binary files a/markdown/ep-connect-ep-broker/img/16.a.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/16.png b/markdown/ep-connect-ep-broker/img/16.png
deleted file mode 100644
index 6cfd171a..00000000
Binary files a/markdown/ep-connect-ep-broker/img/16.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/17.png b/markdown/ep-connect-ep-broker/img/17.png
deleted file mode 100644
index 56d0a815..00000000
Binary files a/markdown/ep-connect-ep-broker/img/17.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/18.png b/markdown/ep-connect-ep-broker/img/18.png
deleted file mode 100644
index 46d52197..00000000
Binary files a/markdown/ep-connect-ep-broker/img/18.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/19.png b/markdown/ep-connect-ep-broker/img/19.png
deleted file mode 100644
index cecff3f4..00000000
Binary files a/markdown/ep-connect-ep-broker/img/19.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/2.png b/markdown/ep-connect-ep-broker/img/2.png
deleted file mode 100644
index 977f9364..00000000
Binary files a/markdown/ep-connect-ep-broker/img/2.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/20.png b/markdown/ep-connect-ep-broker/img/20.png
deleted file mode 100644
index 07ff31bc..00000000
Binary files a/markdown/ep-connect-ep-broker/img/20.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/21.png b/markdown/ep-connect-ep-broker/img/21.png
deleted file mode 100644
index b890db87..00000000
Binary files a/markdown/ep-connect-ep-broker/img/21.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/22.png b/markdown/ep-connect-ep-broker/img/22.png
deleted file mode 100644
index 067c4299..00000000
Binary files a/markdown/ep-connect-ep-broker/img/22.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/23.png b/markdown/ep-connect-ep-broker/img/23.png
deleted file mode 100644
index ec08dbd5..00000000
Binary files a/markdown/ep-connect-ep-broker/img/23.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/24.png b/markdown/ep-connect-ep-broker/img/24.png
deleted file mode 100644
index 1726ca97..00000000
Binary files a/markdown/ep-connect-ep-broker/img/24.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/3.png b/markdown/ep-connect-ep-broker/img/3.png
deleted file mode 100644
index 0aef7a89..00000000
Binary files a/markdown/ep-connect-ep-broker/img/3.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/4.png b/markdown/ep-connect-ep-broker/img/4.png
deleted file mode 100644
index 4f71fa37..00000000
Binary files a/markdown/ep-connect-ep-broker/img/4.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/5.png b/markdown/ep-connect-ep-broker/img/5.png
deleted file mode 100644
index 29c20d15..00000000
Binary files a/markdown/ep-connect-ep-broker/img/5.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/6.png b/markdown/ep-connect-ep-broker/img/6.png
deleted file mode 100644
index 48dc4258..00000000
Binary files a/markdown/ep-connect-ep-broker/img/6.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/7.png b/markdown/ep-connect-ep-broker/img/7.png
deleted file mode 100644
index 9fc9a7f3..00000000
Binary files a/markdown/ep-connect-ep-broker/img/7.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/8.png b/markdown/ep-connect-ep-broker/img/8.png
deleted file mode 100644
index 6accbd0c..00000000
Binary files a/markdown/ep-connect-ep-broker/img/8.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/9.png b/markdown/ep-connect-ep-broker/img/9.png
deleted file mode 100644
index 0d99ca1d..00000000
Binary files a/markdown/ep-connect-ep-broker/img/9.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/cloud000099.png b/markdown/ep-connect-ep-broker/img/cloud000099.png
deleted file mode 100644
index c9223be3..00000000
Binary files a/markdown/ep-connect-ep-broker/img/cloud000099.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/cloud1.png b/markdown/ep-connect-ep-broker/img/cloud1.png
deleted file mode 100644
index e37078be..00000000
Binary files a/markdown/ep-connect-ep-broker/img/cloud1.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/cloud2.png b/markdown/ep-connect-ep-broker/img/cloud2.png
deleted file mode 100644
index a191389b..00000000
Binary files a/markdown/ep-connect-ep-broker/img/cloud2.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/cloud3.png b/markdown/ep-connect-ep-broker/img/cloud3.png
deleted file mode 100644
index c15d6a53..00000000
Binary files a/markdown/ep-connect-ep-broker/img/cloud3.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/cloud4.png b/markdown/ep-connect-ep-broker/img/cloud4.png
deleted file mode 100644
index 4fcacf3e..00000000
Binary files a/markdown/ep-connect-ep-broker/img/cloud4.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/download.png b/markdown/ep-connect-ep-broker/img/download.png
deleted file mode 100644
index 46d52197..00000000
Binary files a/markdown/ep-connect-ep-broker/img/download.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/emainstall.png b/markdown/ep-connect-ep-broker/img/emainstall.png
deleted file mode 100644
index 56d0a815..00000000
Binary files a/markdown/ep-connect-ep-broker/img/emainstall.png and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/solly_wave.webp b/markdown/ep-connect-ep-broker/img/solly_wave.webp
deleted file mode 100644
index 33949cbc..00000000
Binary files a/markdown/ep-connect-ep-broker/img/solly_wave.webp and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/img/soly.gif b/markdown/ep-connect-ep-broker/img/soly.gif
deleted file mode 100644
index 5364f91e..00000000
Binary files a/markdown/ep-connect-ep-broker/img/soly.gif and /dev/null differ
diff --git a/markdown/ep-connect-ep-broker/package-lock.json b/markdown/ep-connect-ep-broker/package-lock.json
deleted file mode 100644
index 4a59a7ff..00000000
--- a/markdown/ep-connect-ep-broker/package-lock.json
+++ /dev/null
@@ -1,382 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/get-them-args": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/get-them-args/-/get-them-args-1.3.2.tgz",
- "integrity": "sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==",
- "license": "MIT"
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
- "license": "ISC"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/kill-port": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/kill-port/-/kill-port-1.6.1.tgz",
- "integrity": "sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==",
- "license": "MIT",
- "dependencies": {
- "get-them-args": "1.3.2",
- "shell-exec": "1.0.2"
- },
- "bin": {
- "kill-port": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/nodemon": {
- "version": "2.0.22",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
- "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.5.2",
- "debug": "^3.2.7",
- "ignore-by-default": "^1.0.1",
- "minimatch": "^3.1.2",
- "pstree.remy": "^1.1.8",
- "semver": "^5.7.1",
- "simple-update-notifier": "^1.0.7",
- "supports-color": "^5.5.0",
- "touch": "^3.1.0",
- "undefsafe": "^2.0.5"
- },
- "bin": {
- "nodemon": "bin/nodemon.js"
- },
- "engines": {
- "node": ">=8.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nodemon"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pstree.remy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/shell-exec": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/shell-exec/-/shell-exec-1.0.2.tgz",
- "integrity": "sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==",
- "license": "MIT"
- },
- "node_modules/simple-update-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
- "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
- "license": "MIT",
- "dependencies": {
- "semver": "~7.0.0"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/simple-update-notifier/node_modules/semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/touch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
- "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
- "license": "ISC",
- "bin": {
- "nodetouch": "bin/nodetouch.js"
- }
- },
- "node_modules/undefsafe": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
- "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
- "license": "MIT"
- }
- }
-}
diff --git a/markdown/ep-connect-ep-broker/package.json b/markdown/ep-connect-ep-broker/package.json
deleted file mode 100644
index 2ec6109e..00000000
--- a/markdown/ep-connect-ep-broker/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "description": "use nodemon to watch changes on md file, rebuild codelab on saves",
- "main": "index.js",
- "scripts": {
- "watch": "nodemon --watch ep-connect-ep-broker.md --exec \"claat export -o temp/ ep-connect-ep-broker.md && ./node_modules/kill-port/cli.js --port 9090 && cd temp/ep-connect-ep-broker && claat serve\""
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/SolaceDev/solace-dev-codelabs/tree/master/markdown/ep-connect-ep-broker"
- },
- "keywords": [
- "codelab"
- ],
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
-}
diff --git a/markdown/ep-lifecycle/ep-lifecycle.md b/markdown/ep-lifecycle/ep-lifecycle.md
deleted file mode 100644
index 2b750017..00000000
--- a/markdown/ep-lifecycle/ep-lifecycle.md
+++ /dev/null
@@ -1,186 +0,0 @@
-author: jessemenning
-summary: See how Event Portal can guide you on a smooth path from fantastic idea to the hands of your users
-id: ep-lifecycle
-tags: eventportal
-categories: solace, eventportal
-environments: Web
-status: Published
-feedback link: https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/ep-lifecycle
-
-# Event Portal: event-driven innovation that's faster, easier, more resilient
-
-## What you'll learn: Overview
-
-Duration: 0:03:00
-
-Delivering innovative event-driven features to the hands of users means moving micro-integrations from development to production. That means getting the right event infrastructure in the right environment at the right time. Event Portal makes that easier, faster and more resilient.
-
-This code lab takes you through the lifecycle of a new event-driven application, from finding relevant events to jump start development, to generating rock-solid code, to automated event configuration with your existing CICD pipeline.
-
-## What you need: Prerequisites
-
-Duration: 0:02:00
-
-**For all sections, you'll need to:**
-- Complete the [Connecting Event Portal to a runtime Event Broker](https://codelabs.solace.dev/codelabs/ep-connect-ep-broker) code lab.
-
-**For config push and CICD integration sections, you will also need to:**
-- Have a running Event Management Agent connected to a cloud Event Broker (That's also covered in the [Connecting Event Portal to a runtime Event Broker](https://codelabs.solace.dev/codelabs/ep-connect-ep-broker) code lab.)
-- A GitHub account. If you don’t have one, you can [get one free](https://github.com/signup).
-
-## Discover event-driven stuff you didn’t know existed
-Duration: 0:04:00
-### Find interesting events to use in your solution
-1. In the home screen of Solace Cloud, click on Catalog. 
-1. Within Catalog, click on the Events tab, then search for ```customer``` in the search box. You’ll note that there are two existing customer events that would be perfect. 
-1. Also, look for order related events by searching for ```order``` 
-
-## Easily design EDA solutions, together
-Duration: 0:15:00
-### Create an Application Domain to house your application, event and schema
-1. Now that we have candidate events, click on the Designer icon in the left bar (1), then Create Application Domain. (2) 
-1. Configure the domain:
-Name (1): ```Customer360```
-Description (2): ```collect customer behavior from across domains```
-Add a Solace (3) topic domain of ``acmeretail/c360`` (4)
-Select all 3 checkboxes, enforcing topic uniqueness (5), enforcing topic domain (6) and allowing descriptions to be edited (7)
-
-Then click on OK
- 
-### Graphically create your application
-1. Go into the newly created Customer360 domain.
-1. Click on Add Objects and drag “New Application” to the canvas and name it `Customer 360`. 
-1. Again click on Add Objects, and drag a Shared Event to the canvas 
-1. In the popup, select *Customer Updated*, then click on Add.
-1. Repeat this process to add the *Customer Created* shared event, which you discovered in the catalog earlier.
-1. To define which events Customer 360 subscribes to, hover over the *Customer Created* event and drag the arrow to the *Customer360* application. Repeat for the *Customer Updated* event. 
-1. Drag a “New Event” onto the canvas and call it ```Customer Insight Generated```.
-1. To define the event Customer 360 publishes, hover over the Customer360 application and drag the arrow to the Customer Insight Generated event. 
-### Add an event directly from the catalog
-1. Navigate back to the catalog (1), click on the Events tab (2), select *Order Created* (3). 
-1. In the right hand column, click on the latest version 
-1. Click on Associate with Application 
-1. Select the Customer360 domain (1), the latest Customer360 version (2), and specify that you want to subscribe to the event (3). Then click on Save. 
-### Create consumers for your application
-1. In the resulting screen, scroll down to the Referenced By section, click on the three dots next to Customer 360, and then Open Application 
-1. Click on Edit This Version 
-1. Click on the Consumers tab (1), then on Add Consumer (2) 
-1. Name the queue ```C360.ORDERS``` (1)
-give it a type of Solace Event Queue (2)
-Click on Set Configuration (3) to use the default configuration
-Then click on Add Subscriptions (4) 
-1. In the resulting screen, select the Order Created event, which will prefill the subscription. Then click on Add Subscription 
-1. Repeat the process to create the consumer for the two Customer events, naming the queue ```C360.CUSTOMERS``` When you click on Add Subscriptions, select both of the Customer events and a subscription for both. 
-1. To save your changes, click on Save & Close. 
-
-### Create a new Customer Insight Generated event
-1. You will use this schema file for the payload of the event. Download it and save it to your hard drive. [Schema file](https://raw.githubusercontent.com/SolaceLabs/PostmanScripts/main/customerinsight.json)
-1. Click on the Schemas tab (1)for the Customer360 domain, then click on Create Schema(2) 
-1. Name the schema ```Customer Insight```, then the Import from File button. Navigate to the ```customerinsight.json``` schema file you just downloaded. 
-1. Click on Save and Close.
-1. Click on the Events tab (1) at the top of the screen, then click on Customer Insight Generated (2). 
-1. Click on Edit This Version 
-1. Define the Topic Address. Start by clicking on the field and selecting the ```acmeretail/c360``` topic domain 
-1. Type in the remainder of the topic address, using brackets for parameters. The final result should be: ```acmeretail/c360/customerinsight/generated/v1/{insighttype}/{customerid}``` 
-
-1. Scroll down further and click on Select Schema. 
-1. Select the Customer Insight schema you just created. 
-> aside positive
-> In a more production-ready use case, you would likely use an enumeration for {insighttype}. For speed you will use an unbounded variable in this lab.
-
-
-## Give your developers a headstart with code generation
-### AsyncAPI export
-Duration: 0:05:00
-1. Click on Applications (1) in the top menu, then on Customer360(2) 
-1. Click on the three dots next to version 0.1.0 and click on Download AsyncAPI. Save the file on your hard drive. 
-1. In a web browser, navigate to AsyncAPI Studio at ```https://studio.asyncapi.com``` 
-1. Click on the three dots in main panel (1), then on Import File. (2) 
-1. In the resulting pop up, change the conversion to version 2.6.0, then click on Convert. 
-1. Now that the AsyncAPI is loaded you can browse it, and also look through the autocreated documentation.
-1. When you’re finished browsing, click again on the three dots (1), then click on Generate code/docs.(2) 
-1. In the popup window, select Java Spring Cloud Stream Project, then click on Generate.
-1. Save the resulting .zip file to your hard drive.
-
-> aside positive
->You’ll use the source code zip file in the CICD/GitHub Actions portion of the lab, so save it in a place you can remember.
-## Provide exactly the events you need, when you need them
-Duration: 0:15:00
-### Assign your application to an environment/event broker
-1. Click on Applications, then on Customer360. 
-1. Click on the Runtime tab. 
-1. Expand the Prod environment, then click on the three dots next to PROD-solace, then on Manage Credentials. 
-1. For the Username enter ```c360``` (1). For the Password enter ```c360``` (2). Click on Save. (3) 
-1. Back in the main screen, expand the Prod environment (1) again click on the three dots, and then “Add Application” (2) 
-1. The resulting popup previews the changes that will occur. Expand out the credentials (1) and queues (2) to see more details. Then click on Add (3) 
-
-> aside negative
->If the config push fails, ensure that your EMA is running.
-
-### Confirm EP provisioned your queues and access
-1. Go to the management console of your cloud broker by clicking Cluster Manager in the left hand column, then clicking on your Event Broker. 
-1. Click on the Manage tab (1), then Queues (2). 
-1. You should see the two queues you defined earlier, ```C360.CUSTOMERS``` and ```C360.ORDERS```. Clicking on each, you should see that they are owned by c360, only the owner is allowed to access the queue and the subscriptions you defined are in place. 
-1. Click on Access Control (1), the Client Usernames tab (2), and you should see the c360 client username. (3) 
-1. Click on the ACL Profiles tab (1) and you should see the ACL associated with your user. (2) 
-
-### View the updated event flow for Production
-1. Click on the Runtime Event Manager icon on the left hand side (1), then on the us-central-solace-Prod event mesh. (2) 
-1. Scroll down the list of applications in the left column to find Customer360, then click on the three dots (1). Then select Center on Graph. (2) This highlights the Customer360 on the graph. 
-1. To highlight only the direct dependencies for Customer360 in Production, click on the three dots (1), then Show Relationships(2). 
-
-### Remove application from runtime event broker and modelled event Mesh
-1. Click on the Customer360 link in the left hand column. 
-1. In the resulting popup, click on Open in Designer. 
-1. Click on the Runtime tab. 
-1. Expand the Prod tab (1), click the three dots(2), the click on Remove Application.(3) 
-1. In the popup, review the details of what queues will be removed. Then click on Remove 
-
-## Make your existing CICD even better
-Duration: 0:20:00
-> aside positive
->You need to have a GitHub account for this portion. If you don’t have one, you can [get one free](https://github.com/signup).
-
-### Create new repository with Event Portal GitHub Actions
-1. Make sure you are logged into GitHub and go to the [Import Existing Repository page](https://github.com/new/import).
-1. Use ```https://github.com/SolaceLabs/ep-scs-workflow``` for the URL, list yourself as the owner, and name the new repository ```customer360```. Click on Begin Import. 
-1. Wait for the import to complete, usually around 3 minutes. Then click on the link to open the repository.
-
-> aside negative
->Cloning through GitHub occassionally takes a bit of time. After 3 minutes, try refreshing the page to see if it's done.
-
-### Configure GitHub Actions
-1. In the top menu of the repository, select Settings. 
-1. In the left hand column, select Actions(1), then General (2). 
-1. Scroll to the bottom of the page, and click on the radio button next to Read and write permissions (1). Then click on Save.(2) 
-1. Again in the left hand column, scroll down, expand Secrets and variables (1), then click on Actions (2). 
-1. In the main panel, click on New Repository Secret. 
-1. Name the secret ```SOLACE_CLOUD_TOKEN```. The value of the secret should be the token you created for Postman when initially populating your account. 
-
-### Upload micro-integration to GitHub
-1. Unzip the Spring Cloud Stream source code you downloaded from studio.asyncapi.com on your hard drive.
-1. In the root directory, move the ```asyncapi.yml``` file to the template directory. 
-1. Navigate to the template directory. It should look like this: 
-1. In your browser go to the new repository, click on the plus sign (1), then on Upload files. (2) 
-1. Select all 4 of files/subdirectories in the template directory, then click on OK
-
-> aside negative
->Do *not* upload the template directory. You need to upload the 4 files/subdirectories.
-
-### Commit the files and open a pull request
-1. In the resulting window, change the radio button to Create a new branch for this commit. Then click on Propose changes. 
-1. In the next screen, click on Create pull request. 
-1. The GitHub Actions kick off. When they are finished, there should be a list of changes that will occur should the pull request be approved. 
-1. Scroll down to the bottom of the pull request and click on Merge pull request. Then click on Confirm merge. 
-1. Using the management console of your cloud broker, confirm that the CICD process created the same queues, subscriptions, ACLs as manual promotion.
-## Takeaways
-
-Duration: 0:07:00
-
-- Finding relevant events to jump start development
-- Generating rock-solid code
-- Automated event configuration with your existing CICD pipeline.
-
-
-
-Thanks for participating in this codelab! Let us know what you thought in the [Solace Community Forum](https://solace.community/)! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
diff --git a/markdown/ep-lifecycle/img/000002.png b/markdown/ep-lifecycle/img/000002.png
deleted file mode 100644
index 6bfeeba6..00000000
Binary files a/markdown/ep-lifecycle/img/000002.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000003.png b/markdown/ep-lifecycle/img/000003.png
deleted file mode 100644
index d2b5904c..00000000
Binary files a/markdown/ep-lifecycle/img/000003.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000004.png b/markdown/ep-lifecycle/img/000004.png
deleted file mode 100644
index 150921ed..00000000
Binary files a/markdown/ep-lifecycle/img/000004.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000005.png b/markdown/ep-lifecycle/img/000005.png
deleted file mode 100644
index 7384183b..00000000
Binary files a/markdown/ep-lifecycle/img/000005.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000008.png b/markdown/ep-lifecycle/img/000008.png
deleted file mode 100644
index cbd19609..00000000
Binary files a/markdown/ep-lifecycle/img/000008.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000028.png b/markdown/ep-lifecycle/img/000028.png
deleted file mode 100644
index c1b6ae84..00000000
Binary files a/markdown/ep-lifecycle/img/000028.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000029.png b/markdown/ep-lifecycle/img/000029.png
deleted file mode 100644
index a45e742e..00000000
Binary files a/markdown/ep-lifecycle/img/000029.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000030.png b/markdown/ep-lifecycle/img/000030.png
deleted file mode 100644
index 3761623b..00000000
Binary files a/markdown/ep-lifecycle/img/000030.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000031.png b/markdown/ep-lifecycle/img/000031.png
deleted file mode 100644
index 174a2a9a..00000000
Binary files a/markdown/ep-lifecycle/img/000031.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000032.png b/markdown/ep-lifecycle/img/000032.png
deleted file mode 100644
index 40d78f6f..00000000
Binary files a/markdown/ep-lifecycle/img/000032.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000033.png b/markdown/ep-lifecycle/img/000033.png
deleted file mode 100644
index edbf83ac..00000000
Binary files a/markdown/ep-lifecycle/img/000033.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000034.png b/markdown/ep-lifecycle/img/000034.png
deleted file mode 100644
index 9e5057de..00000000
Binary files a/markdown/ep-lifecycle/img/000034.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000035.png b/markdown/ep-lifecycle/img/000035.png
deleted file mode 100644
index c1a5a17c..00000000
Binary files a/markdown/ep-lifecycle/img/000035.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000036.png b/markdown/ep-lifecycle/img/000036.png
deleted file mode 100644
index 0b8df75a..00000000
Binary files a/markdown/ep-lifecycle/img/000036.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000037.png b/markdown/ep-lifecycle/img/000037.png
deleted file mode 100644
index c3efa921..00000000
Binary files a/markdown/ep-lifecycle/img/000037.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000038.png b/markdown/ep-lifecycle/img/000038.png
deleted file mode 100644
index b513dbf0..00000000
Binary files a/markdown/ep-lifecycle/img/000038.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000039.png b/markdown/ep-lifecycle/img/000039.png
deleted file mode 100644
index c4ed2c7c..00000000
Binary files a/markdown/ep-lifecycle/img/000039.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000040.png b/markdown/ep-lifecycle/img/000040.png
deleted file mode 100644
index 77376bf4..00000000
Binary files a/markdown/ep-lifecycle/img/000040.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000041.png b/markdown/ep-lifecycle/img/000041.png
deleted file mode 100644
index c165c70b..00000000
Binary files a/markdown/ep-lifecycle/img/000041.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000042.png b/markdown/ep-lifecycle/img/000042.png
deleted file mode 100644
index 4dee69f0..00000000
Binary files a/markdown/ep-lifecycle/img/000042.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000043.png b/markdown/ep-lifecycle/img/000043.png
deleted file mode 100644
index 7955e4b8..00000000
Binary files a/markdown/ep-lifecycle/img/000043.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000044.png b/markdown/ep-lifecycle/img/000044.png
deleted file mode 100644
index 1ed16e73..00000000
Binary files a/markdown/ep-lifecycle/img/000044.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000045.png b/markdown/ep-lifecycle/img/000045.png
deleted file mode 100644
index 1baec105..00000000
Binary files a/markdown/ep-lifecycle/img/000045.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000046.png b/markdown/ep-lifecycle/img/000046.png
deleted file mode 100644
index 140da22a..00000000
Binary files a/markdown/ep-lifecycle/img/000046.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000047.png b/markdown/ep-lifecycle/img/000047.png
deleted file mode 100644
index f03f9590..00000000
Binary files a/markdown/ep-lifecycle/img/000047.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000048.png b/markdown/ep-lifecycle/img/000048.png
deleted file mode 100644
index df51b85c..00000000
Binary files a/markdown/ep-lifecycle/img/000048.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000049.png b/markdown/ep-lifecycle/img/000049.png
deleted file mode 100644
index adf75383..00000000
Binary files a/markdown/ep-lifecycle/img/000049.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000050.png b/markdown/ep-lifecycle/img/000050.png
deleted file mode 100644
index 009f553d..00000000
Binary files a/markdown/ep-lifecycle/img/000050.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000051.png b/markdown/ep-lifecycle/img/000051.png
deleted file mode 100644
index 939b1720..00000000
Binary files a/markdown/ep-lifecycle/img/000051.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000052.png b/markdown/ep-lifecycle/img/000052.png
deleted file mode 100644
index af9d5102..00000000
Binary files a/markdown/ep-lifecycle/img/000052.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000053.png b/markdown/ep-lifecycle/img/000053.png
deleted file mode 100644
index dd6c0dcd..00000000
Binary files a/markdown/ep-lifecycle/img/000053.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000054.png b/markdown/ep-lifecycle/img/000054.png
deleted file mode 100644
index a2872f34..00000000
Binary files a/markdown/ep-lifecycle/img/000054.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000055.png b/markdown/ep-lifecycle/img/000055.png
deleted file mode 100644
index 326523a6..00000000
Binary files a/markdown/ep-lifecycle/img/000055.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000056.png b/markdown/ep-lifecycle/img/000056.png
deleted file mode 100644
index 18f99155..00000000
Binary files a/markdown/ep-lifecycle/img/000056.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000057.png b/markdown/ep-lifecycle/img/000057.png
deleted file mode 100644
index 0637e1b6..00000000
Binary files a/markdown/ep-lifecycle/img/000057.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000058.png b/markdown/ep-lifecycle/img/000058.png
deleted file mode 100644
index 611835bc..00000000
Binary files a/markdown/ep-lifecycle/img/000058.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000059.png b/markdown/ep-lifecycle/img/000059.png
deleted file mode 100644
index b67d0d7d..00000000
Binary files a/markdown/ep-lifecycle/img/000059.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000060.png b/markdown/ep-lifecycle/img/000060.png
deleted file mode 100644
index 58eec675..00000000
Binary files a/markdown/ep-lifecycle/img/000060.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000061.png b/markdown/ep-lifecycle/img/000061.png
deleted file mode 100644
index 2840f348..00000000
Binary files a/markdown/ep-lifecycle/img/000061.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000062.png b/markdown/ep-lifecycle/img/000062.png
deleted file mode 100644
index 78f10445..00000000
Binary files a/markdown/ep-lifecycle/img/000062.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000063.png b/markdown/ep-lifecycle/img/000063.png
deleted file mode 100644
index 5adef0f2..00000000
Binary files a/markdown/ep-lifecycle/img/000063.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000064.png b/markdown/ep-lifecycle/img/000064.png
deleted file mode 100644
index f0f4c156..00000000
Binary files a/markdown/ep-lifecycle/img/000064.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000065.png b/markdown/ep-lifecycle/img/000065.png
deleted file mode 100644
index fd35988b..00000000
Binary files a/markdown/ep-lifecycle/img/000065.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000066.png b/markdown/ep-lifecycle/img/000066.png
deleted file mode 100644
index 6b2e9339..00000000
Binary files a/markdown/ep-lifecycle/img/000066.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000067.png b/markdown/ep-lifecycle/img/000067.png
deleted file mode 100644
index b92b5c61..00000000
Binary files a/markdown/ep-lifecycle/img/000067.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000068.png b/markdown/ep-lifecycle/img/000068.png
deleted file mode 100644
index 1d0c8de0..00000000
Binary files a/markdown/ep-lifecycle/img/000068.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000069.png b/markdown/ep-lifecycle/img/000069.png
deleted file mode 100644
index b5190b5c..00000000
Binary files a/markdown/ep-lifecycle/img/000069.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000070.png b/markdown/ep-lifecycle/img/000070.png
deleted file mode 100644
index f0796197..00000000
Binary files a/markdown/ep-lifecycle/img/000070.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000071.png b/markdown/ep-lifecycle/img/000071.png
deleted file mode 100644
index 4d8ed1ec..00000000
Binary files a/markdown/ep-lifecycle/img/000071.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000072.png b/markdown/ep-lifecycle/img/000072.png
deleted file mode 100644
index 3db23a3c..00000000
Binary files a/markdown/ep-lifecycle/img/000072.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000073.png b/markdown/ep-lifecycle/img/000073.png
deleted file mode 100644
index 42219e9d..00000000
Binary files a/markdown/ep-lifecycle/img/000073.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000074.png b/markdown/ep-lifecycle/img/000074.png
deleted file mode 100644
index 90403efc..00000000
Binary files a/markdown/ep-lifecycle/img/000074.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000075.png b/markdown/ep-lifecycle/img/000075.png
deleted file mode 100644
index 8c955736..00000000
Binary files a/markdown/ep-lifecycle/img/000075.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000076.png b/markdown/ep-lifecycle/img/000076.png
deleted file mode 100644
index 0ae1400c..00000000
Binary files a/markdown/ep-lifecycle/img/000076.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000077.png b/markdown/ep-lifecycle/img/000077.png
deleted file mode 100644
index cac0bfc1..00000000
Binary files a/markdown/ep-lifecycle/img/000077.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000078.png b/markdown/ep-lifecycle/img/000078.png
deleted file mode 100644
index ee16605e..00000000
Binary files a/markdown/ep-lifecycle/img/000078.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000079.png b/markdown/ep-lifecycle/img/000079.png
deleted file mode 100644
index 4d9ee2b0..00000000
Binary files a/markdown/ep-lifecycle/img/000079.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000080.png b/markdown/ep-lifecycle/img/000080.png
deleted file mode 100644
index 893eb878..00000000
Binary files a/markdown/ep-lifecycle/img/000080.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000082.png b/markdown/ep-lifecycle/img/000082.png
deleted file mode 100644
index 86749781..00000000
Binary files a/markdown/ep-lifecycle/img/000082.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000083.png b/markdown/ep-lifecycle/img/000083.png
deleted file mode 100644
index 81868cf6..00000000
Binary files a/markdown/ep-lifecycle/img/000083.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000084.png b/markdown/ep-lifecycle/img/000084.png
deleted file mode 100644
index 6523e3ae..00000000
Binary files a/markdown/ep-lifecycle/img/000084.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000086.png b/markdown/ep-lifecycle/img/000086.png
deleted file mode 100644
index eae28801..00000000
Binary files a/markdown/ep-lifecycle/img/000086.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000087.png b/markdown/ep-lifecycle/img/000087.png
deleted file mode 100644
index b49bb11d..00000000
Binary files a/markdown/ep-lifecycle/img/000087.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000088.png b/markdown/ep-lifecycle/img/000088.png
deleted file mode 100644
index 8e9b7efa..00000000
Binary files a/markdown/ep-lifecycle/img/000088.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000089.png b/markdown/ep-lifecycle/img/000089.png
deleted file mode 100644
index 510f8b81..00000000
Binary files a/markdown/ep-lifecycle/img/000089.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000091.png b/markdown/ep-lifecycle/img/000091.png
deleted file mode 100644
index 7ff21218..00000000
Binary files a/markdown/ep-lifecycle/img/000091.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000095.png b/markdown/ep-lifecycle/img/000095.png
deleted file mode 100644
index fdb06451..00000000
Binary files a/markdown/ep-lifecycle/img/000095.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000096.png b/markdown/ep-lifecycle/img/000096.png
deleted file mode 100644
index 8146f848..00000000
Binary files a/markdown/ep-lifecycle/img/000096.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/000101.png b/markdown/ep-lifecycle/img/000101.png
deleted file mode 100644
index 06489a0d..00000000
Binary files a/markdown/ep-lifecycle/img/000101.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/1.png b/markdown/ep-lifecycle/img/1.png
deleted file mode 100644
index 95f19e10..00000000
Binary files a/markdown/ep-lifecycle/img/1.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/10.png b/markdown/ep-lifecycle/img/10.png
deleted file mode 100644
index 592f28f7..00000000
Binary files a/markdown/ep-lifecycle/img/10.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/11.png b/markdown/ep-lifecycle/img/11.png
deleted file mode 100644
index 02a87b3d..00000000
Binary files a/markdown/ep-lifecycle/img/11.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/12.png b/markdown/ep-lifecycle/img/12.png
deleted file mode 100644
index fd5f11ed..00000000
Binary files a/markdown/ep-lifecycle/img/12.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/13.png b/markdown/ep-lifecycle/img/13.png
deleted file mode 100644
index 30173251..00000000
Binary files a/markdown/ep-lifecycle/img/13.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/14.png b/markdown/ep-lifecycle/img/14.png
deleted file mode 100644
index a616abfa..00000000
Binary files a/markdown/ep-lifecycle/img/14.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/15.png b/markdown/ep-lifecycle/img/15.png
deleted file mode 100644
index 67b31a45..00000000
Binary files a/markdown/ep-lifecycle/img/15.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/16.png b/markdown/ep-lifecycle/img/16.png
deleted file mode 100644
index 154848a2..00000000
Binary files a/markdown/ep-lifecycle/img/16.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/17.png b/markdown/ep-lifecycle/img/17.png
deleted file mode 100644
index e00cd262..00000000
Binary files a/markdown/ep-lifecycle/img/17.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/18.png b/markdown/ep-lifecycle/img/18.png
deleted file mode 100644
index af1ed284..00000000
Binary files a/markdown/ep-lifecycle/img/18.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/19.png b/markdown/ep-lifecycle/img/19.png
deleted file mode 100644
index a51ca253..00000000
Binary files a/markdown/ep-lifecycle/img/19.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/2.png b/markdown/ep-lifecycle/img/2.png
deleted file mode 100644
index 2de7a890..00000000
Binary files a/markdown/ep-lifecycle/img/2.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/20.png b/markdown/ep-lifecycle/img/20.png
deleted file mode 100644
index aa826a7f..00000000
Binary files a/markdown/ep-lifecycle/img/20.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/21.png b/markdown/ep-lifecycle/img/21.png
deleted file mode 100644
index d1fece94..00000000
Binary files a/markdown/ep-lifecycle/img/21.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/22.png b/markdown/ep-lifecycle/img/22.png
deleted file mode 100644
index 53bf0bb1..00000000
Binary files a/markdown/ep-lifecycle/img/22.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/23.png b/markdown/ep-lifecycle/img/23.png
deleted file mode 100644
index 764d129f..00000000
Binary files a/markdown/ep-lifecycle/img/23.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/24.png b/markdown/ep-lifecycle/img/24.png
deleted file mode 100644
index 3a1d8ff7..00000000
Binary files a/markdown/ep-lifecycle/img/24.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/25.png b/markdown/ep-lifecycle/img/25.png
deleted file mode 100644
index aa945964..00000000
Binary files a/markdown/ep-lifecycle/img/25.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/26.png b/markdown/ep-lifecycle/img/26.png
deleted file mode 100644
index 4be5e9e0..00000000
Binary files a/markdown/ep-lifecycle/img/26.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/27.png b/markdown/ep-lifecycle/img/27.png
deleted file mode 100644
index 65b751b3..00000000
Binary files a/markdown/ep-lifecycle/img/27.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/28.png b/markdown/ep-lifecycle/img/28.png
deleted file mode 100644
index a5e48e89..00000000
Binary files a/markdown/ep-lifecycle/img/28.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/29.png b/markdown/ep-lifecycle/img/29.png
deleted file mode 100644
index 2a98946a..00000000
Binary files a/markdown/ep-lifecycle/img/29.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/3.png b/markdown/ep-lifecycle/img/3.png
deleted file mode 100644
index 03337b1d..00000000
Binary files a/markdown/ep-lifecycle/img/3.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/30.png b/markdown/ep-lifecycle/img/30.png
deleted file mode 100644
index 9d4dff90..00000000
Binary files a/markdown/ep-lifecycle/img/30.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/31.png b/markdown/ep-lifecycle/img/31.png
deleted file mode 100644
index 81ba63c9..00000000
Binary files a/markdown/ep-lifecycle/img/31.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/32.png b/markdown/ep-lifecycle/img/32.png
deleted file mode 100644
index 4be5e9e0..00000000
Binary files a/markdown/ep-lifecycle/img/32.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/33.png b/markdown/ep-lifecycle/img/33.png
deleted file mode 100644
index 81a4c468..00000000
Binary files a/markdown/ep-lifecycle/img/33.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/34.png b/markdown/ep-lifecycle/img/34.png
deleted file mode 100644
index 81a4c468..00000000
Binary files a/markdown/ep-lifecycle/img/34.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/35.png b/markdown/ep-lifecycle/img/35.png
deleted file mode 100644
index 11517d0d..00000000
Binary files a/markdown/ep-lifecycle/img/35.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/36.png b/markdown/ep-lifecycle/img/36.png
deleted file mode 100644
index e8e07274..00000000
Binary files a/markdown/ep-lifecycle/img/36.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/37.png b/markdown/ep-lifecycle/img/37.png
deleted file mode 100644
index 52ba0dae..00000000
Binary files a/markdown/ep-lifecycle/img/37.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/38.png b/markdown/ep-lifecycle/img/38.png
deleted file mode 100644
index f2f30abb..00000000
Binary files a/markdown/ep-lifecycle/img/38.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/39.png b/markdown/ep-lifecycle/img/39.png
deleted file mode 100644
index f31a70bf..00000000
Binary files a/markdown/ep-lifecycle/img/39.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/4.png b/markdown/ep-lifecycle/img/4.png
deleted file mode 100644
index e39d0afd..00000000
Binary files a/markdown/ep-lifecycle/img/4.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/40.png b/markdown/ep-lifecycle/img/40.png
deleted file mode 100644
index b46331ef..00000000
Binary files a/markdown/ep-lifecycle/img/40.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/41.png b/markdown/ep-lifecycle/img/41.png
deleted file mode 100644
index 261cdd2c..00000000
Binary files a/markdown/ep-lifecycle/img/41.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/42.png b/markdown/ep-lifecycle/img/42.png
deleted file mode 100644
index 537d2ffa..00000000
Binary files a/markdown/ep-lifecycle/img/42.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/43.png b/markdown/ep-lifecycle/img/43.png
deleted file mode 100644
index 9003aa7f..00000000
Binary files a/markdown/ep-lifecycle/img/43.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/44.png b/markdown/ep-lifecycle/img/44.png
deleted file mode 100644
index 00dc64db..00000000
Binary files a/markdown/ep-lifecycle/img/44.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/45.png b/markdown/ep-lifecycle/img/45.png
deleted file mode 100644
index 52f52bc5..00000000
Binary files a/markdown/ep-lifecycle/img/45.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/46.png b/markdown/ep-lifecycle/img/46.png
deleted file mode 100644
index b9544b02..00000000
Binary files a/markdown/ep-lifecycle/img/46.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/47.png b/markdown/ep-lifecycle/img/47.png
deleted file mode 100644
index c4a8b69e..00000000
Binary files a/markdown/ep-lifecycle/img/47.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/48.png b/markdown/ep-lifecycle/img/48.png
deleted file mode 100644
index 09e2c190..00000000
Binary files a/markdown/ep-lifecycle/img/48.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/49.png b/markdown/ep-lifecycle/img/49.png
deleted file mode 100644
index 86c00c58..00000000
Binary files a/markdown/ep-lifecycle/img/49.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/5.png b/markdown/ep-lifecycle/img/5.png
deleted file mode 100644
index 67fda9c4..00000000
Binary files a/markdown/ep-lifecycle/img/5.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/50.png b/markdown/ep-lifecycle/img/50.png
deleted file mode 100644
index fa39a752..00000000
Binary files a/markdown/ep-lifecycle/img/50.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/51.png b/markdown/ep-lifecycle/img/51.png
deleted file mode 100644
index b876e621..00000000
Binary files a/markdown/ep-lifecycle/img/51.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/52.png b/markdown/ep-lifecycle/img/52.png
deleted file mode 100644
index bcdbe51a..00000000
Binary files a/markdown/ep-lifecycle/img/52.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/53.png b/markdown/ep-lifecycle/img/53.png
deleted file mode 100644
index 0eedb7cb..00000000
Binary files a/markdown/ep-lifecycle/img/53.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/54.png b/markdown/ep-lifecycle/img/54.png
deleted file mode 100644
index 877b6d2d..00000000
Binary files a/markdown/ep-lifecycle/img/54.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/55.png b/markdown/ep-lifecycle/img/55.png
deleted file mode 100644
index 67eda278..00000000
Binary files a/markdown/ep-lifecycle/img/55.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/56.png b/markdown/ep-lifecycle/img/56.png
deleted file mode 100644
index 6a9dd504..00000000
Binary files a/markdown/ep-lifecycle/img/56.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/57.png b/markdown/ep-lifecycle/img/57.png
deleted file mode 100644
index a14dc92c..00000000
Binary files a/markdown/ep-lifecycle/img/57.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/58.png b/markdown/ep-lifecycle/img/58.png
deleted file mode 100644
index 655c3ae6..00000000
Binary files a/markdown/ep-lifecycle/img/58.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/59.png b/markdown/ep-lifecycle/img/59.png
deleted file mode 100644
index 5b6a9aa6..00000000
Binary files a/markdown/ep-lifecycle/img/59.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/6.png b/markdown/ep-lifecycle/img/6.png
deleted file mode 100644
index a0526e88..00000000
Binary files a/markdown/ep-lifecycle/img/6.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/60.png b/markdown/ep-lifecycle/img/60.png
deleted file mode 100644
index 0dbac95b..00000000
Binary files a/markdown/ep-lifecycle/img/60.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/61.png b/markdown/ep-lifecycle/img/61.png
deleted file mode 100644
index 173964ae..00000000
Binary files a/markdown/ep-lifecycle/img/61.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/62.png b/markdown/ep-lifecycle/img/62.png
deleted file mode 100644
index f711e807..00000000
Binary files a/markdown/ep-lifecycle/img/62.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/63.png b/markdown/ep-lifecycle/img/63.png
deleted file mode 100644
index 290d6163..00000000
Binary files a/markdown/ep-lifecycle/img/63.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/64.png b/markdown/ep-lifecycle/img/64.png
deleted file mode 100644
index 24e4eb11..00000000
Binary files a/markdown/ep-lifecycle/img/64.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/7.png b/markdown/ep-lifecycle/img/7.png
deleted file mode 100644
index cd386770..00000000
Binary files a/markdown/ep-lifecycle/img/7.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/8.png b/markdown/ep-lifecycle/img/8.png
deleted file mode 100644
index 49aec5ef..00000000
Binary files a/markdown/ep-lifecycle/img/8.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/9.png b/markdown/ep-lifecycle/img/9.png
deleted file mode 100644
index 59551602..00000000
Binary files a/markdown/ep-lifecycle/img/9.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/published.png b/markdown/ep-lifecycle/img/published.png
deleted file mode 100644
index 02a87b3d..00000000
Binary files a/markdown/ep-lifecycle/img/published.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/published.png_Zone.Identifier b/markdown/ep-lifecycle/img/published.png_Zone.Identifier
deleted file mode 100644
index e69de29b..00000000
diff --git a/markdown/ep-lifecycle/img/schema.png b/markdown/ep-lifecycle/img/schema.png
deleted file mode 100644
index 3b6b1c23..00000000
Binary files a/markdown/ep-lifecycle/img/schema.png and /dev/null differ
diff --git a/markdown/ep-lifecycle/img/soly.gif b/markdown/ep-lifecycle/img/soly.gif
deleted file mode 100644
index 5364f91e..00000000
Binary files a/markdown/ep-lifecycle/img/soly.gif and /dev/null differ
diff --git a/markdown/ep-lifecycle/package-lock.json b/markdown/ep-lifecycle/package-lock.json
deleted file mode 100644
index 4a59a7ff..00000000
--- a/markdown/ep-lifecycle/package-lock.json
+++ /dev/null
@@ -1,382 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/get-them-args": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/get-them-args/-/get-them-args-1.3.2.tgz",
- "integrity": "sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==",
- "license": "MIT"
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
- "license": "ISC"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/kill-port": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/kill-port/-/kill-port-1.6.1.tgz",
- "integrity": "sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==",
- "license": "MIT",
- "dependencies": {
- "get-them-args": "1.3.2",
- "shell-exec": "1.0.2"
- },
- "bin": {
- "kill-port": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/nodemon": {
- "version": "2.0.22",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
- "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.5.2",
- "debug": "^3.2.7",
- "ignore-by-default": "^1.0.1",
- "minimatch": "^3.1.2",
- "pstree.remy": "^1.1.8",
- "semver": "^5.7.1",
- "simple-update-notifier": "^1.0.7",
- "supports-color": "^5.5.0",
- "touch": "^3.1.0",
- "undefsafe": "^2.0.5"
- },
- "bin": {
- "nodemon": "bin/nodemon.js"
- },
- "engines": {
- "node": ">=8.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nodemon"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pstree.remy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/shell-exec": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/shell-exec/-/shell-exec-1.0.2.tgz",
- "integrity": "sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==",
- "license": "MIT"
- },
- "node_modules/simple-update-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
- "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
- "license": "MIT",
- "dependencies": {
- "semver": "~7.0.0"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/simple-update-notifier/node_modules/semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/touch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
- "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
- "license": "ISC",
- "bin": {
- "nodetouch": "bin/nodetouch.js"
- }
- },
- "node_modules/undefsafe": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
- "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
- "license": "MIT"
- }
- }
-}
diff --git a/markdown/ep-lifecycle/package.json b/markdown/ep-lifecycle/package.json
deleted file mode 100644
index aaebf55d..00000000
--- a/markdown/ep-lifecycle/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "description": "use nodemon to watch changes on md file, rebuild codelab on saves",
- "main": "index.js",
- "scripts": {
- "watch": "nodemon --watch ep-lifecycle.md --exec \"claat export -o temp/ ep-lifecycle.md && ./node_modules/kill-port/cli.js --port 9090 && cd temp/ep-lifecycle && claat serve\""
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/SolaceDev/solace-dev-codelabs/tree/master/markdown/ep-lifecycle"
- },
- "keywords": [
- "codelab"
- ],
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
-}
diff --git a/markdown/solace-discovery/img/gui.png b/markdown/solace-discovery/img/gui.png
deleted file mode 100644
index 5c2d01c7..00000000
Binary files a/markdown/solace-discovery/img/gui.png and /dev/null differ
diff --git a/markdown/solace-discovery/img/solly_wave.webp b/markdown/solace-discovery/img/solly_wave.webp
deleted file mode 100644
index 33949cbc..00000000
Binary files a/markdown/solace-discovery/img/solly_wave.webp and /dev/null differ
diff --git a/markdown/solace-discovery/img/soly.gif b/markdown/solace-discovery/img/soly.gif
deleted file mode 100644
index 5364f91e..00000000
Binary files a/markdown/solace-discovery/img/soly.gif and /dev/null differ
diff --git a/markdown/solace-discovery/img/thumbnail.png b/markdown/solace-discovery/img/thumbnail.png
deleted file mode 100644
index 766d74ee..00000000
Binary files a/markdown/solace-discovery/img/thumbnail.png and /dev/null differ
diff --git a/markdown/solace-discovery/package-lock.json b/markdown/solace-discovery/package-lock.json
deleted file mode 100644
index 4a59a7ff..00000000
--- a/markdown/solace-discovery/package-lock.json
+++ /dev/null
@@ -1,382 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "license": "MIT"
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/get-them-args": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/get-them-args/-/get-them-args-1.3.2.tgz",
- "integrity": "sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==",
- "license": "MIT"
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
- "license": "ISC"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/kill-port": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/kill-port/-/kill-port-1.6.1.tgz",
- "integrity": "sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==",
- "license": "MIT",
- "dependencies": {
- "get-them-args": "1.3.2",
- "shell-exec": "1.0.2"
- },
- "bin": {
- "kill-port": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
- "node_modules/nodemon": {
- "version": "2.0.22",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
- "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
- "license": "MIT",
- "dependencies": {
- "chokidar": "^3.5.2",
- "debug": "^3.2.7",
- "ignore-by-default": "^1.0.1",
- "minimatch": "^3.1.2",
- "pstree.remy": "^1.1.8",
- "semver": "^5.7.1",
- "simple-update-notifier": "^1.0.7",
- "supports-color": "^5.5.0",
- "touch": "^3.1.0",
- "undefsafe": "^2.0.5"
- },
- "bin": {
- "nodemon": "bin/nodemon.js"
- },
- "engines": {
- "node": ">=8.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nodemon"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pstree.remy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
- "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/shell-exec": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/shell-exec/-/shell-exec-1.0.2.tgz",
- "integrity": "sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==",
- "license": "MIT"
- },
- "node_modules/simple-update-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
- "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
- "license": "MIT",
- "dependencies": {
- "semver": "~7.0.0"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/simple-update-notifier/node_modules/semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/touch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
- "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
- "license": "ISC",
- "bin": {
- "nodetouch": "bin/nodetouch.js"
- }
- },
- "node_modules/undefsafe": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
- "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
- "license": "MIT"
- }
- }
-}
diff --git a/markdown/solace-discovery/package.json b/markdown/solace-discovery/package.json
deleted file mode 100644
index b8bf4c56..00000000
--- a/markdown/solace-discovery/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "codelab-bootstrap",
- "version": "1.0.0",
- "description": "use nodemon to watch changes on md file, rebuild codelab on saves",
- "main": "index.js",
- "scripts": {
- "watch": "nodemon --watch solace-discovery.md --exec \"claat export -o temp/ solace-discovery.md && ./node_modules/kill-port/cli.js --port 9090 && cd temp/solace-discovery && claat serve\""
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/SolaceDev/solace-dev-codelabs/tree/master/markdown/solace-discovery"
- },
- "keywords": [
- "codelab"
- ],
- "dependencies": {
- "kill-port": "^1.6.1",
- "nodemon": "^2.0.3"
- }
-}
diff --git a/markdown/solace-discovery/run.sh b/markdown/solace-discovery/run.sh
deleted file mode 100755
index 99fa88fc..00000000
--- a/markdown/solace-discovery/run.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-
-vim solace-discovery.md
-claat export solace-discovery.md
-claat serve
diff --git a/markdown/solace-discovery/solace-discovery.md b/markdown/solace-discovery/solace-discovery.md
deleted file mode 100644
index 96bb5b4a..00000000
--- a/markdown/solace-discovery/solace-discovery.md
+++ /dev/null
@@ -1,123 +0,0 @@
-author: Aaron Lee
-summary: Follow along to do a Solace Discovery Scan of Topic Hierarchy and Existing Applications
-id: solace-discovery
-tags:
-categories: Solace
-environments: Web
-status: Draft
-feedback link: https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/solace-discovery
-analytics account: UA-3921398-10
-
-# Discover your Solace Event Streams with Event Portal
-
-## Overview
-
-Duration: 0:01:00
-
-This CodeLab will walk you through the basics of performing a **Solace Runtime Discovery** scan of your _existing_ (or a demo) Solace application / broker.
-
-This CodeLab is only a placeholder and meant to accompany the live coding stream here: [https://www.youtube.com/watch?v=gXNI7kwFjjo](https://www.youtube.com/watch?v=gXNI7kwFjjo)
-
-
-
-The streaming US aviation data used in this CodeLab will eventually be moved somewhere more permanent, and this CodeLab will be updated at that point.
-
-## Prerequisites
-
-Duration: 0:01:00
-
-Not a lot:
-
-- Solace Event Portal (Solace Cloud) account: FREE!! [https://console.solace.cloud/](https://console.solace.cloud/)
-- Docker
-
-## Visualize some US Flight Event Stream
-
-Duration: 0:02:00
-
-Some of the data we will be looking can be displayed visually on a map. To see this, try the following link: [https://solacese.github.io/faa-scds-feeds-gui/](https://solacese.github.io/faa-scds-feeds-gui/)
-
-
-_(Props to Andrew and Robert)_
-
-Use either the existing credentials or these:
-
-- Broker URL: `mrz5j97864i9m.messaging.solace.cloud`
-- Message VPN: `us-aviation-demo`
-- Client Username: `public`
-- Client Password: `ilikeplanes`
-
-At the top of the map, toggle between "hand" to pan around, or "box" to draw filtered areas of the map. The blue button above them will delete all filtered areas.
-
-## Login to Solace Cloud Console
-
-Duration: 0:02:00
-
-We will be doing a Solace Discovery Scan. You will need to log into the Solace Event Portal: [https://console.solace.cloud/](https://console.solace.cloud/)
-
-- Click on "Discovery"
-- Click on "How do I run a Discovery Scan" at the top
-- Download and run the Discovery agent
-
-## The Discovery Agent
-
-Duration: 0:05:00
-
-The agent is a local application running on your localhost or whatever server your Docker is running on. Point your favourite browser to `http://localhost:8120` to see the Agent GUI.
-
-Use the following credentials to do Solace "Runtime Discovery". (note, these credentials will also work for a Topic Discovery scan):
-
-- Client Username: `public`
-- Client Password: `ilikeplanes`
-- SEMP Username: `readonly`
-- SEMP Password: `readonly`
-- Client Protocol: `tcp`
-- Client Host: `mrz5j97864i9m.messaging.solace.cloud`
-- SEMP Host: `mrz5j97864i9m.messaging.solace.cloud`
-- Messaging Port: `55555`
-- Message VPN: `us-aviation-demo`
-- SEMP Port: `943`
-- SEMP Scheme: `https`
-- Topics Subscriptions: `>`
-- Scan Duration: `60` (seconds)
-
-#### Of course, feel free to scan any broker / Message VPN that you have access to
-
-After the scan is complete, upload it to your Solace Cloud account. Or download the JSON if you wish, you can upload it later.
-
-## Importing to Designer
-
-Duration: 0:05:00
-
-Back in Solace Cloud Console, under the Designer, you should see the scan you just ran. Click the three vertical dots and "Import to Designer".
-
-You will be presented with two sets of data:
-
-- the topic hierarchy scanned
-- any scanned Solace clients that were connected, and their subscriptions
-
-### Creating Events from Topics
-
-Navigate through the topic hierarchy. When you navigate/expand a topic tree all the way down to the leaf node, you can then create an event with that static topic. There will appear a little + sign and allow you to create a Portal Event.
-
-To create a topic level with mulitple values (e.g. enums or variable), click the checkmark box to the left of the first value at that level, and then say "Select All". Then you can create a variable for that level.
-
-Watch the video for more details, or check back later when this CodeLab is updated.
-
-### Detecting Client Applications
-
-On the 2nd tab, **Queues & Direct Clients**, you can see what consumers are active and consuming data from Solace. These can be generated into Portal Appliations.
-
-## Move to the Designer
-
-Duration: 0:02:00
-
-Once Events and Applications have been created from your scan, you can move into the Designer view and start enhancing the data there (e.g. description, owner, etc.). Note that for scanned Events (topics), the Schema is not automatically generated as Solace (currently) don't reverse engineer schemas from published payloads.
-
-Finally, you can export the AsyncAPI schema of any Applications you like, and then use any AsyncAPI code generator to build you a new application framework for publishing or subscribing to the data.
-
-## Next Steps
-
-Duration: 0:02:00
-
-Thanks for participating in this codelab! Let us know what you thought in the [Solace Community Forum](https://solace.community/)! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.
diff --git a/markdown/solace-discovery/solace-discovery/codelab.json b/markdown/solace-discovery/solace-discovery/codelab.json
deleted file mode 100644
index 53099a01..00000000
--- a/markdown/solace-discovery/solace-discovery/codelab.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "environment": "web",
- "format": "html",
- "prefix": "https://storage.googleapis.com",
- "mainga": "UA-49880327-14",
- "updated": "2021-04-21T22:21:22+08:00",
- "id": "solace-discovery",
- "duration": 0,
- "title": "Discover your Solace Event Streams with Event Portal",
- "summary": "Follow along to do a Solace Discovery Scan of Topic Hierarchy and Existing Applications",
- "source": "solace-discovery.md",
- "theme": "",
- "status": [
- "draft"
- ],
- "category": [
- "solace"
- ],
- "tags": [
- "web"
- ],
- "feedback": "https://github.com/SolaceDev/solace-dev-codelabs/blob/master/markdown/solace-discovery",
- "ga": "UA-3921398-10",
- "url": "solace-discovery"
-}
diff --git a/markdown/solace-discovery/solace-discovery/img/44f356558033e250.gif b/markdown/solace-discovery/solace-discovery/img/44f356558033e250.gif
deleted file mode 100644
index 5364f91e..00000000
Binary files a/markdown/solace-discovery/solace-discovery/img/44f356558033e250.gif and /dev/null differ
diff --git a/markdown/solace-discovery/solace-discovery/img/b56e150acd0aa761.png b/markdown/solace-discovery/solace-discovery/img/b56e150acd0aa761.png
deleted file mode 100644
index 5c2d01c7..00000000
Binary files a/markdown/solace-discovery/solace-discovery/img/b56e150acd0aa761.png and /dev/null differ
diff --git a/markdown/solace-discovery/solace-discovery/img/b981deae0dee0a74.png b/markdown/solace-discovery/solace-discovery/img/b981deae0dee0a74.png
deleted file mode 100644
index 766d74ee..00000000
Binary files a/markdown/solace-discovery/solace-discovery/img/b981deae0dee0a74.png and /dev/null differ
diff --git a/markdown/solace-discovery/solace-discovery/index.html b/markdown/solace-discovery/solace-discovery/index.html
deleted file mode 100644
index c05afab9..00000000
--- a/markdown/solace-discovery/solace-discovery/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
-
-
- Discover your Solace Event Streams with Event Portal
-
-
-
-
-
-
-
-
-
-
-
This CodeLab will walk you through the basics of performing a Solace Runtime Discovery scan of your existing (or a demo) Solace application / broker.
At the top of the map, toggle between "hand" to pan around, or "box" to draw filtered areas of the map. The blue button above them will delete all filtered areas.
-
-
-
-
-
-
We will be doing a Solace Discovery Scan. You will need to log into the Solace Event Portal: https://console.solace.cloud/
-
-
Click on "Discovery"
-
Click on "How do I run a Discovery Scan" at the top
-
Download and run the Discovery agent
-
-
-
-
-
-
-
The agent is a local application running on your localhost or whatever server your Docker is running on. Point your favourite browser to http://localhost:8120 to see the Agent GUI.
-
Use the following credentials to do Solace "Runtime Discovery". (note, these credentials will also work for a Topic Discovery scan):
-
-
Client Username: public
-
Client Password: ilikeplanes
-
SEMP Username: readonly
-
SEMP Password: readonly
-
Client Protocol: tcp
-
Client Host: mrz5j97864i9m.messaging.solace.cloud
-
SEMP Host: mrz5j97864i9m.messaging.solace.cloud
-
Messaging Port: 55555
-
Message VPN: us-aviation-demo
-
SEMP Port: 943
-
SEMP Scheme: https
-
Topics Subscriptions: >
-
Scan Duration: 60 (seconds)
-
-
Of course, feel free to scan any broker / Message VPN that you have access to
-
After the scan is complete, upload it to your Solace Cloud account. Or download the JSON if you wish, you can upload it later.
-
-
-
-
-
-
Back in Solace Cloud Console, under the Designer, you should see the scan you just ran. Click the three vertical dots and "Import to Designer".
-
You will be presented with two sets of data:
-
-
the topic hierarchy scanned
-
any scanned Solace clients that were connected, and their subscriptions
-
-
Creating Events from Topics
-
Navigate through the topic hierarchy. When you navigate/expand a topic tree all the way down to the leaf node, you can then create an event with that static topic. There will appear a little + sign and allow you to create a Portal Event.
-
To create a topic level with mulitple values (e.g. enums or variable), click the checkmark box to the left of the first value at that level, and then say "Select All". Then you can create a variable for that level.
-
Watch the video for more details, or check back later when this CodeLab is updated.
-
Detecting Client Applications
-
On the 2nd tab, Queues & Direct Clients, you can see what consumers are active and consuming data from Solace. These can be generated into Portal Appliations.
-
-
-
-
-
-
Once Events and Applications have been created from your scan, you can move into the Designer view and start enhancing the data there (e.g. description, owner, etc.). Note that for scanned Events (topics), the Schema is not automatically generated as Solace (currently) don't reverse engineer schemas from published payloads.
-
Finally, you can export the AsyncAPI schema of any Applications you like, and then use any AsyncAPI code generator to build you a new application framework for publishing or subscribing to the data.
-
-
-
-
-
-
Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.