You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2020/04/21 12:45:55 UTC
[camel-k-examples] 04/08: Removing readme
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-examples.git
commit 11fd47ead4d215303d047fa998061ce09337b5af
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Tue Apr 21 10:37:48 2020 +0200
Removing readme
---
01-basic/readme.md | 296 -----------------------------------------------------
1 file changed, 296 deletions(-)
diff --git a/01-basic/readme.md b/01-basic/readme.md
deleted file mode 100644
index c2c494b..0000000
--- a/01-basic/readme.md
+++ /dev/null
@@ -1,296 +0,0 @@
-# Camel K Basic Example
-
-
-
-This example demonstrates how to get started with Camel K by showing you some of the most important
-features that you should know before trying to develop more complex examples.
-
-## Before you begin
-
-Make sure you check-out this repository from git and open it with [VSCode](https://code.visualstudio.com/).
-
-Instructions are based on [VSCode Didact](https://github.com/redhat-developer/vscode-didact), so make sure it's installed
-from the VSCode extensions marketplace.
-
-From the VSCode UI, right-click on the `readme.didact.md` file and select "Didact: Start Didact tutorial from File". A new Didact tab will be opened in VS Code.
-
-Make sure you've opened this readme file with Didact before jumping to the next section.
-
-## Preparing the cluster
-
-This example can be run on any OpenShift 4.3+ cluster or a local development instance (such as [CRC](https://github.com/code-ready/crc)). Ensure that you have a cluster available and login to it using the OpenShift `oc` command line tool.
-
-You need to create a new project named `camel-basic` for running this example. This can be done directly from the OpenShift web console or by executing the command `oc new-project camel-basic` on a terminal window.
-
-You need to install the Camel K operator in the `camel-basic` project. To do so, go to the OpenShift 4.x web console, login with a cluster admin account and use the OperatorHub menu item on the left to find and install **"Red Hat Integration - Camel K"**. You will be given the option to install it globally on the cluster or on a specific namespace.
-If using a specific namespace, make sure you select the `camel-basic` project from the dropdown list.
-This completes the installation of the Camel K operator (it may take a couple of minutes).
-
-When the operator is installed, from the OpenShift Help menu ("?") at the top of the WebConsole, you can access the "Command Line Tools" page, where you can download the **"kamel"** CLI, that is required for running this example. The CLI must be installed in your system path.
-
-Refer to the **"Red Hat Integration - Camel K"** documentation for a more detailed explanation of the installation steps for the operator and the CLI.
-
-You can use the following section to check if your environment is configured properly.
-
-## Checking requirements
-
-<a href='didact://?commandId=vscode.didact.validateAllRequirements' title='Validate all requirements!'><button>Validate all Requirements at Once!</button></a>
-
-**OpenShift CLI ("oc")**
-
-The OpenShift CLI tool ("oc") will be used to interact with the OpenShift cluster.
-
-[Check if the OpenShift CLI ("oc") is installed](didact://?commandId=vscode.didact.cliCommandSuccessful&text=oc-requirements-status$$oc%20help&completion=Checked%20oc%20tool%20availability "Tests to see if `oc help` returns a 0 return code"){.didact}
-
-*Status: unknown*{#oc-requirements-status}
-
-
-**Connection to an OpenShift cluster**
-
-You need to connect to an OpenShift cluster in order to run the examples.
-
-[Check if you're connected to an OpenShift cluster](didact://?commandId=vscode.didact.requirementCheck&text=cluster-requirements-status$$oc%20get%20project$$NAME&completion=OpenShift%20is%20connected. "Tests to see if `kamel version` returns a result"){.didact}
-
-*Status: unknown*{#cluster-requirements-status}
-
-**Apache Camel K CLI ("kamel")**
-
-Apart from the support provided by the VS Code extension, you also need the Apache Camel K CLI ("kamel") in order to
-access all Camel K features.
-
-[Check if the Apache Camel K CLI ("kamel") is installed](didact://?commandId=vscode.didact.requirementCheck&text=kamel-requirements-status$$kamel%20version$$Camel%20K%20Client&completion=Apache%20Camel%20K%20CLI%20is%20available%20on%20this%20system. "Tests to see if `kamel version` returns a result"){.didact}
-
-*Status: unknown*{#kamel-requirements-status}
-
-### Optional Requirements
-
-The following requirements are optional. They don't prevent the execution of the demo, but may make it easier to follow.
-
-**VS Code Extension Pack for Apache Camel**
-
-The VS Code Extension Pack for Apache Camel by Red Hat provides a collection of useful tools for Apache Camel K developers,
-such as code completion and integrated lifecycle management. They are **recommended** for the tutorial, but they are **not**
-required.
-
-You can install it from the VS Code Extensions marketplace.
-
-[Check if the VS Code Extension Pack for Apache Camel by Red Hat is installed](didact://?commandId=vscode.didact.extensionRequirementCheck&text=extension-requirement-status$$redhat.apache-camel-extension-pack&completion=Camel%20extension%20pack%20is%20available%20on%20this%20system. "Checks the VS Code workspace to make sure the extension pack is installed"){.didact}
-
-*Status: unknown*{#extension-requirement-status}
-
-
-## 1. Preparing the project
-
-We'll connect to the `camel-basic` project and check the installation status.
-
-To change project, open a terminal tab and type the following command:
-
-
-```
-oc project camel-basic
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20project%20camel-basic&completion=New%20project%20creation. "Opens a new terminal and sends the command above"){.didact})
-
-
-We should now check that the operator is installed. To do so, execute the following command on a terminal:
-
-
-Upon successful creation, you should ensure that the Camel K operator is installed:
-
-```
-oc get csv
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20get%20csv&completion=Checking%20Cluster%20Service%20Versions. "Opens a new terminal and sends the command above"){.didact})
-
-
-When Camel K is installed, you should find an entry related to `red-hat-camel-k-operator` in phase `Succeeded`.
-
-You can now proceed to the next section.
-
-## 2. Running a basic integration
-
-This repository contains a simple Camel K integration that periodically prints
-a "Hello World..." message.
-
-The integration is all contained in a single file named `Basic.java` ([open](didact://?commandId=vscode.openFolder&projectFilePath=Basic.java&completion=Opened%20the%20Basic.java%20file "Opens the Basic.java file"){.didact}).
-
-> **Note:** the `Basic.java` file contains a simple integration that uses the `timer` and `log` components.
-> Dependency management is automatically handled by Camel K that imports all required libraries from the Camel
-> catalog via code inspection. This means you can use all 300+ Camel components directly in your routes.
-
-We're ready to run the integration on our `camel-basic` project in the cluster.
-
-Use the following command to run it in "dev mode", in order to see the logs in the integration terminal:
-
-```
-kamel run Basic.java --dev
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20run%20Basic.java%20--dev&completion=Camel%20K%20basic%20integration%20run%20in%20dev%20mode. "Opens a new terminal and sends the command above"){.didact})
-
-If everything is ok, after the build phase finishes, you should see the Camel integration running and continuously printing "Hello World!..." in the terminal window.
-
-When running in dev mode, you can change the integration code and let Camel K redeploy the changes automatically.
-
-To try this feature,
-[open the `Basic.java` file](didact://?commandId=vscode.openFolder&projectFilePath=Basic.java&completion=Opened%20the%20Basic.java%20file "Opens the Basic.java file"){.didact}
-and change "Hello World" into "Ciao Mondo", then save the file.
-You should see the new integration starting up in the terminal window and replacing the old one.
-
-[**To exit dev mode and terminate the execution**, just click here](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact}
-or hit `ctrl+c` on the terminal window.
-
-> **Note:** When you terminate a "dev mode" execution, also the remote integration will be deleted. This gives the experience of a local program execution, but the integration is actually running in the remote cluster.
-
-To keep the integration running and not linked to the terminal, you can run it without "dev mode", just run:
-
-```
-kamel run Basic.java
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20run%20Basic.java&completion=Camel%20K%20basic%20integration%20run. "Opens a new terminal and sends the command above"){.didact})
-
-
-
-After executing the command, you should be able to see it among running integrations:
-
-```
-oc get integrations
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20get%20integrations&completion=Getting%20running%20integrations. "Opens a new terminal and sends the command above"){.didact})
-
-An integration named `basic` should be present in the list and it should be in status `Running`. There's also a `kamel get` command which is an alternative way to list all running integrations.
-
-> **Note:** the first time you've run the integration, an IntegrationKit (basically, a container image) has been created for it and
-> it took some time for this phase to finish. When you run the integration a second time, the existing IntegrationKit is reused
-> (if possible) and the integration reaches the "Running" state much faster.
->
-
-
-Even if it's not running in dev mode, you can still see the logs of the integration using the following command:
-
-```
-kamel log basic
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20log%20basic&completion=Show%20integration%20logs. "Opens a new terminal and sends the command above"){.didact})
-
-The last parameter ("basic") is the name of the running integration for which you want to display the logs.
-
-[**Click here to terminate the log stream**](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact}
-or hit `ctrl+c` on the terminal window.
-
-> **Note:** Your IDE may provide an "Apache Camel K Integrations" panel where you can see the list of running integrations and also open a window to display the logs.
-
-
-## 2. Applying configuration and routing
-
-The second example is a bit more complex as it shows how to configure the integration using external properties and
-also a simple content-based router.
-
-The integration is contained in a file named `Routing.java` ([open](didact://?commandId=vscode.openFolder&projectFilePath=Routing.java&completion=Opened%20the%20Routing.java%20file "Opens the Routing.java file"){.didact}).
-
-The routes use two configuration properties named `items` and `priority-marker` that should be provided using an external file such
-as the `routing.properties` ([open](didact://?commandId=vscode.openFolder&projectFilePath=routing.properties&completion=Opened%20the%20routing.properties%20file "Opens the routing.properties file"){.didact}).
-
-The `Routing.java` file shows how to inject properties into the routes via property placeholders and also the usage of the `@PropertyInject` annotation.
-
-To run the integration, we should link the integration to the property file providing configuration for it:
-
-```
-kamel run Routing.java --property-file routing.properties --dev
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20run%20Routing.java%20--property-file%20routing.properties%20--dev&completion=Run%20Routing.java%20integration. "Opens a new terminal and sends the command above"){.didact})
-
-Wait for the integration to be running (you should see the logs streaming in the terminal window).
-
-You can now open both the [Routing.java](didact://?commandId=vscode.openFolder&projectFilePath=Routing.java&completion=Opened%20the%20Routing.java%20file "Opens the Routing.java file"){.didact} file or
-the [routing.properties](didact://?commandId=vscode.openFolder&projectFilePath=routing.properties&completion=Opened%20the%20routing.properties%20file "Opens the routing.properties file"){.didact}
-file, make some changes and see the integration redeployed.
-For example, change the word `door` with `*door` to see it sent to the priority queue.
-
-[**Click here to exit dev mode and terminate the execution**](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact},
-or hit `ctrl+c` on the terminal window.
-
-This will also terminate the execution of the integration.
-
-## 3. Running integrations as Kubernetes CronJobs
-
-The previous example can be automatically deployed as a Kubernetes CronJob if the delay between executions is changed into a value that can be expressed by a cron tab expression.
-
-For example, you can change the first endpoint (`timer:java?period=3000`) into the following: `timer:java?period=60000` (1 minute between executions). [Open the Routing.java file](didact://?commandId=vscode.openFolder&projectFilePath=Routing.java&completion=Opened%20the%20Routing.java%20file "Opens the Routing.java file"){.didact} to apply the changes.
-
-Now you can run the integration again:
-
-```
-kamel run Routing.java --property-file routing.properties
-```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20run%20Routing.java%20--property-file%20routing.properties&completion=Run%20Routing.java%20integration%20as%20CronJob. "Opens a new terminal and sends the command above"){.didact})
-
-Now you'll see that Camel K has materialized a cron job:
-
-```
-oc get cronjob
-```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20get%20cronjob&completion=Get%20CronJobs. "Opens a new terminal and sends the command above"){.didact})
-
-You'll find a Kubernetes CronJob named "routing".
-
-The running behavior changes, because now there's no pod always running (beware you should not store data in memory when using the cronJob strategy).
-
-You can see the pods starting and being destroyed by watching the namespace:
-
-```
-oc get pod -w
-```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20get%20pod%20-w&completion=Watch%20Pods. "Opens a new terminal and sends the command above"){.didact})
-
-[**Click here to exit the current command**](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact},
-or hit `ctrl+c` on the terminal window.
-
-To see the logs of each integration starting up, you can use the `kamel log` command:
-
-```
-kamel log routing
-```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20log%20routing&completion=Watch%20integration%20logs. "Opens a new terminal and sends the command above"){.didact})
-
-You should see every minute a JVM starting, executing a single operation and terminating.
-
-[**Click here to exit the current command**](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact},
-or hit `ctrl+c` on the terminal window.
-
-The CronJob behavior is controlled via a Trait called `cron`. Traits are the main way to configure high level Camel K features, to
-customize how integrations are rendered.
-
-To disable the cron feature and use the deployment strategy, you can run the integration with:
-
-```
-kamel run Routing.java --property-file routing.properties -t cron.enabled=false
-```
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20run%20Routing.java%20--property-file%20routing.properties%20-t%20cron.enabled=false&completion=Run%20Routing.java%20integration%20without%20CronJobs. "Opens a new terminal and sends the command above"){.didact})
-
-This will disable the cron trait and restore the classic behavior (always running pod).
-
-You should see it reflected in the logs (which will be printed every minute by the same JVM):
-
-```
-kamel log routing
-```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$kamel%20log%20routing&completion=Watch%20integration%20logs. "Opens a new terminal and sends the command above"){.didact})
-
-
-[**Click here to exit the current command**](didact://?commandId=vscode.didact.sendNamedTerminalCtrlC&text=camelTerm&completion=Camel%20K%20basic%20integration%20interrupted. "Interrupt the current operation on the terminal"){.didact},
-or hit `ctrl+c` on the terminal window.
-
-You can continue to hack on the examples.
-
-## 4. Uninstall
-
-To cleanup everything, execute the following command:
-
-```oc delete project camel-basic```
-
-([^ execute](didact://?commandId=vscode.didact.sendNamedTerminalAString&text=camelTerm$$oc%20delete%20project%20camel-basic&completion=Removed%20the%20project%20from%20the%20cluster. "Cleans up the cluster after running the example"){.didact})