= Quarkus Workshop Guide

This workshop focuses on https://quarkus.io[Quarkus], supersonic, subatomic container-native Java. The workshop uses https://eclipse.org/che[Eclipse Che] to develop Quarkus apps and deploy them to a Kubernetes cluster (based on OpenShift), and covers several other developer topics such as:

* Dependency Injection
* Testing Quarkus Apps
* Debugging Quarkus Apps
* Building Native Quarkus Apps
* Developing Cloud Native with Quarkus
* Using Quarkus extensions
* Hibernate ORM with Panache
* Event-driven Messaging
* Streaming Data with Quarkus and Kafka
* Monitoring with Prometheus and Grafana
* Tracing Quarkus Apps with Jaeger and MicroProfile Tracing

If you want to just see what the rendered instructions look like, execute this docker command:

[source, sh]
----
docker run -it -p 8080:8080 \
  -e MASTER_URL=http://your.master.com:1111 \
  -e CONSOLE_URL=http://your.console.url.com:2222 \
  -e CHE_URL=http://codeready.url.com:3333 \
  -e KEYCLOAK_URL=http://keycloak.url.com:4444 \
  -e ROUTE_SUBDOMAIN=apps.yoursubdomain.com \
  -e CONTENT_URL_PREFIX="https://raw.githubusercontent.com/RedHatWorkshops/quarkus-workshop/master/docs/" \
  -e WORKSHOPS_URLS="https://raw.githubusercontent.com/RedHatWorkshops/quarkus-workshop/master/docs/_workshop.yml" \
  -e USER_NAME=userNN \
  -e USER_PASSWORD=passNN \
  -e LOG_TO_STDOUT=true \
    quay.io/osevg/workshopper
----

Then go to `localhost:8080` in your browser. Note that the URLs above are "fake" (except for `CONTENT_URL_PREFIX` and `WORKSHOP_URLS`). If you actually try to follow the instructions you'll need to replace the above values manually (either in the command above, or when running through the labs).

== Prerequisites

Assumes you have a running OpenShift 4 cluster and have:

- CLI Utils: `htpasswd` (part of Apache HTTPD) - used to generate users for OpenShift
- https://github.com/mikefarah/yq[`yq`] (YAML processor)
- OpenShift 4 CLI `oc` for your environment from https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/.

[IMPORTANT]
====
If you not have OCP4 cluster then please proceed to https://try.openshift.com[try.openshift.com] to get one installed and configured before proceeding to next section.
====

== Setup Workshop

Login to OpenShift with `cluster-admin` privileges and run:

[source, none]
```
setup/preparelab.sh -a [ADMIN_PASSWORD] -c [COUNT]
```

