cloud-native-guides icon indicating copy to clipboard operation
cloud-native-guides copied to clipboard

The Workshopper Guides for Cloud Native Roadshow on OpenShift https://www.openshift.com

== Cloud-Native Workshop image:https://api.travis-ci.org/openshift-labs/cloud-native-guides.svg?branch=ocp-3.11[Build Status,link=https://travis-ci.org/openshift-labs/cloud-native-guides]

This one day hands-on cloud-native workshops provides developers and introduction to cloud-natives applications and gives them an experience of building cloud-native applications using OpenShift, Spring Boot, WildFly Swarm, Vert.xt and more.

== Agenda

  • Introduction to Cloud-Native apps
  • Building services with Spring Boot
  • Building Java EE services with WildFly Swarm
  • Building Reactive Services with Vert.x
  • Monitoring Application Health
  • Fault Tolerance and Service Resilience
  • Configuration Management
  • Continuous Delivery
  • Debugging Services

== Install Workshop Infrastructure

An https://hub.docker.com/r/openshiftapb/cloudnative-workshop-apb[APB^] is provided for deploying the Cloud-Native Workshop infra (lab instructions, Nexus, Gogs, CodeReady Workspaces, etc) in a project on an OpenShift cluster via the service catalog. In order to add this APB to the OpenShift service catalog, log in as cluster admin and perform the following in the *openshift-ansible-service-broker* project :

  1. Edit the *broker-config* configmap and add this snippet right after *registry*:

[source,yaml]

- name: dh
  type: dockerhub
  org: openshiftapb
  tag: ocp-3.11
  white_list: [.*-apb$]

  1. Redeploy the *asb* deployment

You can https://docs.openshift.com/container-platform/3.11/install_config/oab_broker_configuration.html#oab-config-registry-dockerhub[read more in the docs^] on how to configure the service catalog.

TIP: If you are using the OpenShift Workshop in RHPDS, this APB is already available in your service catalog.

image:images/service-catalog.png?raw=true[^]

As an alternative, you can also run the APB directly in a pod on OpenShift to install the workshop infra:

[source,shell]

oc login oc new-project lab-infra oc run apb --restart=Never --image="openshiftapb/cloudnative-workshop-apb:ocp-3.11"
-- provision -vvv -e namespace=$(oc project -q) -e openshift_token=$(oc whoami -t)

Or if you have Ansible installed locally, you can also run the Ansilbe playbooks directly on your machine:

[source,shell]

oc login oc new-project lab-infra

ansible-playbook -vvv playbooks/provision.yml
-e namespace=$(oc project -q)
-e openshift_token=$(oc whoami -t)
-e openshift_master_url=$(oc whoami --show-server)

== Lab Instructions on OpenShift

TIP: If you have used the above workshop installer, the lab instructions are already deployed.

[source,shell]

oc new-app quay.io/osevg/workshopper:latest --name=guides
-p LOG_TO_STDOUT=true
-p WORKSHOPS_URLS="https://raw.githubusercontent.com/openshift-labs/cloud-native-guides/ocp-3.11/_cloud-native-workshop-codeready.yml" oc expose svc/guides

== Local Lab Instructions

[source,shell]

docker run -it --rm -p 8080:8080
-v $(pwd):/app-data
-e LOG_TO_STDOUT=true
-e CONTENT_URL_PREFIX="file:///app-data"
-e WORKSHOPS_URLS="file:///app-data/_cloud-native-workshop-codeready.yml"
quay.io/osevg/workshopper:latest