mmistretta
2020-02-25 d732bfe211220fcd877f496d0db941a857ece6ae
CamelK and CRW Workload  (#1184)

* first start

* added users to appropriate projects

* got users for che working

* crw update

* added kamel stuff

* finished workload

* camel k operator installing

* apicurio operator working

* back to working

* added sample vars

* docker stuff

* fully working

* added env variable for kubeconfig

* updated readme
74 files added
15919 ■■■■■ changed files
ansible/roles/ocp4-workload-camelk-crw/README.adoc 45 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/defaults/main.yml 26 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/defaults/sample-vars.yml 26 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/operator-old.yaml 36 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/operator.yaml 17 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/service.yaml 7 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/codeready-workspaces/cluster.yml 30 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/codeready-workspaces/operator.yml 17 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/fis-image-streams-2.1.fuse-750056-redhat-00006.json 888 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/fuse-imagepuller.yml 16 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-amq-template.json 560 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cdi-template.json 525 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cxf-jaxrs-template.json 525 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cxf-jaxws-template.json 525 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-jpa-template.json 798 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-amq-template.json 392 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-log-template.json 349 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-rest-sql-template.json 440 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-cxf-rest-template.json 404 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-amq-template.json 374 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-drools-template.json 369 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-infinispan-template.json 350 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-rest-3scale-template.json 403 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-rest-sql-template.json 438 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-teiid-template.json 378 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-template.json 340 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-xa-template.json 591 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-xml-template.json 340 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-cxf-jaxrs-template.json 399 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-cxf-jaxws-template.json 399 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-amq-template.json 374 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-config-template.json 383 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-drools-template.json 369 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-infinispan-template.json 350 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-rest-3scale-template.json 403 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-rest-sql-template.json 438 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-template.json 340 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-xa-template.json 591 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-xml-template.json 340 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-cxf-jaxrs-template.json 399 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-cxf-jaxws-template.json 399 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/fuse/samples-operator-patch.yml 52 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/grafana/instance.yml 24 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/grafana/operator.yml 17 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/operator.yml 17 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/route.yml 15 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/service.yml 13 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/servicemonitor.yml 13 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/stack.Dockerfile 52 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/files/stack_imagestream.yaml 18 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/main.yml 31 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/post_workload.yml 22 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/pre_workload.yml 47 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/remove_workload.yml 23 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/remove_workload_per_project.yml 9 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload.yml 31 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_cluster_fuse.yml 12 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_apicurito.yml 32 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_camelk.yml 21 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_codereadyworkspaces.yml 176 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_fuse.yml 18 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_grafana.yml 55 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_prometheus.yml 61 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_project.yml 36 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/apicurito.yaml.j2 275 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/bucketrepo/deployment.j2 130 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/camel_integration_platform.yaml.j2 6 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/camelk-csv.yaml.j2 12 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/camelk-subscription.yaml.j2 12 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/codeready-workspaces/workspace.j2 64 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/gitea/operator.j2 184 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/namespace.j2 10 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/olm-operatorgroup/group.j2 19 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/templates/prometheus/prometheus.j2 19 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-camelk-crw/README.adoc
New file
@@ -0,0 +1,45 @@
= ocp4-workload-camelk-crw
Workload for labs on CamelK and using Code Ready Workspaces
== Role overview
=== Deploy a Workload with the `ocp-workload` playbook [Mostly for testing]
----
TARGET_HOST="bastion.opentlc.com"
OCP_USERNAME="kubeadmin"
WORKLOAD="ocp4-workload-camelk-crw"
GUID=1001
# a TARGET_HOST is specified in the command line, without using an inventory file
ansible-playbook -i ${TARGET_HOST}, ./configs/ocp-workloads/ocp-workload.yml \
    -e"ansible_user=replace-redhat.com" \
    -e"ansible_ssh_pass=replace" \
    -e"ocp_username=${OCP_USERNAME}" \
    -e"ocp_workload=${WORKLOAD}" \
    -e"namespace_prefix=user" \
    -e"user_count_start=1" \
    -e"user_count_end=2" \
    -e"ACTION=create"
----
=== To Delete an environment
----
TARGET_HOST="bastion.opentlc.com"
OCP_USERNAME="kubeadmin"
WORKLOAD="ocp4-workload-camelk-crw"
GUID=1001
# a TARGET_HOST is specified in the command line, without using an inventory file
ansible-playbook -i ${TARGET_HOST}, ./configs/ocp-workloads/ocp-workload.yml \
    -e"ansible_user=replace-redhat.com" \
    -e"ansible_ssh_pass=replace" \
    -e"ocp_username=${OCP_USERNAME}" \
    -e"ocp_workload=${WORKLOAD}" \
    -e"namespace_prefix=user" \
    -e"user_count_start=1" \
    -e"user_count_end=2" \
    -e"ACTION=remove"
----
ansible/roles/ocp4-workload-camelk-crw/defaults/main.yml
New file
@@ -0,0 +1,26 @@
---
become_override: False
ocp_username: system:admin
silent: False
tmp_dir: /tmp/ocp4-workload-camelk-crw
_retry: 180
_delay: 10
_ocp_version: 16+
#_amqstreams_csv_verison: amqstreams.v1.3.0
#_businessautomation_csv_version : businessautomation-operator.1.3.0
_crw_csv_version: crwoperator.v2.0.0
#_datagrid_csv_version: datagrid-operator.v1.0.0
_grafana_csv_version: grafana-operator.v2.0.0
#_kogito_csv_version: kogito-operator.v0.7.0
_prometheus_csv_version: prometheusoperator.0.32.0
_apicurio_csv_version: apicuritooperator.v0.1.0
camelk_version: 1.0.0-rc1
apicurito_template_file: apicurito.yaml.j2
_account_name: gitadmin
_account_password: openshift
ansible/roles/ocp4-workload-camelk-crw/defaults/sample-vars.yml
New file
@@ -0,0 +1,26 @@
cloud_provider: none
env_type: ocp-workloads
ocp_workloads:
  - ocp4-workload-camelk-crw
# If the ocp-workload supports it, you should specify the OCP user:
ocp_username: opentlc-mgr
guid: mary-8c3d
aws_region: us-east-1
#num_users: 5
subdomain_base: apps.cluster-mary-8c3d.mary-8c3d.example.opentlc.com
namespace_prefix: user
user_count_start: 7
user_count_end: 8
ACTION: create
target_host:
  ansible_host: bastion.mary-8c3d.example.opentlc.com
  ansible_port: 22
  ansible_user: mcochran-redhat.com
  #ansible_ssh_pass: ZQKfFnVitXV7
  ansible_ssh_private_key_file: ~/.ssh/id_rsa
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/operator-old.yaml
New file
@@ -0,0 +1,36 @@
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apicurio-operator
spec:
  replicas: 1
  selector:
    matchLabels:
      name: apicurio-operator
  template:
    metadata:
      labels:
        name: apicurio-operator
    spec:
      serviceAccountName: apicurio-operator
      containers:
        - name: apicurio-operator
          # Replace this with the built image name
          image: quay.io/integreatly/apicurio-operator:master
          ports:
          - containerPort: 60000
            name: metrics
          command:
          - apicurio-operator
          imagePullPolicy: Always
          env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: OPERATOR_NAME
              value: "apicurio-operator"
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/operator.yaml
New file
@@ -0,0 +1,17 @@
---
kind: List
apiVersion: v1
metadata:
  name: apicurito
items:
- apiVersion: operators.coreos.com/v1alpha1
  kind: Subscription
  metadata:
    name: apicurito
  spec:
    channel: alpha
    installPlanApproval: Automatic
    name: apicurito
    source: community-operators
    sourceNamespace: openshift-marketplace
    startingCSV: apicuritooperator.v0.1.0
ansible/roles/ocp4-workload-camelk-crw/files/apicurio/service.yaml
New file
@@ -0,0 +1,7 @@
apiVersion: apicur.io/v1alpha1
kind: Apicurito
metadata:
  name: apicurito-service
spec:
  size: 3
  image: 'apicurio/apicurito-ui:latest'
ansible/roles/ocp4-workload-camelk-crw/files/codeready-workspaces/cluster.yml
New file
@@ -0,0 +1,30 @@
apiVersion: org.eclipse.che/v1
kind: CheCluster
metadata:
  name: codeready-workspaces
spec:
  server:
    cheImageTag: ''
    cheFlavor: codeready
    devfileRegistryImage: ''
    pluginRegistryImage: ''
    tlsSupport: false
    selfSignedCert: false
  database:
    externalDb: false
    chePostgresHostName: ''
    chePostgresPort: ''
    chePostgresUser: ''
    chePostgresPassword: ''
    chePostgresDb: ''
  auth:
    openShiftoAuth: false
    identityProviderImage: ''
    externalIdentityProvider: false
    identityProviderURL: ''
    identityProviderRealm: ''
    identityProviderClientId: ''
  storage:
    pvcStrategy: per-workspace
    pvcClaimSize: 1Gi
    preCreateSubPaths: true
ansible/roles/ocp4-workload-camelk-crw/files/codeready-workspaces/operator.yml
New file
@@ -0,0 +1,17 @@
---
kind: List
apiVersion: v1
metadata:
  name: codeready-workspaces-operator
items:
- apiVersion: operators.coreos.com/v1alpha1
  kind: Subscription
  metadata:
    name: codeready-workspaces-operator
  spec:
    channel: latest
    installPlanApproval: Automatic
    name: codeready-workspaces
    source: redhat-operators
    sourceNamespace: openshift-marketplace
    startingCSV: crwoperator.v2.0.0
ansible/roles/ocp4-workload-camelk-crw/files/fuse/fis-image-streams-2.1.fuse-750056-redhat-00006.json
New file
@@ -0,0 +1,888 @@
{
    "kind": "List",
    "apiVersion": "v1",
    "metadata": {
        "name": "jboss-fuse-image-streams",
        "annotations": {
            "description": "ImageStream definitions for Red Hat Fuse."
        }
    },
    "items": [
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fis-java-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 6.3 Java",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 6.2.1 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 6.2.1 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports": "jboss-fuse:6.2.1,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/jboss-fuse-6/fis-java-openshift:1.0"
                        }
                    },
                    {
                        "name": "2.0",
                        "annotations": {
                            "description": "Red Hat Fuse 6.3 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 6.3 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports": "jboss-fuse:6.3.0,java:8,xpaas:1.2",
                            "version": "2.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/jboss-fuse-6/fis-java-openshift:2.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "jboss-fuse70-java-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7.0 Java",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports": "jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fis-karaf-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 6.3 Karaf",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 6.2.1 Karaf S2I image.",
                            "openshift.io/display-name": "Red Hat Fuse 6.2.1 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports": "jboss-fuse:6.2.1,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/jboss-fuse-6/fis-karaf-openshift:1.0"
                        }
                    },
                    {
                        "name": "2.0",
                        "annotations": {
                            "description": "Red Hat Fuse 6.3 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 6.3 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports": "jboss-fuse:6.3.0,java:8,xpaas:1.2",
                            "version": "2.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/jboss-fuse-6/fis-karaf-openshift:2.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "jboss-fuse70-karaf-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7.0 Karaf",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports": "jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "jboss-fuse70-eap-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7.0 EAP",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports": "jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "jboss-fuse70-console",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7.0 Console",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports": "jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.0"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fuse7-java-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7 Java",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.0"
                        }
                    },
                    {
                        "name": "1.1",
                        "annotations": {
                            "description": "Red Hat Fuse 7.1 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.1 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.1.0,java:8,xpaas:1.2",
                            "version": "1.1"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.1"
                        }
                    },
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Fuse 7.2 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.2 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.2.0,java:8,xpaas:1.2",
                            "version": "1.2"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Fuse 7.3 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.3 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.3.0,java:8,xpaas:1.2",
                            "version": "1.3"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Fuse 7.4 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.4 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.4.0,java:8,xpaas:1.2",
                            "version": "1.4"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Fuse 7.5 Java S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.5 Java",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.5.0,java:8,xpaas:1.2",
                            "version": "1.5"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-java-openshift:1.5"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fuse7-karaf-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7 Karaf",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.0"
                        }
                    },
                    {
                        "name": "1.1",
                        "annotations": {
                            "description": "Red Hat Fuse 7.1 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.1 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.1.0,java:8,xpaas:1.2",
                            "version": "1.1"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.1"
                        }
                    },
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Fuse 7.2 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.2 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.2.0,java:8,xpaas:1.2",
                            "version": "1.2"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Fuse 7.3 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.3 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.3.0,java:8,xpaas:1.2",
                            "version": "1.3"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Fuse 7.4 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.4 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.4.0,java:8,xpaas:1.2",
                            "version": "1.4"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Fuse 7.5 Karaf S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.5 Karaf",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,karaf,xpaas,hidden",
                            "supports":"jboss-fuse:7.5.0,java:8,xpaas:1.2",
                            "version": "1.5"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-karaf-openshift:1.5"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fuse7-eap-openshift",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7 EAP",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.0"
                        }
                    },
                    {
                        "name": "1.1",
                        "annotations": {
                            "description": "Red Hat Fuse 7.1 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.1 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.1.0,java:8,xpaas:1.2",
                            "version": "1.1"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.1"
                        }
                    },
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Fuse 7.2 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.2 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.2.0,java:8,xpaas:1.2",
                            "version": "1.2"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Fuse 7.3 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.3 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.3.0,java:8,xpaas:1.2",
                            "version": "1.3"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Fuse 7.4 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.4 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.4.0,java:8,xpaas:1.2",
                            "version": "1.4"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Fuse 7.5 EAP S2I images.",
                            "openshift.io/display-name": "Red Hat Fuse 7.5 EAP",
                            "iconClass": "icon-rh-integration",
                            "tags": "builder,jboss-fuse,java,eap,xpaas,hidden",
                            "supports":"jboss-fuse:7.5.0,java:8,xpaas:1.2",
                            "version": "1.5"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-eap-openshift:1.5"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fuse7-console",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse 7 Console",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.0",
                        "annotations": {
                            "description": "Red Hat Fuse 7.0 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.0 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.0.0,java:8,xpaas:1.2",
                            "version": "1.0"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.0"
                        }
                    },
                    {
                        "name": "1.1",
                        "annotations": {
                            "description": "Red Hat Fuse 7.1 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.1 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.1.0,java:8,xpaas:1.2",
                            "version": "1.1"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.1"
                        }
                    },
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Fuse 7.2 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.2 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.2.0,java:8,xpaas:1.2",
                            "version": "1.2"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Fuse 7.3 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.3 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.3.0,java:8,xpaas:1.2",
                            "version": "1.3"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Fuse 7.4 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.4 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.4.0,java:8,xpaas:1.2",
                            "version": "1.4"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Fuse 7.5 Console image.",
                            "openshift.io/display-name": "Red Hat Fuse 7.5 Console",
                            "iconClass": "icon-rh-integration",
                            "tags": "jboss-fuse,hawtio,java,xpaas,hidden",
                            "supports":"jboss-fuse:7.5.0,java:8,xpaas:1.2",
                            "version": "1.5"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-console:1.5"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "apicurito-ui",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Apicurito UI",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Apicurito UI image.",
                            "openshift.io/display-name": "Red Hat Apicurito UI",
                            "tags": "apicurio,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Apicurito UI image.",
                            "openshift.io/display-name": "Red Hat Apicurito UI",
                            "tags": "apicurio,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Apicurito UI image.",
                            "openshift.io/display-name": "Red Hat Apicurito UI",
                            "tags": "apicurio,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Apicurito UI image.",
                            "openshift.io/display-name": "Red Hat Apicurito UI",
                            "tags": "apicurio,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito:1.5"
                        }
                    }
                ]
            }
        },
        {
            "kind": "ImageStream",
            "apiVersion": "v1",
            "metadata": {
                "name": "fuse-apicurito-generator",
                "annotations": {
                    "openshift.io/display-name": "Red Hat Fuse Apicurito Generator",
                    "openshift.io/provider-display-name": "Red Hat, Inc."
                }
            },
            "spec": {
                "tags": [
                    {
                        "name": "1.2",
                        "annotations": {
                            "description": "Red Hat Apicurito Generator image.",
                            "openshift.io/display-name": "Red Hat Apicurito Generator",
                            "tags": "apicurio,fuse,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito-generator:1.2"
                        }
                    },
                    {
                        "name": "1.3",
                        "annotations": {
                            "description": "Red Hat Apicurito Generator image.",
                            "openshift.io/display-name": "Red Hat Apicurito Generator",
                            "tags": "apicurio,fuse,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito-generator:1.3"
                        }
                    },
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Apicurito Generator image.",
                            "openshift.io/display-name": "Red Hat Apicurito Generator",
                            "tags": "apicurio,fuse,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito-generator:1.4"
                        }
                    },
                    {
                        "name": "1.5",
                        "annotations": {
                            "description": "Red Hat Apicurito Generator image.",
                            "openshift.io/display-name": "Red Hat Apicurito Generator",
                            "tags": "apicurio,fuse,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito-generator:1.5"
                        }
                    }
                ]
            }
        }
    ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/fuse-imagepuller.yml
New file
@@ -0,0 +1,16 @@
---
apiVersion: batch/v1
kind: Job
metadata:
  name: image-puller
spec:
  template:
    spec:
      containers:
        - name: fuse7-java-openshift
          image: image-registry.openshift-image-registry.svc:5000/openshift/fuse7-java-openshift:1.5
          command:
            - "/bin/bash"
            - "-c"
            - "echo Pre-pulled image"
      restartPolicy: OnFailure
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-amq-template.json
New file
@@ -0,0 +1,560 @@
{
  "kind": "Template",
  "apiVersion": "template.openshift.io/v1",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel A-MQ with EAP",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Red Hat Fuse on EAP Camel A-MQ quickstart. This example demonstrates using the camel-activemq component to connect to A-MQ xPaaS message broker running in OpenShift. It is assumed that the broker is already deployed. More more information, refer to the documentation for the A-MQ xPaaS image related to the amq63-basic template.",
      "tags": "quickstart,javaee,java,jboss-fuse,fis",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-eap-camel-amq"
  },
  "labels": {
    "template": "s2i-fuse75-eap-camel-amq"
  },
  "parameters": [
    {
      "displayName": "Application Name",
      "description": "The name for the application.",
      "name": "APP_NAME",
      "value": "s2i-fuse75-eap-camel-amq",
      "required": true
    },
    {
      "displayName": "Application Version",
      "description": "The application version.",
      "name": "APP_VERSION",
      "value": "5.3.0.fuse-750028-redhat-00002",
      "required": true
    },
    {
      "displayName": "Custom http Route Hostname.",
      "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
      "name": "HOSTNAME_HTTP",
      "value": "",
      "required": false
    },
    {
      "displayName": "Git Repository URL",
      "description": "Git source URI for application.",
      "name": "GIT_REPO",
      "value": "https://github.com/jboss-fuse/wildfly-camel-examples.git",
      "required": true
    },
    {
      "displayName": "Git Reference",
      "description": "Git branch/tag reference",
      "name": "GIT_REF",
      "value": "wildfly-camel-examples-5.3.0.fuse-750028-redhat-00002",
      "required": false
    },
    {
      "displayName": "Context Directory",
      "description": "Path within Git project to build; empty for root project directory.",
      "name": "CONTEXT_DIR",
      "value": "",
      "required": false
    },
    {
      "displayName": "Builder version",
      "description": "The version of the FIS S2I builder image to use.",
      "name": "BUILDER_VERSION",
      "value": "1.5"
    },
    {
      "displayName": "A-MQ Service Prefix",
      "description": "The prefix of the TCP service for the A-MQ broker without the protocol part. E.g for broker-amq-tcp the prefix is broker-amq. You may need to create a broker first.",
      "name": "MQ_SERVICE_PREFIX",
      "value": "broker-amq",
      "required": true
    },
    {
      "displayName": "A-MQ Username",
      "description": "The username used to authenticate with the broker. Leave it empty if authentication is disabled.",
      "name": "MQ_USERNAME"
    },
    {
      "displayName": "A-MQ Password",
      "description": "The password used to authenticate with the broker. Leave it empty if authentication is disabled.",
      "name": "MQ_PASSWORD"
    },
    {
      "displayName": "JMS Connection Factory JNDI Name",
      "description": "JNDI name for connection factory used by applications to connect to the broker, e.g. java:/ActiveMQConnectionFactory",
      "name": "MQ_JNDI",
      "value": "java:/ActiveMQConnectionFactory",
      "required": false
    },
    {
      "displayName": "Queues",
      "description": "Queue names.",
      "name": "MQ_QUEUES",
      "value": "",
      "required": false
    },
    {
      "displayName": "Topics",
      "description": "Topic names.",
      "name": "MQ_TOPICS",
      "value": "",
      "required": false
    },
    {
      "displayName": "A-MQ cluster password",
      "description": "A-MQ cluster admin password.",
      "name": "MQ_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Github Webhook Secret",
      "description": "GitHub trigger secret.",
      "name": "GITHUB_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Generic Webhook Secret",
      "description": "Generic build trigger secret.",
      "name": "GENERIC_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "ImageStream Namespace",
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.",
      "name": "IMAGE_STREAM_NAMESPACE",
      "value": "openshift",
      "required": true
    },
    {
      "displayName": "JGroups Cluster Password",
      "description": "JGroups cluster password.",
      "name": "JGROUPS_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Deploy Exploded Archives",
      "description": "Controls whether exploded deployment content should be automatically deployed.",
      "name": "AUTO_DEPLOY_EXPLODED",
      "value": "false",
      "required": false
    },
    {
      "displayName": "Maven Arguments To Append",
      "description": "Additional arguments passed to mvn, e.g. for multi-module builds.",
      "name": "MAVEN_ARGS_APPEND",
      "value": "-pl camel-activemq -am",
      "required": false
    },
    {
      "displayName": "Maven mirror URL",
      "description": "Maven mirror to use for S2I builds.",
      "name": "MAVEN_MIRROR_URL",
      "value": "",
      "required": false
    },
    {
      "displayName": "Artifact Directories",
      "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
      "name": "ARTIFACT_DIR",
      "value": "camel-activemq/target",
      "required": false
    },
    {
      "displayName": "CPU request",
      "description": "The amount of CPU to request.",
      "name": "CPU_REQUEST",
      "value": "0.2",
      "required": true
    },
    {
      "displayName": "CPU limit",
      "description": "The amount of CPU the container is limited to use.",
      "name": "CPU_LIMIT",
      "value": "1.0",
      "required": true
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "1Gi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
        "ports": [
          {
            "port": 8080,
            "targetPort": 8080
          }
        ],
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        }
      },
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "The web server's http port."
        }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "clusterIP": "None",
          "ports": [
              {
                  "name": "ping",
                  "port": 8888
              }
          ],
          "selector": {
              "deploymentConfig": "${APP_NAME}"
          }
      },
      "metadata": {
          "name": "${APP_NAME}-ping",
          "labels": {
            "app": "${APP_NAME}",
            "container": "eap",
            "component": "${APP_NAME}",
            "provider": "s2i",
            "version": "${APP_VERSION}",
            "group": "quickstarts"
          },
          "annotations": {
              "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true",
              "description": "The JGroups ping port for clustering."
          }
      }
    },
    {
      "kind": "Route",
      "apiVersion": "v1",
      "id": "${APP_NAME}-http",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "Route for application's http service."
        }
      },
      "spec": {
        "host": "${HOSTNAME_HTTP}",
        "to": {
          "name": "${APP_NAME}"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}"
        }
      },
      "spec": {
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          },
          "contextDir": "${CONTEXT_DIR}"
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "env": [
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              },
              {
                "name": "MAVEN_MIRROR_URL",
                "value": "${MAVEN_MIRROR_URL}"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              }
            ],
            "forcePull": true,
            "incremental": true,
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-eap-openshift:${BUILDER_VERSION}"
            }
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        },
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${GITHUB_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${GENERIC_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          },
          {
            "type": "ConfigChange"
          }
        ]
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}",
            "labels": {
              "deploymentConfig": "${APP_NAME}",
              "app": "${APP_NAME}",
              "container": "eap",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 75,
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "${APP_NAME}",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/livenessProbe.sh"
                    ]
                  },
                  "initialDelaySeconds": 60
                },
                "readinessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/readinessProbe.sh"
                    ]
                  }
                },
                "ports": [
                  {
                    "name": "jolokia",
                    "containerPort": 8778,
                    "protocol": "TCP"
                  },
                  {
                    "name": "http",
                    "containerPort": 8080,
                    "protocol": "TCP"
                  },
                  {
                    "name": "ping",
                    "containerPort": 8888,
                    "protocol": "TCP"
                  }
                ],
                "env": [
                  {
                    "name": "JGROUPS_PING_PROTOCOL",
                    "value": "openshift.DNS_PING"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                    "value": "${APP_NAME}-ping"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                    "value": "8888"
                  },
                  {
                    "name": "MQ_SERVICE_PREFIX_MAPPING",
                    "value": "${MQ_SERVICE_PREFIX}=MQ"
                  },
                  {
                    "name": "MQ_QUEUES",
                    "value": "${MQ_QUEUES}"
                  },
                  {
                    "name": "MQ_TOPICS",
                    "value": "${MQ_TOPICS}"
                  },
                  {
                    "name": "MQ_USERNAME",
                    "value": "${MQ_USERNAME}"
                  },
                  {
                    "name": "MQ_PASSWORD",
                    "value": "${MQ_PASSWORD}"
                  },
                  {
                    "name": "MQ_JNDI",
                    "value": "${MQ_JNDI}"
                  },
                  {
                    "name": "MQ_PROTOCOL",
                    "value": "tcp"
                  },
                  {
                    "name": "JGROUPS_CLUSTER_PASSWORD",
                    "value": "${JGROUPS_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "AUTO_DEPLOY_EXPLODED",
                    "value": "${AUTO_DEPLOY_EXPLODED}"
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cdi-template.json
New file
@@ -0,0 +1,525 @@
{
  "kind": "Template",
  "apiVersion": "template.openshift.io/v1",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel CDI with EAP",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Red Hat Fuse on EAP Camel CDI quickstart. This example demonstrates using the camel-cdi component to integrate CDI beans with Camel routes.",
      "tags": "quickstart,javaee,java,jboss-fuse,fis",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-eap-camel-cdi"
  },
  "labels": {
    "template": "s2i-fuse75-eap-camel-cdi"
  },
  "parameters": [
    {
      "displayName": "Application Name",
      "description": "The name for the application.",
      "name": "APP_NAME",
      "value": "s2i-fuse75-eap-camel-cdi",
      "required": true
    },
    {
      "displayName": "Application Version",
      "description": "The application version.",
      "name": "APP_VERSION",
      "value": "5.3.0.fuse-750028-redhat-00002",
      "required": true
    },
    {
      "displayName": "Custom http Route Hostname.",
      "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
      "name": "HOSTNAME_HTTP",
      "value": "",
      "required": false
    },
    {
      "displayName": "Git Repository URL",
      "description": "Git source URI for application.",
      "name": "GIT_REPO",
      "value": "https://github.com/jboss-fuse/wildfly-camel-examples.git",
      "required": true
    },
    {
      "displayName": "Git Reference",
      "description": "Git branch/tag reference",
      "name": "GIT_REF",
      "value": "wildfly-camel-examples-5.3.0.fuse-750028-redhat-00002",
      "required": false
    },
    {
      "displayName": "Context Directory",
      "description": "Path within Git project to build; empty for root project directory.",
      "name": "CONTEXT_DIR",
      "value": "",
      "required": false
    },
    {
      "displayName": "Builder version",
      "description": "The version of the FIS S2I builder image to use.",
      "name": "BUILDER_VERSION",
      "value": "1.5"
    },
    {
      "displayName": "Queues",
      "description": "Queue names.",
      "name": "MQ_QUEUES",
      "value": "",
      "required": false
    },
    {
      "displayName": "Topics",
      "description": "Topic names.",
      "name": "MQ_TOPICS",
      "value": "",
      "required": false
    },
    {
      "displayName": "A-MQ cluster password",
      "description": "A-MQ cluster admin password.",
      "name": "MQ_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Github Webhook Secret",
      "description": "GitHub trigger secret.",
      "name": "GITHUB_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Generic Webhook Secret",
      "description": "Generic build trigger secret.",
      "name": "GENERIC_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "ImageStream Namespace",
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.",
      "name": "IMAGE_STREAM_NAMESPACE",
      "value": "openshift",
      "required": true
    },
    {
      "displayName": "JGroups Cluster Password",
      "description": "JGroups cluster password.",
      "name": "JGROUPS_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Deploy Exploded Archives",
      "description": "Controls whether exploded deployment content should be automatically deployed.",
      "name": "AUTO_DEPLOY_EXPLODED",
      "value": "false",
      "required": false
    },
    {
      "displayName": "Maven Arguments To Append",
      "description": "Additional arguments passed to mvn, e.g. for multi-module builds.",
      "name": "MAVEN_ARGS_APPEND",
      "value": "-pl camel-cdi -am",
      "required": false
    },
    {
      "displayName": "Maven mirror URL",
      "description": "Maven mirror to use for S2I builds.",
      "name": "MAVEN_MIRROR_URL",
      "value": "",
      "required": false
    },
    {
      "displayName": "Artifact Directories",
      "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
      "name": "ARTIFACT_DIR",
      "value": "camel-cdi/target",
      "required": false
    },
    {
      "displayName": "CPU request",
      "description": "The amount of CPU to request.",
      "name": "CPU_REQUEST",
      "value": "0.2",
      "required": true
    },
    {
      "displayName": "CPU limit",
      "description": "The amount of CPU the container is limited to use.",
      "name": "CPU_LIMIT",
      "value": "1.0",
      "required": true
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "1Gi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
        "ports": [
          {
            "port": 8080,
            "targetPort": 8080
          }
        ],
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        }
      },
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "The web server's http port."
        }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "clusterIP": "None",
          "ports": [
              {
                  "name": "ping",
                  "port": 8888
              }
          ],
          "selector": {
              "deploymentConfig": "${APP_NAME}"
          }
      },
      "metadata": {
          "name": "${APP_NAME}-ping",
          "labels": {
            "app": "${APP_NAME}",
            "container": "eap",
            "component": "${APP_NAME}",
            "provider": "s2i",
            "version": "${APP_VERSION}",
            "group": "quickstarts"
          },
          "annotations": {
              "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true",
              "description": "The JGroups ping port for clustering."
          }
      }
    },
    {
      "kind": "Route",
      "apiVersion": "v1",
      "id": "${APP_NAME}-http",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "Route for application's http service."
        }
      },
      "spec": {
        "host": "${HOSTNAME_HTTP}",
        "to": {
          "name": "${APP_NAME}"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          },
          "contextDir": "${CONTEXT_DIR}"
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "env": [
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              },
              {
                "name": "MAVEN_MIRROR_URL",
                "value": "${MAVEN_MIRROR_URL}"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              }
            ],
            "forcePull": true,
            "incremental": true,
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-eap-openshift:${BUILDER_VERSION}"
            }
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        },
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${GITHUB_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${GENERIC_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          },
          {
            "type": "ConfigChange"
          }
        ]
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}",
            "labels": {
              "deploymentConfig": "${APP_NAME}",
              "app": "${APP_NAME}",
              "container": "eap",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 75,
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "${APP_NAME}",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/livenessProbe.sh"
                    ]
                  },
                  "initialDelaySeconds": 60
                },
                "readinessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/readinessProbe.sh"
                    ]
                  }
                },
                "ports": [
                  {
                    "name": "jolokia",
                    "containerPort": 8778,
                    "protocol": "TCP"
                  },
                  {
                    "name": "http",
                    "containerPort": 8080,
                    "protocol": "TCP"
                  },
                  {
                    "name": "ping",
                    "containerPort": 8888,
                    "protocol": "TCP"
                  }
                ],
                "env": [
                  {
                    "name": "JGROUPS_PING_PROTOCOL",
                    "value": "openshift.DNS_PING"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                    "value": "${APP_NAME}-ping"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                    "value": "8888"
                  },
                  {
                    "name": "MQ_CLUSTER_PASSWORD",
                    "value": "${MQ_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "MQ_QUEUES",
                    "value": "${MQ_QUEUES}"
                  },
                  {
                    "name": "MQ_TOPICS",
                    "value": "${MQ_TOPICS}"
                  },
                  {
                    "name": "JGROUPS_CLUSTER_PASSWORD",
                    "value": "${JGROUPS_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "AUTO_DEPLOY_EXPLODED",
                    "value": "${AUTO_DEPLOY_EXPLODED}"
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cxf-jaxrs-template.json
New file
@@ -0,0 +1,525 @@
{
  "kind": "Template",
  "apiVersion": "template.openshift.io/v1",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel CXF JAX-RS with EAP",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Red Hat Fuse on EAP Camel CXF JAX-RS quickstart. This example demonstrates using the camel-cxf component to produce and consume JAX-RS REST services.",
      "tags": "quickstart,javaee,java,jboss-fuse,fis",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-eap-camel-cxf-jaxrs"
  },
  "labels": {
    "template": "s2i-fuse75-eap-camel-cxf-jaxrs"
  },
  "parameters": [
    {
      "displayName": "Application Name",
      "description": "The name for the application.",
      "name": "APP_NAME",
      "value": "s2i-fuse75-eap-camel-cxf-jaxrs",
      "required": true
    },
    {
      "displayName": "Application Version",
      "description": "The application version.",
      "name": "APP_VERSION",
      "value": "5.3.0.fuse-750028-redhat-00002",
      "required": true
    },
    {
      "displayName": "Custom http Route Hostname.",
      "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
      "name": "HOSTNAME_HTTP",
      "value": "",
      "required": false
    },
    {
      "displayName": "Git Repository URL",
      "description": "Git source URI for application.",
      "name": "GIT_REPO",
      "value": "https://github.com/jboss-fuse/wildfly-camel-examples.git",
      "required": true
    },
    {
      "displayName": "Git Reference",
      "description": "Git branch/tag reference",
      "name": "GIT_REF",
      "value": "wildfly-camel-examples-5.3.0.fuse-750028-redhat-00002",
      "required": false
    },
    {
      "displayName": "Context Directory",
      "description": "Path within Git project to build; empty for root project directory.",
      "name": "CONTEXT_DIR",
      "value": "",
      "required": false
    },
    {
      "displayName": "Builder version",
      "description": "The version of the FIS S2I builder image to use.",
      "name": "BUILDER_VERSION",
      "value": "1.5"
    },
    {
      "displayName": "Queues",
      "description": "Queue names.",
      "name": "MQ_QUEUES",
      "value": "",
      "required": false
    },
    {
      "displayName": "Topics",
      "description": "Topic names.",
      "name": "MQ_TOPICS",
      "value": "",
      "required": false
    },
    {
      "displayName": "A-MQ cluster password",
      "description": "A-MQ cluster admin password.",
      "name": "MQ_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Github Webhook Secret",
      "description": "GitHub trigger secret.",
      "name": "GITHUB_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Generic Webhook Secret",
      "description": "Generic build trigger secret.",
      "name": "GENERIC_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "ImageStream Namespace",
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.",
      "name": "IMAGE_STREAM_NAMESPACE",
      "value": "openshift",
      "required": true
    },
    {
      "displayName": "JGroups Cluster Password",
      "description": "JGroups cluster password.",
      "name": "JGROUPS_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Deploy Exploded Archives",
      "description": "Controls whether exploded deployment content should be automatically deployed.",
      "name": "AUTO_DEPLOY_EXPLODED",
      "value": "false",
      "required": false
    },
    {
      "displayName": "Maven Arguments To Append",
      "description": "Additional arguments passed to mvn, e.g. for multi-module builds.",
      "name": "MAVEN_ARGS_APPEND",
      "value": "-pl camel-cxf-jaxrs -am",
      "required": false
    },
    {
      "displayName": "Maven mirror URL",
      "description": "Maven mirror to use for S2I builds.",
      "name": "MAVEN_MIRROR_URL",
      "value": "",
      "required": false
    },
    {
      "displayName": "Artifact Directories",
      "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
      "name": "ARTIFACT_DIR",
      "value": "camel-cxf-jaxrs/target",
      "required": false
    },
    {
      "displayName": "CPU request",
      "description": "The amount of CPU to request.",
      "name": "CPU_REQUEST",
      "value": "0.2",
      "required": true
    },
    {
      "displayName": "CPU limit",
      "description": "The amount of CPU the container is limited to use.",
      "name": "CPU_LIMIT",
      "value": "1.0",
      "required": true
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "1Gi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
        "ports": [
          {
            "port": 8080,
            "targetPort": 8080
          }
        ],
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        }
      },
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "The web server's http port."
        }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "clusterIP": "None",
          "ports": [
              {
                  "name": "ping",
                  "port": 8888
              }
          ],
          "selector": {
              "deploymentConfig": "${APP_NAME}"
          }
      },
      "metadata": {
          "name": "${APP_NAME}-ping",
          "labels": {
            "app": "${APP_NAME}",
            "container": "eap",
            "component": "${APP_NAME}",
            "provider": "s2i",
            "version": "${APP_VERSION}",
            "group": "quickstarts"
          },
          "annotations": {
              "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true",
              "description": "The JGroups ping port for clustering."
          }
      }
    },
    {
      "kind": "Route",
      "apiVersion": "v1",
      "id": "${APP_NAME}-http",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "Route for application's http service."
        }
      },
      "spec": {
        "host": "${HOSTNAME_HTTP}",
        "to": {
          "name": "${APP_NAME}"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          },
          "contextDir": "${CONTEXT_DIR}"
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "env": [
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              },
              {
                "name": "MAVEN_MIRROR_URL",
                "value": "${MAVEN_MIRROR_URL}"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              }
            ],
            "forcePull": true,
            "incremental": true,
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-eap-openshift:${BUILDER_VERSION}"
            }
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        },
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${GITHUB_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${GENERIC_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          },
          {
            "type": "ConfigChange"
          }
        ]
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}",
            "labels": {
              "deploymentConfig": "${APP_NAME}",
              "app": "${APP_NAME}",
              "container": "eap",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 75,
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "${APP_NAME}",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/livenessProbe.sh"
                    ]
                  },
                  "initialDelaySeconds": 60
                },
                "readinessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/readinessProbe.sh"
                    ]
                  }
                },
                "ports": [
                  {
                    "name": "jolokia",
                    "containerPort": 8778,
                    "protocol": "TCP"
                  },
                  {
                    "name": "http",
                    "containerPort": 8080,
                    "protocol": "TCP"
                  },
                  {
                    "name": "ping",
                    "containerPort": 8888,
                    "protocol": "TCP"
                  }
                ],
                "env": [
                  {
                    "name": "JGROUPS_PING_PROTOCOL",
                    "value": "openshift.DNS_PING"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                    "value": "${APP_NAME}-ping"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                    "value": "8888"
                  },
                  {
                    "name": "MQ_CLUSTER_PASSWORD",
                    "value": "${MQ_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "MQ_QUEUES",
                    "value": "${MQ_QUEUES}"
                  },
                  {
                    "name": "MQ_TOPICS",
                    "value": "${MQ_TOPICS}"
                  },
                  {
                    "name": "JGROUPS_CLUSTER_PASSWORD",
                    "value": "${JGROUPS_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "AUTO_DEPLOY_EXPLODED",
                    "value": "${AUTO_DEPLOY_EXPLODED}"
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-cxf-jaxws-template.json
New file
@@ -0,0 +1,525 @@
{
  "kind": "Template",
  "apiVersion": "template.openshift.io/v1",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel CXF JAX-WS with EAP",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Red Hat Fuse on EAP Camel CXF JAX-WS quickstart. This example demonstrates using the camel-cxf component to produce and consume JAX-WS web services.",
      "tags": "quickstart,javaee,java,jboss-fuse,fis",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-eap-camel-cxf-jaxws"
  },
  "labels": {
    "template": "s2i-fuse75-eap-camel-cxf-jaxws"
  },
  "parameters": [
    {
      "displayName": "Application Name",
      "description": "The name for the application.",
      "name": "APP_NAME",
      "value": "s2i-fuse75-eap-camel-cxf-jaxws",
      "required": true
    },
    {
      "displayName": "Application Version",
      "description": "The application version.",
      "name": "APP_VERSION",
      "value": "5.3.0.fuse-750028-redhat-00002",
      "required": true
    },
    {
      "displayName": "Custom http Route Hostname.",
      "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
      "name": "HOSTNAME_HTTP",
      "value": "",
      "required": false
    },
    {
      "displayName": "Git Repository URL",
      "description": "Git source URI for application.",
      "name": "GIT_REPO",
      "value": "https://github.com/jboss-fuse/wildfly-camel-examples.git",
      "required": true
    },
    {
      "displayName": "Git Reference",
      "description": "Git branch/tag reference",
      "name": "GIT_REF",
      "value": "wildfly-camel-examples-5.3.0.fuse-750028-redhat-00002",
      "required": false
    },
    {
      "displayName": "Context Directory",
      "description": "Path within Git project to build; empty for root project directory.",
      "name": "CONTEXT_DIR",
      "value": "",
      "required": false
    },
    {
      "displayName": "Builder version",
      "description": "The version of the FIS S2I builder image to use.",
      "name": "BUILDER_VERSION",
      "value": "1.5"
    },
    {
      "displayName": "Queues",
      "description": "Queue names.",
      "name": "MQ_QUEUES",
      "value": "",
      "required": false
    },
    {
      "displayName": "Topics",
      "description": "Topic names.",
      "name": "MQ_TOPICS",
      "value": "",
      "required": false
    },
    {
      "displayName": "A-MQ cluster password",
      "description": "A-MQ cluster admin password.",
      "name": "MQ_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Github Webhook Secret",
      "description": "GitHub trigger secret.",
      "name": "GITHUB_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Generic Webhook Secret",
      "description": "Generic build trigger secret.",
      "name": "GENERIC_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "ImageStream Namespace",
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.",
      "name": "IMAGE_STREAM_NAMESPACE",
      "value": "openshift",
      "required": true
    },
    {
      "displayName": "JGroups Cluster Password",
      "description": "JGroups cluster password.",
      "name": "JGROUPS_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Deploy Exploded Archives",
      "description": "Controls whether exploded deployment content should be automatically deployed.",
      "name": "AUTO_DEPLOY_EXPLODED",
      "value": "false",
      "required": false
    },
    {
      "displayName": "Maven Arguments To Append",
      "description": "Additional arguments passed to mvn, e.g. for multi-module builds.",
      "name": "MAVEN_ARGS_APPEND",
      "value": "-pl camel-cxf-jaxws -am",
      "required": false
    },
    {
      "displayName": "Maven mirror URL",
      "description": "Maven mirror to use for S2I builds.",
      "name": "MAVEN_MIRROR_URL",
      "value": "",
      "required": false
    },
    {
      "displayName": "Artifact Directories",
      "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
      "name": "ARTIFACT_DIR",
      "value": "camel-cxf-jaxws/target",
      "required": false
    },
    {
      "displayName": "CPU request",
      "description": "The amount of CPU to request.",
      "name": "CPU_REQUEST",
      "value": "0.2",
      "required": true
    },
    {
      "displayName": "CPU limit",
      "description": "The amount of CPU the container is limited to use.",
      "name": "CPU_LIMIT",
      "value": "1.0",
      "required": true
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "1Gi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
        "ports": [
          {
            "port": 8080,
            "targetPort": 8080
          }
        ],
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        }
      },
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "The web server's http port."
        }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "clusterIP": "None",
          "ports": [
              {
                  "name": "ping",
                  "port": 8888
              }
          ],
          "selector": {
              "deploymentConfig": "${APP_NAME}"
          }
      },
      "metadata": {
          "name": "${APP_NAME}-ping",
          "labels": {
            "app": "${APP_NAME}",
            "container": "eap",
            "component": "${APP_NAME}",
            "provider": "s2i",
            "version": "${APP_VERSION}",
            "group": "quickstarts"
          },
          "annotations": {
              "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true",
              "description": "The JGroups ping port for clustering."
          }
      }
    },
    {
      "kind": "Route",
      "apiVersion": "v1",
      "id": "${APP_NAME}-http",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "Route for application's http service."
        }
      },
      "spec": {
        "host": "${HOSTNAME_HTTP}",
        "to": {
          "name": "${APP_NAME}"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          },
          "contextDir": "${CONTEXT_DIR}"
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "env": [
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              },
              {
                "name": "MAVEN_MIRROR_URL",
                "value": "${MAVEN_MIRROR_URL}"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              }
            ],
            "forcePull": true,
            "incremental": true,
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-eap-openshift:${BUILDER_VERSION}"
            }
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        },
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${GITHUB_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${GENERIC_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          },
          {
            "type": "ConfigChange"
          }
        ]
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}",
            "labels": {
              "deploymentConfig": "${APP_NAME}",
              "app": "${APP_NAME}",
              "container": "eap",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 75,
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "${APP_NAME}",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/livenessProbe.sh"
                    ]
                  },
                  "initialDelaySeconds": 60
                },
                "readinessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/readinessProbe.sh"
                    ]
                  }
                },
                "ports": [
                  {
                    "name": "jolokia",
                    "containerPort": 8778,
                    "protocol": "TCP"
                  },
                  {
                    "name": "http",
                    "containerPort": 8080,
                    "protocol": "TCP"
                  },
                  {
                    "name": "ping",
                    "containerPort": 8888,
                    "protocol": "TCP"
                  }
                ],
                "env": [
                  {
                    "name": "JGROUPS_PING_PROTOCOL",
                    "value": "openshift.DNS_PING"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                    "value": "${APP_NAME}-ping"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                    "value": "8888"
                  },
                  {
                    "name": "MQ_CLUSTER_PASSWORD",
                    "value": "${MQ_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "MQ_QUEUES",
                    "value": "${MQ_QUEUES}"
                  },
                  {
                    "name": "MQ_TOPICS",
                    "value": "${MQ_TOPICS}"
                  },
                  {
                    "name": "JGROUPS_CLUSTER_PASSWORD",
                    "value": "${JGROUPS_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "AUTO_DEPLOY_EXPLODED",
                    "value": "${AUTO_DEPLOY_EXPLODED}"
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/eap-camel-jpa-template.json
New file
@@ -0,0 +1,798 @@
{
  "kind": "Template",
  "apiVersion": "template.openshift.io/v1",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel JPA + MySQL (Ephemeral) with EAP",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Red Hat Fuse on EAP Camel JPA quickstart. This example demonstrates how to connect a Camel application with Red Hat Fuse on EAP to a MySQL database and expose a REST API. This example creates two containers, one container to run as a MySQL server, and another running the Camel application which acts as as a client to the database.",
      "tags": "quickstart,javaee,java,jboss-fuse,fis",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-eap-camel-jpa"
  },
  "labels": {
    "template": "s2i-fuse75-eap-camel-jpa"
  },
  "parameters": [
    {
      "displayName": "Application Name",
      "description": "The name for the application.",
      "name": "APP_NAME",
      "value": "s2i-fuse75-eap-camel-jpa",
      "required": true
    },
    {
      "displayName": "Application Version",
      "description": "The application version.",
      "name": "APP_VERSION",
      "value": "5.3.0.fuse-750028-redhat-00002",
      "required": true
    },
    {
      "displayName": "Custom http Route Hostname.",
      "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
      "name": "HOSTNAME_HTTP",
      "value": "",
      "required": false
    },
    {
      "displayName": "Git Repository URL",
      "description": "Git source URI for application.",
      "name": "GIT_REPO",
      "value": "https://github.com/jboss-fuse/wildfly-camel-examples.git",
      "required": true
    },
    {
      "displayName": "Git Reference",
      "description": "Git branch/tag reference",
      "name": "GIT_REF",
      "value": "wildfly-camel-examples-5.3.0.fuse-750028-redhat-00002",
      "required": false
    },
    {
      "displayName": "Context Directory",
      "description": "Path within Git project to build; empty for root project directory.",
      "name": "CONTEXT_DIR",
      "value": "",
      "required": false
    },
    {
      "displayName": "Builder version",
      "description": "The version of the FIS S2I builder image to use.",
      "name": "BUILDER_VERSION",
      "value": "1.5"
    },
    {
      "displayName": "Database JNDI Name",
      "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/OrdersDS",
      "name": "DB_JNDI",
      "value": "java:jboss/datasources/OrdersDS",
      "required": false
    },
    {
      "displayName": "Database Name",
      "description": "Database name",
      "name": "DB_DATABASE",
      "value": "orders_db",
      "required": true
    },
    {
      "displayName": "Database Username",
      "description": "Database user name",
      "name": "DB_USERNAME",
      "from": "user[a-zA-Z0-9]{3}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Database Password",
      "description": "Database user password",
      "name": "DB_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Datasource Minimum Pool Size",
      "description": "Sets xa-pool/min-pool-size for the configured datasource.",
      "name": "DB_MIN_POOL_SIZE",
      "required": false
    },
    {
      "displayName": "Datasource Maximum Pool Size",
      "description": "Sets xa-pool/max-pool-size for the configured datasource.",
      "name": "DB_MAX_POOL_SIZE",
      "required": false
    },
    {
      "displayName": "Datasource Transaction Isolation",
      "description": "Sets transaction-isolation for the configured datasource.",
      "name": "DB_TX_ISOLATION",
      "required": false
    },
    {
      "displayName": "MySQL Lower Case Table Names",
      "description": "Sets how the table names are stored and compared.",
      "name": "MYSQL_LOWER_CASE_TABLE_NAMES",
      "required": false
    },
    {
      "displayName": "MySQL Maximum number of connections",
      "description": "The maximum permitted number of simultaneous client connections.",
      "name": "MYSQL_MAX_CONNECTIONS",
      "required": false
    },
    {
      "displayName": "MySQL FullText Minimum Word Length",
      "description": "The minimum length of the word to be included in a FULLTEXT index.",
      "name": "MYSQL_FT_MIN_WORD_LEN",
      "required": false
    },
    {
      "displayName": "MySQL FullText Maximum Word Length",
      "description": "The maximum length of the word to be included in a FULLTEXT index.",
      "name": "MYSQL_FT_MAX_WORD_LEN",
      "required": false
    },
    {
      "displayName": "MySQL AIO",
      "description": "Controls the innodb_use_native_aio setting value if the native AIO is broken.",
      "name": "MYSQL_AIO",
      "required": false
    },
    {
      "displayName": "MySQL Image Stream Tag",
      "description": "The tag to use for the \"mysql\" image stream.  Typically, this aligns with the major.minor version of MySQL.",
      "name": "MYSQL_IMAGE_STREAM_TAG",
      "value": "5.7",
      "required": true
    },
    {
      "displayName": "Queues",
      "description": "Queue names.",
      "name": "MQ_QUEUES",
      "value": "",
      "required": false
    },
    {
      "displayName": "Topics",
      "description": "Topic names.",
      "name": "MQ_TOPICS",
      "value": "",
      "required": false
    },
    {
      "displayName": "A-MQ cluster password",
      "description": "A-MQ cluster admin password.",
      "name": "MQ_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Github Webhook Secret",
      "description": "GitHub trigger secret.",
      "name": "GITHUB_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Generic Webhook Secret",
      "description": "Generic build trigger secret.",
      "name": "GENERIC_WEBHOOK_SECRET",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "ImageStream Namespace",
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.",
      "name": "IMAGE_STREAM_NAMESPACE",
      "value": "openshift",
      "required": true
    },
    {
      "displayName": "JGroups Cluster Password",
      "description": "JGroups cluster password.",
      "name": "JGROUPS_CLUSTER_PASSWORD",
      "from": "[a-zA-Z0-9]{8}",
      "generate": "expression",
      "required": true
    },
    {
      "displayName": "Deploy Exploded Archives",
      "description": "Controls whether exploded deployment content should be automatically deployed.",
      "name": "AUTO_DEPLOY_EXPLODED",
      "value": "false",
      "required": false
    },
    {
      "displayName": "Maven Arguments To Append",
      "description": "Additional arguments passed to mvn, e.g. for multi-module builds.",
      "name": "MAVEN_ARGS_APPEND",
      "value": "-pl camel-jpa -am",
      "required": false
    },
    {
      "displayName": "Maven mirror URL",
      "description": "Maven mirror to use for S2I builds.",
      "name": "MAVEN_MIRROR_URL",
      "value": "",
      "required": false
    },
    {
      "displayName": "Artifact Directories",
      "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
      "name": "ARTIFACT_DIR",
      "value": "camel-jpa/target",
      "required": false
    },
    {
      "displayName": "CPU request",
      "description": "The amount of CPU to request.",
      "name": "CPU_REQUEST",
      "value": "0.2",
      "required": true
    },
    {
      "displayName": "CPU limit",
      "description": "The amount of CPU the container is limited to use.",
      "name": "CPU_LIMIT",
      "value": "1.0",
      "required": true
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "1Gi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
        "ports": [
          {
            "port": 8080,
            "targetPort": 8080
          }
        ],
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        }
      },
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "The web server's http port."
        }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "clusterIP": "None",
          "ports": [
              {
                  "name": "ping",
                  "port": 8888
              }
          ],
          "selector": {
              "deploymentConfig": "${APP_NAME}"
          }
      },
      "metadata": {
          "name": "${APP_NAME}-ping",
          "labels": {
            "app": "${APP_NAME}",
            "container": "eap",
            "component": "${APP_NAME}",
            "provider": "s2i",
            "version": "${APP_VERSION}",
            "group": "quickstarts"
          },
          "annotations": {
              "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true",
              "description": "The JGroups ping port for clustering."
          }
      }
    },
    {
      "kind": "Service",
      "apiVersion": "v1",
      "spec": {
          "ports": [
            {
              "port": 3306,
              "targetPort": 3306
            }
          ],
          "selector": {
            "deploymentConfig": "${APP_NAME}-mysql"
          }
      },
      "metadata": {
        "name": "${APP_NAME}-mysql",
        "labels": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
          "annotations": {
            "description": "The database server's port."
          }
        }
    },
    {
      "kind": "Route",
      "apiVersion": "v1",
      "id": "${APP_NAME}-http",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "annotations": {
          "description": "Route for application's http service."
        }
      },
      "spec": {
        "host": "${HOSTNAME_HTTP}",
        "to": {
          "name": "${APP_NAME}"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          },
          "contextDir": "${CONTEXT_DIR}"
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "env": [
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              },
              {
                "name": "MAVEN_MIRROR_URL",
                "value": "${MAVEN_MIRROR_URL}"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "DB_JNDI",
                "value": "${DB_JNDI}"
              }
            ],
            "forcePull": true,
            "incremental": true,
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-eap-openshift:${BUILDER_VERSION}"
            }
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        },
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${GITHUB_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${GENERIC_WEBHOOK_SECRET}"
            }
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          },
          {
            "type": "ConfigChange"
          }
        ]
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "app": "${APP_NAME}",
          "container": "eap",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}",
            "labels": {
              "deploymentConfig": "${APP_NAME}",
              "app": "${APP_NAME}",
              "container": "eap",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 75,
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "${APP_NAME}",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/livenessProbe.sh"
                    ]
                  },
                  "initialDelaySeconds": 60
                },
                "readinessProbe": {
                  "exec": {
                    "command": [
                      "/bin/bash",
                      "-c",
                      "/opt/eap/bin/readinessProbe.sh"
                    ]
                  }
                },
                "ports": [
                  {
                    "name": "jolokia",
                    "containerPort": 8778,
                    "protocol": "TCP"
                  },
                  {
                    "name": "http",
                    "containerPort": 8080,
                    "protocol": "TCP"
                  },
                  {
                    "name": "ping",
                    "containerPort": 8888,
                    "protocol": "TCP"
                  }
                ],
                "env": [
                  {
                    "name": "JGROUPS_PING_PROTOCOL",
                    "value": "openshift.DNS_PING"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                    "value": "${APP_NAME}-ping"
                  },
                  {
                    "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                    "value": "8888"
                  },
                  {
                    "name": "DB_SERVICE_PREFIX_MAPPING",
                    "value": "${APP_NAME}-mysql=DB"
                  },
                  {
                    "name": "DB_JNDI",
                    "value": "${DB_JNDI}"
                  },
                  {
                    "name": "DB_DATABASE",
                    "value": "${DB_DATABASE}"
                  },
                  {
                    "name": "DB_USERNAME",
                    "value": "${DB_USERNAME}"
                  },
                  {
                    "name": "DB_PASSWORD",
                    "value": "${DB_PASSWORD}"
                  },
                  {
                    "name": "DB_MIN_POOL_SIZE",
                    "value": "${DB_MIN_POOL_SIZE}"
                  },
                  {
                    "name": "DB_MAX_POOL_SIZE",
                    "value": "${DB_MAX_POOL_SIZE}"
                  },
                  {
                    "name": "DB_TX_ISOLATION",
                    "value": "${DB_TX_ISOLATION}"
                  },
                  {
                    "name": "TX_DATABASE_PREFIX_MAPPING",
                    "value": "${APP_NAME}-mysql=DB"
                  },
                  {
                    "name": "MQ_CLUSTER_PASSWORD",
                    "value": "${MQ_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "MQ_QUEUES",
                    "value": "${MQ_QUEUES}"
                  },
                  {
                    "name": "MQ_TOPICS",
                    "value": "${MQ_TOPICS}"
                  },
                  {
                    "name": "JGROUPS_CLUSTER_PASSWORD",
                    "value": "${JGROUPS_CLUSTER_PASSWORD}"
                  },
                  {
                    "name": "AUTO_DEPLOY_EXPLODED",
                    "value": "${AUTO_DEPLOY_EXPLODED}"
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
      "name": "${APP_NAME}-mysql",
        "labels": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        }
      },
      "spec": {
        "strategy": {
          "type": "Recreate"
        },
        "triggers": [
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}-mysql"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "namespace": "${IMAGE_STREAM_NAMESPACE}",
                "name": "mysql:${MYSQL_IMAGE_STREAM_TAG}"
              }
            }
          },
          {
            "type": "ConfigChange"
          }
        ],
        "replicas": 1,
        "selector": {
          "deploymentConfig": "${APP_NAME}-mysql"
        },
        "template": {
          "metadata": {
            "name": "${APP_NAME}-mysql",
            "labels": {
              "deploymentConfig": "${APP_NAME}-mysql",
              "app": "${APP_NAME}",
              "component": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "terminationGracePeriodSeconds": 60,
            "containers": [
              {
                "name": "${APP_NAME}-mysql",
                "image": "mysql",
                "imagePullPolicy": "Always",
                "ports": [
                  {
                    "containerPort": 3306,
                    "protocol": "TCP"
                  }
                ],
                "readinessProbe": {
                  "timeoutSeconds": 1,
                  "initialDelaySeconds": 5,
                  "exec": {
                    "command": [ "/bin/sh", "-i", "-c",
                      "MYSQL_PWD=\"$MYSQL_PASSWORD\" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"]
                  }
                },
                "livenessProbe": {
                  "timeoutSeconds": 1,
                  "initialDelaySeconds": 30,
                  "tcpSocket": {
                    "port": 3306
                  }
                },
                "env": [
                  {
                    "name": "MYSQL_USER",
                    "value": "${DB_USERNAME}"
                  },
                  {
                    "name": "MYSQL_PASSWORD",
                    "value": "${DB_PASSWORD}"
                  },
                  {
                    "name": "MYSQL_DATABASE",
                    "value": "${DB_DATABASE}"
                  },
                  {
                    "name": "MYSQL_LOWER_CASE_TABLE_NAMES",
                    "value": "${MYSQL_LOWER_CASE_TABLE_NAMES}"
                  },
                  {
                    "name": "MYSQL_MAX_CONNECTIONS",
                    "value": "${MYSQL_MAX_CONNECTIONS}"
                  },
                  {
                    "name": "MYSQL_FT_MIN_WORD_LEN",
                    "value": "${MYSQL_FT_MIN_WORD_LEN}"
                  },
                  {
                    "name": "MYSQL_FT_MAX_WORD_LEN",
                    "value": "${MYSQL_FT_MAX_WORD_LEN}"
                  },
                  {
                    "name": "MYSQL_AIO",
                    "value": "${MYSQL_AIO}"
                  }
                ]
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-amq-template.json
New file
@@ -0,0 +1,392 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel A-MQ with Karaf",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Camel route using AMQ in Karaf container. This quickstart demonstrates how to use Camel in a Karaf Container using Blueprint to connect to EnMasse (MaaS) and use JMS messaging between two Camel routes. It requires EnMasse to have been deployed and running first.",
      "tags": "quickstart,java,karaf,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-karaf-camel-amq"
  },
  "labels": {
    "template": "s2i-fuse75-karaf-camel-amq"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-karaf-camel-amq",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "value": "https://github.com/fabric8-quickstarts/karaf-camel-amq.git",
      "required": true,
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "karaf-camel-amq-1.0.0.fuse-750024-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750024-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "install -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "AMQP_SERVICE_NAME",
      "displayName": "EnMasse Service",
      "required": true,
      "description": "Set this to the route host name attached to the TCP service of the external 'messaging' route exposed by EnMasse. E.g messaging-enmasse.192.168.64.1.nip.io."
    },
    {
      "name": "AMQP_SERVICE_PORT",
      "displayName": "EnMasse Service Port",
      "required": true,
      "description": "Set this to the EnMasse Service port e.g 5671"
    },
    {
      "name": "AMQP_USERNAME",
      "displayName": "EnMasse Username",
      "description": "The username used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PASSWORD",
      "displayName": "EnMasse Password",
      "description": "The password used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PARAMETERS",
      "displayName": "EnMasse Parameters",
      "description": "The parameters passed to EnMasse.",
      "value": "transport.trustAll=true&transport.verifyHost=false&amqp.idleTimeout=120000"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "128Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "512Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-karaf-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "container": "karaf",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/readiness-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8181,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "AMQP_SERVICE_NAME",
                  "value": "${AMQP_SERVICE_NAME}"
                }, {
                  "name": "AMQP_SERVICE_PORT",
                  "value": "${AMQP_SERVICE_PORT}"
                }, {
                  "name": "AMQP_USERNAME",
                  "value": "${AMQP_USERNAME}"
                }, {
                  "name": "AMQP_PASSWORD",
                  "value": "${AMQP_PASSWORD}"
                }, {
                  "name": "AMQP_PARAMETERS",
                  "value": "${AMQP_PARAMETERS}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-log-template.json
New file
@@ -0,0 +1,349 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel log with Karaf",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "A simple Camel route in Karaf container. This quickstart shows a simple Apache Camel application that logs a message to the server log every 5th second.",
      "tags": "quickstart,java,karaf,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-karaf-camel-log"
  },
  "labels": {
    "template": "s2i-fuse75-karaf-camel-log"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-karaf-camel-log",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "value": "https://github.com/fabric8-quickstarts/karaf-camel-log.git",
      "required": true,
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "karaf-camel-log-1.0.0.fuse-750024-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750024-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "install -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "128Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "512Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-karaf-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "container": "karaf",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/readiness-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8181,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-camel-rest-sql-template.json
New file
@@ -0,0 +1,440 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel REST SQL with Karaf",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Camel example using Rest DSL with SQL Database in Karaf container. This example demonstrates how to use SQL via JDBC along with Camel's REST DSL to expose a RESTful API. The OpenShift MySQL container image should already be installed and running on your OpenShift installation, one simple way to run a MySQL service is following the documentation of the OpenShift MySQL container image related to the mysql-ephemeral template..",
      "tags": "quickstart,java,karaf,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-karaf-camel-rest-sql"
  },
  "labels": {
    "template": "s2i-fuse75-karaf-camel-rest-sql"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-karaf-camel-rest-sql",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "value": "https://github.com/fabric8-quickstarts/karaf-camel-rest-sql.git",
      "required": true,
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "karaf-camel-rest-sql-1.0.0.fuse-750024-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "s2i-karaf-camel-rest",
      "description": "Exposed Service name."
    },
    {
      "name": "MYSQL_SERVICE_NAME",
      "displayName": "MySQL Server Service",
      "required": true,
      "value": "mysql",
      "description": "Set this to the name of the TCP service of the MySQL server. You may need to create a server first."
    },
    {
      "name": "MYSQL_SERVICE_DATABASE",
      "displayName": "MySQL Server Database",
      "required": true,
      "value": "sampledb",
      "description": "The database hosted by the MySQL server to be used by the application."
    },
    {
      "name": "MYSQL_SERVICE_USERNAME",
      "displayName": "MySQL Server Username",
      "description": "The username used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "MYSQL_SERVICE_PASSWORD",
      "displayName": "MySQL Server Password",
      "description": "The password used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750024-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "install -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "128Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "512Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "container": "karaf",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "container": "karaf",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9411,
            "protocol": "TCP",
            "targetPort": 8181
          }
        ],
        "selector": {
          "container": "karaf",
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-karaf-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "container": "karaf",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/readiness-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8181,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } , {
                  "name": "MYSQL_SERVICE_NAME",
                  "value": "${MYSQL_SERVICE_NAME}"
                }, {
                  "name": "MYSQL_SERVICE_DATABASE",
                  "value": "${MYSQL_SERVICE_DATABASE}"
                }, {
                  "name": "MYSQL_SERVICE_USERNAME",
                  "value": "${MYSQL_SERVICE_USERNAME}"
                }, {
                  "name": "MYSQL_SERVICE_PASSWORD",
                  "value": "${MYSQL_SERVICE_PASSWORD}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/karaf-cxf-rest-template.json
New file
@@ -0,0 +1,404 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel CXF REST with Karaf",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "REST example using CXF in Karaf container. This quickstart demonstrates how to create a RESTful (JAX-RS) web service using CXF and expose it through the OSGi HTTP Service",
      "tags": "quickstart,java,karaf,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-karaf-cxf-rest"
  },
  "labels": {
    "template": "s2i-fuse75-karaf-cxf-rest"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-karaf-cxf-rest",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "value": "https://github.com/fabric8-quickstarts/karaf-cxf-rest.git",
      "required": true,
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "karaf-cxf-rest-1.0.0.fuse-750024-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "s2i-fuse75-karaf-cxf-rest",
      "description": "Exposed Service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750024-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "install -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "128Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "512Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "container": "java",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "container": "karaf",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9412,
            "protocol": "TCP",
            "targetPort": 8181
          }
        ],
        "selector": {
          "container": "karaf",
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-karaf-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "container": "karaf",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "container": "karaf",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/readiness-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health-check",
                    "port" : 8181
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8181,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-amq-template.json
New file
@@ -0,0 +1,374 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel AMQP with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel and EnMasse (MaaS) QuickStart. This quickstart demonstrates how to connect a Spring Boot 2 application to a EnMasse (MaaS) and use JMS messaging between two Camel routes using OpenShift. It requires EnMasse to have been deployed and running first.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-amq"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-amq"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-amq",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-amq.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-amq-7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "AMQP_SERVICE_NAME",
      "displayName": "EnMasse Service",
      "required": true,
      "description": "Set this to the route host name attached to the TCP service of the external 'messaging' route exposed by EnMasse. E.g messaging-enmasse.192.168.64.1.nip.io."
    },
    {
      "name": "AMQP_USERNAME",
      "displayName": "EnMasse Username",
      "description": "The username used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PASSWORD",
      "displayName": "EnMasse Password",
      "description": "The password used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PARAMETERS",
      "displayName": "EnMasse Parameters",
      "description": "The parameters passed to EnMasse.",
      "value": "transport.trustAll=true&transport.verifyHost=false&amqp.idleTimeout=120000"
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "AMQP_SERVICE_NAME",
                  "value": "${AMQP_SERVICE_NAME}"
                }, {
                  "name": "AMQP_USERNAME",
                  "value": "${AMQP_USERNAME}"
                }, {
                  "name": "AMQP_PASSWORD",
                  "value": "${AMQP_PASSWORD}"
                }, {
                  "name": "AMQP_PARAMETERS",
                  "value": "${AMQP_PARAMETERS}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-drools-template.json
New file
@@ -0,0 +1,369 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + Drools with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel and JBoss BRMS QuickStart. This example demonstrates how you can use Apache Camel and JBoss BRMS with Spring Boot 2 on OpenShift. Camel routes, defined via Spring, are used to pass (insert) the Body of the message as a POJO to a Drools engine for execution. A Kie Server should be deployed and configured before running the application, more information about how to configure it can be found at https://github.com/fabric8-quickstarts/spring-boot-camel-drools/blob/master/README.md",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-drools"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-drools"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-drools",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-drools.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-drools-7.5.0.fuse-sb2-750017-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "KIESERVER_SERVICE",
      "displayName": "Decision Server Name",
      "required": true,
      "value": "kie-app",
      "description": "Set this to the name of the Decision Server. You may need to create an instance before."
    },
    {
      "name": "KIESERVER_USERNAME",
      "displayName": "Decision Server Username",
      "required": true,
      "value": "kieserver",
      "description": "The username used to authenticate with the Decision Server."
    },
    {
      "name": "KIESERVER_PASSWORD",
      "displayName": "Decision Server Password",
      "required": true,
      "description": "The password used to authenticate with the Decision Server."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750017-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "KIESERVER_SERVICE",
                  "value": "${KIESERVER_SERVICE}"
                }, {
                  "name": "KIESERVER_USERNAME",
                  "value": "${KIESERVER_USERNAME}"
                }, {
                  "name": "KIESERVER_PASSWORD",
                  "value": "${KIESERVER_PASSWORD}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-infinispan-template.json
New file
@@ -0,0 +1,350 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + JDG with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel and JBoss Data Grid QuickStart. This quickstart demonstrates how to connect a Spring Boot 2 application to a JBoss Data Grid (or Infinispan) server using the Hot Rod protocol. It requires that the data grid server (or cluster) has been deployed first, one simple way to run a JDG service is following the documentation of the JDG xPaaS image for OpenShift related to the datagrid65-basic template.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-infinispan"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-infinispan"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-infinispan",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-infinispan.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-infinispan-7.5.0.fuse-sb2-750020-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "INFINISPAN_SERVICE",
      "displayName": "JBoss Data Grid Service (Hot Rod)",
      "required": true,
      "value": "datagrid-app-hotrod",
      "description": "Set this to the name of the Hot Rod service of the JBoss Data Grid. You may need to create the data grid first."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750020-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } , {
                  "name": "INFINISPAN_SERVICE",
                  "value": "${INFINISPAN_SERVICE}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-rest-3scale-template.json
New file
@@ -0,0 +1,403 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel REST DSL and 3Scale",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel REST DSL and 3Scale QuickStart. This example demonstrates how to use Camel's REST DSL to expose a RESTful API and expose it to 3scale.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse,3scale",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-rest-3scale"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-rest-3scale"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-rest-3scale",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-rest-3scale.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-rest-3scale-7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "camel-rest-3scale",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9411,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-rest-sql-template.json
New file
@@ -0,0 +1,438 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel REST SQL with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel REST DSL and MySQL QuickStart. This quickstart demonstrates how to connect a Spring Boot 2 application to a MySQL database and expose a REST API with Camel on OpenShift. In this example we will use two containers, one container to run as a MySQL server, and another as a client to the database, where the Camel routes are running. This quickstart requires the MySQL server to be deployed and started first, one simple way to run a MySQL service is following the documentation of the OpenShift MySQL container image related to the mysql-ephemeral template.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-rest-sql"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-rest-sql"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-rest-sql",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-rest-sql.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-rest-sql-7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "camel-rest-sql",
      "description": "Exposed service name."
    },
    {
      "name": "MYSQL_SERVICE_NAME",
      "displayName": "MySQL Server Service",
      "required": true,
      "value": "mysql",
      "description": "Set this to the name of the TCP service of the MySQL server. You may need to create a server first."
    },
    {
      "name": "MYSQL_SERVICE_DATABASE",
      "displayName": "MySQL Server Database",
      "value": "sampledb",
      "description": "The database hosted by the MySQL server to be used by the application."
    },
    {
      "name": "MYSQL_SERVICE_USERNAME",
      "displayName": "MySQL Server Username",
      "description": "The username used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "MYSQL_SERVICE_PASSWORD",
      "displayName": "MySQL Server Password",
      "description": "The password used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750016-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9411,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } , {
                  "name": "MYSQL_SERVICE_NAME",
                  "value": "${MYSQL_SERVICE_NAME}"
                }, {
                  "name": "MYSQL_SERVICE_DATABASE",
                  "value": "${MYSQL_SERVICE_DATABASE}"
                }, {
                  "name": "MYSQL_SERVICE_USERNAME",
                  "value": "${MYSQL_SERVICE_USERNAME}"
                }, {
                  "name": "MYSQL_SERVICE_PASSWORD",
                  "value": "${MYSQL_SERVICE_PASSWORD}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-teiid-template.json
New file
@@ -0,0 +1,378 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + JDV with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel and JBoss Data Virtualization QuickStart. This example demonstrates how to connect Apache Camel to a remote JBoss Data Virtualization (or Teiid) Server using the JDBC protocol. This quickstart assumes that the JDV server is already running and configured on OpenShift, more information about to setup a JDV server can be found at https://github.com/fabric8-quickstarts/spring-boot-camel-teiid/blob/master/README.md",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-teiid"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-teiid"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-teiid",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-teiid.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "master",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "TEIID_SERVICE_NAME",
      "displayName": "JDV Server Name",
      "required": true,
      "value": "datavirt-app",
      "description": "Set this to the name of the JDV Server. You may need to create an instance before."
    },
    {
      "name": "TEIID_PORT_NAME",
      "displayName": "JDV Port Name",
      "value": "jdbc",
      "description": "Set this to the name of the JDV port to use. Set this value if the JDV service contains multiple named ports."
    },
    {
      "name": "TEIID_USERNAME",
      "displayName": "JDV Server Username",
      "required": true,
      "description": "The username used to authenticate with the JDV Server."
    },
    {
      "name": "TEIID_PASSWORD",
      "displayName": "JDV Server Password",
      "required": true,
      "description": "The password used to authenticate with the JDV Server."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "2.2.64-SNAPSHOT",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [
                  {
                    "name" : "KUBERNETES_NAMESPACE",
                    "valueFrom" : {
                      "fieldRef" : {
                        "fieldPath" : "metadata.namespace"
                      }
                    }
                  }, {
                    "name": "TEIID_SERVICE_NAME",
                    "value": "${TEIID_SERVICE_NAME}"
                  }, {
                    "name": "TEIID_PORT_NAME",
                    "value": "${TEIID_PORT_NAME}"
                  }, {
                    "name": "TEIID_USERNAME",
                    "value": "${TEIID_USERNAME}"
                  }, {
                    "name": "TEIID_PASSWORD",
                    "value": "${TEIID_PASSWORD}"
                  }],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-template.json
New file
@@ -0,0 +1,340 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2 and Camel QuickStart. This example demonstrates how you can use Apache Camel with Spring Boot 2 on OpenShift. The quickstart uses Spring Boot to configure an application which includes a Camel route that triggers a message every 5th second, and routes the message to a log.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-7.5.0.fuse-sb2-750021-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750021-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-xa-template.json
New file
@@ -0,0 +1,591 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel on Spring Boot 2 with XA Transactions",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2, Camel and XA Transactions. This example demonstrates how to run a Camel Service on Spring-Boot 2 that supports XA transactions on two external transactional resources: a JMS resource (A-MQ) and a database (PostgreSQL). This quickstart requires the PostgreSQL database and the A-MQ broker have been deployed and running first, one simple way to run them is to use the templates provided in the Openshift service catalog",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-xa"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-xa"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-sb2-xa",
      "description": "The name assigned to the application (max 20 characters)."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/jboss-fuse/spring-boot-camel-xa.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-xa-7.5.0.fuse-sb2-750001-redhat-00004",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BROKER_HOST",
      "displayName": "A-MQ Broker Service",
      "required": true,
      "value": "broker-amq-tcp",
      "description": "Set this to the name of the TCP service of the A-MQ broker. You may need to create a broker first."
    },
    {
      "name": "BROKER_USERNAME",
      "displayName": "A-MQ Broker Username",
      "required": true,
      "description": "The username used to authenticate with the A-MQ broker."
    },
    {
      "name": "BROKER_PASSWORD",
      "displayName": "A-MQ Broker Password",
      "required": true,
      "description": "The password used to authenticate with the A-MQ broker."
    },
    {
      "name": "DATABASE_HOST",
      "displayName": "PostgreSQL Service",
      "required": true,
      "value": "postgresql",
      "description": "Set this to the name of the PostgreSQL service. You may need to create the database first."
    },
    {
      "name": "DATABASE_USERNAME",
      "displayName": "PostgreSQL Username",
      "required": true,
      "description": "The username used to authenticate with the PostgreSQL database."
    },
    {
      "name": "DATABASE_PASSWORD",
      "displayName": "PostgreSQL Password",
      "required": true,
      "description": "The password used to authenticate with the PostgreSQL database."
    },
    {
      "name": "VOLUME_SIZE",
      "displayName": "Volume size for transaction log",
      "required": true,
      "value": "1Gi",
      "description": "The size of the volume used to store the transaction log."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the Fuse S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750001-redhat-00004",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "lookupPolicy": {
          "local": true
        }
      },
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "StatefulSet",
      "apiVersion": "apps/v1beta1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "annotations": {
          "image.openshift.io/triggers": "[{\"from\":{\"kind\":\"ImageStreamTag\",\"name\":\"${APP_NAME}:latest\"},\"fieldPath\":\"spec.template.spec.containers[?(@.name==\\\"${APP_NAME}\\\")].image\"}]"
        }
      },
      "spec": {
        "podManagementPolicy": "Parallel",
        "updateStrategy": {
          "type": "RollingUpdate"
        },
        "replicas": 1,
        "selector": {
          "matchLabels": {
            "app": "${APP_NAME}",
            "provider": "s2i",
            "group": "quickstarts"
          }
        },
        "serviceName": "${APP_NAME}-headless",
        "template": {
          "metadata": {
            "labels": {
              "component": "${APP_NAME}",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "containers": [
              {
                "env": [
                  {
                    "name": "CLUSTER_RECOVERY_ENABLED",
                    "value": "true"
                  },
                  {
                    "name": "CLUSTER_BASE_DIR",
                    "value": "/var/transaction/data"
                  },
                  {
                    "name": "CLUSTER_NAME",
                    "value": "${APP_NAME}"
                  },
                  {
                    "name": "CLUSTER_NODENAME",
                    "valueFrom": {
                      "fieldRef": {
                        "apiVersion": "v1",
                        "fieldPath": "metadata.name"
                      }
                    }
                  },
                  {
                    "name": "BROKER_HOST",
                    "value": "${BROKER_HOST}"
                  },
                  {
                    "name": "BROKER_USERNAME",
                    "value": "${BROKER_USERNAME}"
                  },
                  {
                    "name": "BROKER_PASSWORD",
                    "value": "${BROKER_PASSWORD}"
                  },
                  {
                    "name": "DATABASE_HOST",
                    "value": "${DATABASE_HOST}"
                  },
                  {
                    "name": "DATABASE_USERNAME",
                    "value": "${DATABASE_USERNAME}"
                  },
                  {
                    "name": "DATABASE_PASSWORD",
                    "value": "${DATABASE_PASSWORD}"
                  },
                  {
                    "name": "KUBERNETES_NAMESPACE",
                    "valueFrom": {
                      "fieldRef": {
                        "fieldPath": "metadata.namespace"
                      }
                    }
                  }
                ],
                "image": "${APP_NAME}:latest",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "httpGet": {
                    "path": "/actuator/health",
                    "port": 8080,
                    "scheme": "HTTP"
                  },
                  "initialDelaySeconds": 180
                },
                "name": "${APP_NAME}",
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http",
                    "protocol": "TCP"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia",
                    "protocol": "TCP"
                  }
                ],
                "readinessProbe": {
                  "httpGet": {
                    "path": "/actuator/health",
                    "port": 8080,
                    "scheme": "HTTP"
                  },
                  "initialDelaySeconds": 10
                },
                "resources": {
                  "limits": {
                    "cpu": "1.0",
                    "memory": "256Mi"
                  },
                  "requests": {
                    "cpu": "0.2",
                    "memory": "256Mi"
                  }
                },
                "securityContext": {
                  "privileged": false
                },
                "volumeMounts": [
                  {
                    "mountPath": "/var/transaction/data",
                    "name": "${APP_NAME}-data"
                  }
                ]
              }
            ],
            "serviceAccountName": "${APP_NAME}",
            "terminationGracePeriodSeconds": 180,
            "volumes": [
              {
                "name": "${APP_NAME}-data",
                "persistentVolumeClaim": {
                  "claimName": "${APP_NAME}"
                }
              }
            ]
          }
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      },
      "spec": {
        "ports": [
          {
            "name": "http",
            "port": 8080,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "apiVersion" : "v1",
      "kind" : "Service",
      "metadata" : {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name" : "${APP_NAME}-headless"
      },
      "spec" : {
        "clusterIP" : "None",
        "ports" : [ {
          "name" : "http",
          "port" : 8080,
          "protocol" : "TCP",
          "targetPort" : 8080
        } ],
        "selector" : {
          "app" : "${APP_NAME}",
          "group" : "quickstarts",
          "provider" : "s2i"
        }
      }
    },
    {
      "apiVersion" : "route.openshift.io/v1",
      "kind" : "Route",
      "metadata" : {
        "labels" : {
          "component" : "${APP_NAME}",
          "app" : "${APP_NAME}",
          "provider" : "s2i",
          "version" : "${APP_VERSION}",
          "group" : "quickstarts"
        },
        "name" : "${APP_NAME}"
      },
      "spec" : {
        "port" : {
          "targetPort" : 8080
        },
        "to" : {
          "kind" : "Service",
          "name" : "${APP_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "ServiceAccount",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      }
    },
    {
      "apiVersion": "v1",
      "kind": "RoleBinding",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      },
      "roleRef": {
        "name": "edit"
      },
      "subjects": [
        {
          "kind": "ServiceAccount",
          "name": "${APP_NAME}"
        }
      ]
    },
    {
      "apiVersion": "v1",
      "kind": "PersistentVolumeClaim",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "group": "quickstarts",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "name": "${APP_NAME}"
      },
      "spec": {
        "accessModes": [
          "ReadWriteMany"
        ],
        "resources": {
          "requests": {
            "storage": "${VOLUME_SIZE}"
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-camel-xml-template.json
New file
@@ -0,0 +1,340 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel XML DSL with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2 and Camel Xml QuickStart. This example demonstrates how you can use Apache Camel with Spring Boot 2 on OpenShift. The quickstart uses Spring Boot 2 to configure an application which includes a Camel route (in Spring xml) that triggers a message every 5th second, and routes the message to a log.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-camel-xml"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-camel-xml"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-camel-xml",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-xml.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-xml-7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-cxf-jaxrs-template.json
New file
@@ -0,0 +1,399 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 CXF JAX-RS with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2 and CXF JAX-RS QuickStart. This example demonstrates how you can use Apache CXF JAX-RS with Spring Boot 2 on OpenShift. The quickstart uses Spring Boot 2 to configure a CXF application which includes a JAX-RS endpoint with Swagger enabled.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-cxf-jaxrs"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-cxf-jaxrs"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-cxf-jaxrs",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-cxf-jaxrs.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-cxf-jaxrs-7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "cxf-jaxrs",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9413,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-2-cxf-jaxws-template.json
New file
@@ -0,0 +1,399 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 CXF JAX-WS with Spring Boot 2",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot 2 and CXF JAX-WS QuickStart. This example demonstrates how you can use Apache CXF JAX-WS with Spring Boot 2 on OpenShift. The quickstart uses Spring Boot 2 to configure a CXF application which includes a JAX-WS endpoint.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-2-cxf-jaxws"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-2-cxf-jaxws"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-2-cxf-jaxws",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-cxf-jaxws.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-cxf-jaxws-7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "cxf-jaxws",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "7.5.0.fuse-sb2-750019-redhat-00006",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9414,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/actuator/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-amq-template.json
New file
@@ -0,0 +1,374 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel AMQP with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel and EnMasse (MaaS) QuickStart. This quickstart demonstrates how to connect a Spring Boot application to a EnMasse (MaaS) and use JMS messaging between two Camel routes using OpenShift. It requires EnMasse to have been deployed and running first.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-amq"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-amq"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-amq",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-amq.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-amq-1.0.0.fuse-750023-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "AMQP_SERVICE_NAME",
      "displayName": "EnMasse Service",
      "required": true,
      "description": "Set this to the route host name attached to the TCP service of the external 'messaging' route exposed by EnMasse. E.g messaging-enmasse.192.168.64.1.nip.io."
    },
    {
      "name": "AMQP_USERNAME",
      "displayName": "EnMasse Username",
      "description": "The username used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PASSWORD",
      "displayName": "EnMasse Password",
      "description": "The password used to authenticate with EnMasse."
    },
    {
      "name": "AMQP_PARAMETERS",
      "displayName": "EnMasse Parameters",
      "description": "The parameters passed to EnMasse.",
      "value": "transport.trustAll=true&transport.verifyHost=false&amqp.idleTimeout=120000"
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750023-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "AMQP_SERVICE_NAME",
                  "value": "${AMQP_SERVICE_NAME}"
                }, {
                  "name": "AMQP_USERNAME",
                  "value": "${AMQP_USERNAME}"
                }, {
                  "name": "AMQP_PASSWORD",
                  "value": "${AMQP_PASSWORD}"
                }, {
                  "name": "AMQP_PARAMETERS",
                  "value": "${AMQP_PARAMETERS}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-config-template.json
New file
@@ -0,0 +1,383 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + ConfigMap with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot and Camel using ConfigMaps and Secrets. This quickstart demonstrates how to configure a Spring Boot application using OpenShift ConfigMaps and Secrets. This example requires that a ConfigMap named camel-config and a Secret named camel-config are present in the namespace before the application is deployed, instruction about how to manually create them can be found here: https://github.com/fabric8-quickstarts/spring-boot-camel-config/blob/master/README.md ",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-config"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-config"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-config",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-config.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-config-1.0.0.fuse-750023-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_ACCOUNT_NAME",
      "displayName": "Service Account",
      "value": "qs-camel-config",
      "required": true,
      "description": "The Service Account that will be used to run the container. It must be already present in OpenShift and have the view role."
    },
    {
      "name": "SECRET_NAME",
      "displayName": "Secret Name",
      "value": "camel-config",
      "required": true,
      "description": "The name of the OpenShift Secret that will be used to configure the application. It must be already present in OpenShift."
    },
    {
      "name": "CONFIGMAP_NAME",
      "displayName": "ConfigMap Name",
      "value": "camel-config",
      "required": true,
      "description": "The name of the OpenShift ConfigMap that will be used to configure the application. It must be already present in OpenShift."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750023-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "serviceAccountName": "${SERVICE_ACCOUNT_NAME}",
            "volumes": [
              {
                "name": "camel-config",
                "secret": {
                  "secretName": "${SECRET_NAME}"
                }
              }
            ],
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "SPRING_CLOUD_KUBERNETES_SECRETS_NAME",
                  "value": "${SECRET_NAME}"
                }, {
                  "name": "SPRING_CLOUD_KUBERNETES_CONFIG_NAME",
                  "value": "${CONFIGMAP_NAME}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                },
                "volumeMounts": [
                  {
                    "name": "camel-config",
                    "readOnly": true,
                    "mountPath": "/etc/secrets/camel-config"
                  }
                ]
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-drools-template.json
New file
@@ -0,0 +1,369 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + Drools with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel and JBoss BRMS QuickStart. This example demonstrates how you can use Apache Camel and JBoss BRMS with Spring Boot on OpenShift. Camel routes, defined via Spring, are used to pass (insert) the Body of the message as a POJO to a Drools engine for execution. A Kie Server should be deployed and configured before running the application, more information about how to configure it can be found at https://github.com/fabric8-quickstarts/spring-boot-camel-drools/blob/master/README.md",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-drools"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-drools"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-drools",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-drools.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-drools-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "KIESERVER_SERVICE",
      "displayName": "Decision Server Name",
      "required": true,
      "value": "kie-app",
      "description": "Set this to the name of the Decision Server. You may need to create an instance before."
    },
    {
      "name": "KIESERVER_USERNAME",
      "displayName": "Decision Server Username",
      "required": true,
      "value": "kieserver",
      "description": "The username used to authenticate with the Decision Server."
    },
    {
      "name": "KIESERVER_PASSWORD",
      "displayName": "Decision Server Password",
      "required": true,
      "description": "The password used to authenticate with the Decision Server."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                }, {
                  "name": "KIESERVER_SERVICE",
                  "value": "${KIESERVER_SERVICE}"
                }, {
                  "name": "KIESERVER_USERNAME",
                  "value": "${KIESERVER_USERNAME}"
                }, {
                  "name": "KIESERVER_PASSWORD",
                  "value": "${KIESERVER_PASSWORD}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-infinispan-template.json
New file
@@ -0,0 +1,350 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel + JDG with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel and JBoss Data Grid QuickStart. This quickstart demonstrates how to connect a Spring Boot application to a JBoss Data Grid (or Infinispan) server using the Hot Rod protocol. It requires that the data grid server (or cluster) has been deployed first, one simple way to run a JDG service is following the documentation of the JDG xPaaS image for OpenShift related to the datagrid65-basic template.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-infinispan"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-infinispan"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-infinispan",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-infinispan.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-infinispan-1.0.0.fuse-750021-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "INFINISPAN_SERVICE",
      "displayName": "JBoss Data Grid Service (Hot Rod)",
      "required": true,
      "value": "datagrid-app-hotrod",
      "description": "Set this to the name of the Hot Rod service of the JBoss Data Grid. You may need to create the data grid first."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750021-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } , {
                  "name": "INFINISPAN_SERVICE",
                  "value": "${INFINISPAN_SERVICE}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-rest-3scale-template.json
New file
@@ -0,0 +1,403 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel REST DSL and 3Scale",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel REST DSL and 3Scale QuickStart. This example demonstrates how to use Camel's REST DSL to expose a RESTful API and expose it to 3scale.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse,3scale",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-rest-3scale"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-rest-3scale"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-rest-3scale",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-rest-3scale.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-rest-3scale-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "camel-rest-3scale",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9411,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-rest-sql-template.json
New file
@@ -0,0 +1,438 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel REST SQL with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel REST DSL and MySQL QuickStart. This quickstart demonstrates how to connect a Spring Boot application to a MySQL database and expose a REST API with Camel on OpenShift. In this example we will use two containers, one container to run as a MySQL server, and another as a client to the database, where the Camel routes are running. This quickstart requires the MySQL server to be deployed and started first, one simple way to run a MySQL service is following the documentation of the OpenShift MySQL container image related to the mysql-ephemeral template.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-rest-sql"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-rest-sql"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-rest-sql",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-rest-sql.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-rest-sql-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "camel-rest-sql",
      "description": "Exposed service name."
    },
    {
      "name": "MYSQL_SERVICE_NAME",
      "displayName": "MySQL Server Service",
      "required": true,
      "value": "mysql",
      "description": "Set this to the name of the TCP service of the MySQL server. You may need to create a server first."
    },
    {
      "name": "MYSQL_SERVICE_DATABASE",
      "displayName": "MySQL Server Database",
      "value": "sampledb",
      "description": "The database hosted by the MySQL server to be used by the application."
    },
    {
      "name": "MYSQL_SERVICE_USERNAME",
      "displayName": "MySQL Server Username",
      "description": "The username used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "MYSQL_SERVICE_PASSWORD",
      "displayName": "MySQL Server Password",
      "description": "The password used to authenticate with the MySQL server. Leave it empty if authentication is disabled."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9411,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } , {
                  "name": "MYSQL_SERVICE_NAME",
                  "value": "${MYSQL_SERVICE_NAME}"
                }, {
                  "name": "MYSQL_SERVICE_DATABASE",
                  "value": "${MYSQL_SERVICE_DATABASE}"
                }, {
                  "name": "MYSQL_SERVICE_USERNAME",
                  "value": "${MYSQL_SERVICE_USERNAME}"
                }, {
                  "name": "MYSQL_SERVICE_PASSWORD",
                  "value": "${MYSQL_SERVICE_PASSWORD}"
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-template.json
New file
@@ -0,0 +1,340 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot and Camel QuickStart. This example demonstrates how you can use Apache Camel with Spring Boot on OpenShift. The quickstart uses Spring Boot to configure an application which includes a Camel route that triggers a message every 5th second, and routes the message to a log.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-1.0.0.fuse-750024-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750024-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-xa-template.json
New file
@@ -0,0 +1,591 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel on Spring Boot with XA Transactions",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot, Camel and XA Transactions. This example demonstrates how to run a Camel Service on Spring-Boot that supports XA transactions on two external transactional resources: a JMS resource (A-MQ) and a database (PostgreSQL). This quickstart requires the PostgreSQL database and the A-MQ broker have been deployed and running first, one simple way to run them is to use the templates provided in the Openshift service catalog",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-xa"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-xa"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-xa",
      "description": "The name assigned to the application (max 20 characters)."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/jboss-fuse/spring-boot-camel-xa.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-xa-1.0.0.fuse-750020-redhat-00005",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BROKER_HOST",
      "displayName": "A-MQ Broker Service",
      "required": true,
      "value": "broker-amq-tcp",
      "description": "Set this to the name of the TCP service of the A-MQ broker. You may need to create a broker first."
    },
    {
      "name": "BROKER_USERNAME",
      "displayName": "A-MQ Broker Username",
      "required": true,
      "description": "The username used to authenticate with the A-MQ broker."
    },
    {
      "name": "BROKER_PASSWORD",
      "displayName": "A-MQ Broker Password",
      "required": true,
      "description": "The password used to authenticate with the A-MQ broker."
    },
    {
      "name": "DATABASE_HOST",
      "displayName": "PostgreSQL Service",
      "required": true,
      "value": "postgresql",
      "description": "Set this to the name of the PostgreSQL service. You may need to create the database first."
    },
    {
      "name": "DATABASE_USERNAME",
      "displayName": "PostgreSQL Username",
      "required": true,
      "description": "The username used to authenticate with the PostgreSQL database."
    },
    {
      "name": "DATABASE_PASSWORD",
      "displayName": "PostgreSQL Password",
      "required": true,
      "description": "The password used to authenticate with the PostgreSQL database."
    },
    {
      "name": "VOLUME_SIZE",
      "displayName": "Volume size for transaction log",
      "required": true,
      "value": "1Gi",
      "description": "The size of the volume used to store the transaction log."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the Fuse S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00005",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "lookupPolicy": {
          "local": true
        }
      },
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "StatefulSet",
      "apiVersion": "apps/v1beta1",
      "metadata": {
        "name": "${APP_NAME}",
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "annotations": {
          "image.openshift.io/triggers": "[{\"from\":{\"kind\":\"ImageStreamTag\",\"name\":\"${APP_NAME}:latest\"},\"fieldPath\":\"spec.template.spec.containers[?(@.name==\\\"${APP_NAME}\\\")].image\"}]"
        }
      },
      "spec": {
        "podManagementPolicy": "Parallel",
        "updateStrategy": {
          "type": "RollingUpdate"
        },
        "replicas": 1,
        "selector": {
          "matchLabels": {
            "app": "${APP_NAME}",
            "provider": "s2i",
            "group": "quickstarts"
          }
        },
        "serviceName": "${APP_NAME}-headless",
        "template": {
          "metadata": {
            "labels": {
              "component": "${APP_NAME}",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}",
              "group": "quickstarts"
            }
          },
          "spec": {
            "containers": [
              {
                "env": [
                  {
                    "name": "CLUSTER_RECOVERY_ENABLED",
                    "value": "true"
                  },
                  {
                    "name": "CLUSTER_BASE_DIR",
                    "value": "/var/transaction/data"
                  },
                  {
                    "name": "CLUSTER_NAME",
                    "value": "${APP_NAME}"
                  },
                  {
                    "name": "CLUSTER_NODENAME",
                    "valueFrom": {
                      "fieldRef": {
                        "apiVersion": "v1",
                        "fieldPath": "metadata.name"
                      }
                    }
                  },
                  {
                    "name": "BROKER_HOST",
                    "value": "${BROKER_HOST}"
                  },
                  {
                    "name": "BROKER_USERNAME",
                    "value": "${BROKER_USERNAME}"
                  },
                  {
                    "name": "BROKER_PASSWORD",
                    "value": "${BROKER_PASSWORD}"
                  },
                  {
                    "name": "DATABASE_HOST",
                    "value": "${DATABASE_HOST}"
                  },
                  {
                    "name": "DATABASE_USERNAME",
                    "value": "${DATABASE_USERNAME}"
                  },
                  {
                    "name": "DATABASE_PASSWORD",
                    "value": "${DATABASE_PASSWORD}"
                  },
                  {
                    "name": "KUBERNETES_NAMESPACE",
                    "valueFrom": {
                      "fieldRef": {
                        "fieldPath": "metadata.namespace"
                      }
                    }
                  }
                ],
                "image": "${APP_NAME}:latest",
                "imagePullPolicy": "Always",
                "livenessProbe": {
                  "httpGet": {
                    "path": "/health",
                    "port": 8080,
                    "scheme": "HTTP"
                  },
                  "initialDelaySeconds": 180
                },
                "name": "${APP_NAME}",
                "ports": [
                  {
                    "containerPort": 8080,
                    "name": "http",
                    "protocol": "TCP"
                  },
                  {
                    "containerPort": 8778,
                    "name": "jolokia",
                    "protocol": "TCP"
                  }
                ],
                "readinessProbe": {
                  "httpGet": {
                    "path": "/health",
                    "port": 8080,
                    "scheme": "HTTP"
                  },
                  "initialDelaySeconds": 10
                },
                "resources": {
                  "limits": {
                    "cpu": "1.0",
                    "memory": "256Mi"
                  },
                  "requests": {
                    "cpu": "0.2",
                    "memory": "256Mi"
                  }
                },
                "securityContext": {
                  "privileged": false
                },
                "volumeMounts": [
                  {
                    "mountPath": "/var/transaction/data",
                    "name": "${APP_NAME}-data"
                  }
                ]
              }
            ],
            "serviceAccountName": "${APP_NAME}",
            "terminationGracePeriodSeconds": 180,
            "volumes": [
              {
                "name": "${APP_NAME}-data",
                "persistentVolumeClaim": {
                  "claimName": "${APP_NAME}"
                }
              }
            ]
          }
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      },
      "spec": {
        "ports": [
          {
            "name": "http",
            "port": 8080,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "apiVersion" : "v1",
      "kind" : "Service",
      "metadata" : {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name" : "${APP_NAME}-headless"
      },
      "spec" : {
        "clusterIP" : "None",
        "ports" : [ {
          "name" : "http",
          "port" : 8080,
          "protocol" : "TCP",
          "targetPort" : 8080
        } ],
        "selector" : {
          "app" : "${APP_NAME}",
          "group" : "quickstarts",
          "provider" : "s2i"
        }
      }
    },
    {
      "apiVersion" : "route.openshift.io/v1",
      "kind" : "Route",
      "metadata" : {
        "labels" : {
          "component" : "${APP_NAME}",
          "app" : "${APP_NAME}",
          "provider" : "s2i",
          "version" : "${APP_VERSION}",
          "group" : "quickstarts"
        },
        "name" : "${APP_NAME}"
      },
      "spec" : {
        "port" : {
          "targetPort" : 8080
        },
        "to" : {
          "kind" : "Service",
          "name" : "${APP_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "ServiceAccount",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      }
    },
    {
      "apiVersion": "v1",
      "kind": "RoleBinding",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${APP_NAME}"
      },
      "roleRef": {
        "name": "edit"
      },
      "subjects": [
        {
          "kind": "ServiceAccount",
          "name": "${APP_NAME}"
        }
      ]
    },
    {
      "apiVersion": "v1",
      "kind": "PersistentVolumeClaim",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "app": "${APP_NAME}",
          "group": "quickstarts",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "name": "${APP_NAME}"
      },
      "spec": {
        "accessModes": [
          "ReadWriteMany"
        ],
        "resources": {
          "requests": {
            "storage": "${VOLUME_SIZE}"
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-camel-xml-template.json
New file
@@ -0,0 +1,340 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 Camel XML DSL with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot and Camel Xml QuickStart. This example demonstrates how you can use Apache Camel with Spring Boot on OpenShift. The quickstart uses Spring Boot to configure an application which includes a Camel route (in Spring xml) that triggers a message every 5th second, and routes the message to a log.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-camel-xml"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-camel-xml"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-camel-xml",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-camel-xml.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-camel-xml-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-cxf-jaxrs-template.json
New file
@@ -0,0 +1,399 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 CXF JAX-RS with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot and CXF JAX-RS QuickStart. This example demonstrates how you can use Apache CXF JAX-RS with Spring Boot on OpenShift. The quickstart uses Spring Boot to configure a CXF application which includes a JAX-RS endpoint with Swagger enabled.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-cxf-jaxrs"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-cxf-jaxrs"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-cxf-jaxrs",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-cxf-jaxrs.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-cxf-jaxrs-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "cxf-jaxrs",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9413,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/quickstarts/spring-boot-cxf-jaxws-template.json
New file
@@ -0,0 +1,399 @@
{
  "apiVersion": "template.openshift.io/v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "openshift.io/display-name": "Red Hat Fuse 7.5 CXF JAX-WS with Spring Boot",
      "openshift.io/provider-display-name": "Red Hat, Inc.",
      "description": "Spring Boot and CXF JAX-WS QuickStart. This example demonstrates how you can use Apache CXF JAX-WS with Spring Boot on OpenShift. The quickstart uses Spring Boot to configure a CXF application which includes a JAX-WS endpoint.",
      "tags": "quickstart,java,springboot,fis,jboss-fuse",
      "iconClass": "icon-rh-integration",
      "version": "1.5"
    },
    "name": "s2i-fuse75-spring-boot-cxf-jaxws"
  },
  "labels": {
    "template": "s2i-fuse75-spring-boot-cxf-jaxws"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-fuse75-spring-boot-cxf-jaxws",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/fabric8-quickstarts/spring-boot-cxf-jaxws.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "spring-boot-cxf-jaxws-1.0.0.fuse-750020-redhat-00002",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "cxf-jaxws",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "1.5",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.fuse-750020-redhat-00002",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to request."
    },
    {
      "name": "MEMORY_REQUEST",
      "displayName": "Memory request",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory required for the container to run."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    },
    {
      "name": "MEMORY_LIMIT",
      "displayName": "Memory limit",
      "value": "256Mi",
      "required": true,
      "description": "The amount of memory the container is limited to use."
    },
    {
      "name": "BUILD_MEMORY_REQUEST",
      "displayName": "Build Memory request",
      "value": "0.7G",
      "required": true,
      "description": "The amount of memory to request for builds."
    },
    {
      "name": "BUILD_MEMORY_LIMIT",
      "displayName": "Build Memory limit",
      "value": "0.8G",
      "required": true,
      "description": "The amount of memory the build container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "app": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9414,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "app": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "ImageStreamTag",
              "namespace": "${IMAGE_STREAM_NAMESPACE}",
              "name": "fuse7-java-openshift:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {
          "requests": {
            "memory": "${BUILD_MEMORY_REQUEST}"
          },
          "limits": {
            "memory": "${BUILD_MEMORY_LIMIT}"
          }
        }
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "app": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "app": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}",
                    "memory": "${MEMORY_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}",
                    "memory": "${MEMORY_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      }
    }
  ]
}
ansible/roles/ocp4-workload-camelk-crw/files/fuse/samples-operator-patch.yml
New file
@@ -0,0 +1,52 @@
apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
  name: cluster
spec:
  architectures:
    - x86_64
  managementState: Managed
  skippedImagestreams:
    - fis-java-openshift
    - fis-karaf-openshift
    - fuse7-console
    - fuse7-eap-openshift
    - fuse7-java-openshift
    - fuse7-karaf-openshift
    - jboss-fuse70-console
    - jboss-fuse70-eap-openshift
    - jboss-fuse70-java-openshift
    - jboss-fuse70-karaf-openshift
    - fuse-apicurito-generator
    - apicurito-ui
  skippedTemplates:
    - s2i-fuse75-eap-camel-amq
    - s2i-fuse75-eap-camel-cdi
    - s2i-fuse75-eap-camel-cxf-jaxrs
    - s2i-fuse75-eap-camel-cxf-jaxws
    - s2i-fuse75-eap-camel-jpa
    - s2i-fuse75-karaf-camel-amq
    - s2i-fuse75-karaf-camel-log
    - s2i-fuse75-karaf-camel-rest-sql
    - s2i-fuse75-karaf-cxf-rest
    - s2i-fuse75-spring-boot-camel
    - s2i-fuse75-spring-boot-camel-amq
    - s2i-fuse75-spring-boot-camel-config
    - s2i-fuse75-spring-boot-camel-drools
    - s2i-fuse75-spring-boot-camel-infinispan
    - s2i-fuse75-spring-boot-camel-rest-sql
    - s2i-fuse75-spring-boot-camel-rest-3scale
    - s2i-fuse75-spring-boot-camel-xa
    - s2i-fuse75-spring-boot-camel-xml
    - s2i-fuse75-spring-boot-cxf-jaxrs
    - s2i-fuse75-spring-boot-2-camel-amq
    - s2i-fuse75-spring-boot-2-camel-drools
    - s2i-fuse75-spring-boot-2-camel-infinispan
    - s2i-fuse75-spring-boot-2-camel-rest-3scale
    - s2i-fuse75-spring-boot-2-camel-rest-sql
    - s2i-fuse75-spring-boot-2-camel-teiid
    - s2i-fuse75-spring-boot-2-camel
    - s2i-fuse75-spring-boot-2-camel-xa
    - s2i-fuse75-spring-boot-2-camel-xml
    - s2i-fuse75-spring-boot-2-cxf-jaxrs
    - s2i-fuse75-spring-boot-2-cxf-jaxws
ansible/roles/ocp4-workload-camelk-crw/files/grafana/instance.yml
New file
@@ -0,0 +1,24 @@
apiVersion: integreatly.org/v1alpha1
kind: Grafana
metadata:
  name: grafana
spec:
  ingress:
    enabled: true
  config:
    auth:
      disable_signout_menu: true
    auth.anonymous:
      enabled: true
    log:
      level: warn
      mode: console
    security:
      admin_password: secret
      admin_user: root
  dashboardLabelSelector:
    - matchExpressions:
        - key: app
          operator: In
          values:
            - grafana
ansible/roles/ocp4-workload-camelk-crw/files/grafana/operator.yml
New file
@@ -0,0 +1,17 @@
---
kind: List
apiVersion: v1
metadata:
  name: grafana-operator
items:
- apiVersion: operators.coreos.com/v1alpha1
  kind: Subscription
  metadata:
    name: grafana-operator
  spec:
    channel: alpha
    installPlanApproval: Automatic
    name: grafana-operator
    source: community-operators
    sourceNamespace: openshift-marketplace
    startingCSV: grafana-operator.v2.0.0
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/operator.yml
New file
@@ -0,0 +1,17 @@
---
kind: List
apiVersion: v1
metadata:
  name: prometheus-operator
items:
- apiVersion: operators.coreos.com/v1alpha1
  kind: Subscription
  metadata:
    name: prometheus-operator
  spec:
    channel: beta
    installPlanApproval: Automatic
    name: prometheus
    source: community-operators
    sourceNamespace: openshift-marketplace
    startingCSV: prometheusoperator.0.32.0
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/route.yml
New file
@@ -0,0 +1,15 @@
kind: Route
apiVersion: route.openshift.io/v1
metadata:
  name: prometheus-prom
spec:
  to:
    kind: Service
    name: prometheus-prom
    weight: 100
  port:
    targetPort: web
  tls:
    termination: edge
    insecureEdgeTerminationPolicy: Redirect
  wildcardPolicy: None
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/service.yml
New file
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
  name: prometheus-prom
spec:
  type: ClusterIP
  ports:
    - name: web
      port: 9090
      protocol: TCP
      targetPort: web
  selector:
    prometheus: prom
ansible/roles/ocp4-workload-camelk-crw/files/prometheus/servicemonitor.yml
New file
@@ -0,0 +1,13 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: fuse-monitor
  labels:
    k8s-app: fuse-monitor
spec:
  selector:
    matchLabels:
      expose: "true"
  endpoints:
    - interval: 30s
      port: prom
ansible/roles/ocp4-workload-camelk-crw/files/stack.Dockerfile
New file
@@ -0,0 +1,52 @@
# syntax = docker/dockerfile:experimental
# To build this stack:
# Put your Red Hat Developer credentials in rhsm.secret.yaml file in this same directory, whose contents should be:
# RH_USERNAME=your-username
# RH_PASSWORD=your-password
#
# then:
# DOCKER_BUILDKIT=1 docker build --progress=plain --secret id=rhsm,src=rhsm.secret.yaml -t quay.io/username/cloudnative-workspaces-kamel:VVV -f stack.Dockerfile .
# docker push quay.io/username/quay.io/username/cloudnative-workspaces-kamel:VVVV
FROM registry.redhat.io/codeready-workspaces/stacks-java-rhel8:2.0
ENV GRAALVM_VERSION=19.3.1
ENV QUARKUS_VERSION=1.2.0.Final
ENV CAMELK_VERSION=1.0.0-RC1
ENV MVN_VERSION=3.6.3
ENV GRAALVM_HOME="/usr/local/graalvm-ce-java8-${GRAALVM_VERSION}"
ENV MAVEN_OPTS="-Xmx4G -Xss128M -XX:MetaspaceSize=1G -XX:MaxMetaspaceSize=2G -XX:+CMSClassUnloadingEnabled"
ENV PATH="/usr/local/maven/apache-maven-${MVN_VERSION}/bin:${PATH}"
ENV KUBECONFIG=$HOME/.kube/config
USER root
RUN wget -O /tmp/oc.tar.gz https://mirror.openshift.com/pub/openshift-v4/clients/oc/4.3/linux/oc.tar.gz && cd /usr/bin && tar -xvzf /tmp/oc.tar.gz && chmod a+x /usr/bin/oc && rm -f /tmp/oc.tar.gz
RUN wget -O /tmp/kn.tar.gz https://mirror.openshift.com/pub/openshift-v4/clients/serverless/0.11.0/kn-linux-amd64-0.11.0.tar.gz && cd /usr/bin && tar -xvzf /tmp/kn.tar.gz ./kn && chmod a+x kn && rm -f /tmp/kn.tar.gz
RUN wget -O /tmp/tkn.tar.gz https://github.com/tektoncd/cli/releases/download/v0.7.1/tkn_0.7.1_Linux_x86_64.tar.gz && cd /usr/bin && tar -xvzf /tmp/tkn.tar.gz tkn&& chmod a+x tkn && rm -f /tmp/tkn.tar.gz
RUN wget -O /tmp/graalvm.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-java8-linux-amd64-${GRAALVM_VERSION}.tar.gz && cd /usr/local && tar -xvzf /tmp/graalvm.tar.gz && rm -rf /tmp/graalvm.tar.gz && ${GRAALVM_HOME}/bin/gu install native-image
RUN wget -O /tmp/kamel.tar.gz https://github.com/apache/camel-k/releases/download/1.0.0-RC1/camel-k-client-1.0.0-RC1-linux-64bit.tar.gz && cd /usr/bin && tar -xvzf /tmp/kamel.tar.gz && chmod a+x /usr/bin/kamel && rm -f /tmp/kamel.tar.gz
RUN wget -O /tmp/mvn.tar.gz https://www-us.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries/apache-maven-${MVN_VERSION}-bin.tar.gz && tar xzf /tmp/mvn.tar.gz && rm -rf /tmp/mvn.tar.gz && mkdir /usr/local/maven && mv apache-maven-${MVN_VERSION}/ /usr/local/maven/ && alternatives --install /usr/bin/mvn mvn /usr/local/maven/apache-maven-${MVN_VERSION}/bin/mvn 1
#RUN --mount=type=secret,id=rhsm username="$(grep RH_USERNAME /run/secrets/rhsm|cut -d= -f2)" && password="$(grep RH_PASSWORD /run/secrets/rhsm|cut -d= -f2)" && subscription-manager register --username $username --password $password --auto-attach && yum install -y gcc zlib-devel && yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && yum install -y siege jq && subscription-manager remove --all && subscription-manager unregister
#USER jboss
#RUN cd /tmp && mkdir project && cd project && mvn io.quarkus:quarkus-maven-plugin:${QUARKUS_VERSION}:create -DprojectGroupId=org.acme -DprojectArtifactId=footest -Dextensions="quarkus-agroal,quarkus-arc,quarkus-hibernate-orm,quarkus-hibernate-orm-panache,quarkus-jdbc-h2,quarkus-jdbc-postgresql,quarkus-kubernetes,quarkus-scheduler,quarkus-smallrye-fault-tolerance,quarkus-smallrye-health,quarkus-smallrye-opentracing" && mvn -f footest clean compile package && cd / && rm -rf /tmp/project
#RUN cd /tmp && mkdir project && cd project && mvn io.quarkus:quarkus-maven-plugin:${QUARKUS_VERSION}:create -DprojectGroupId=org.acme -DprojectArtifactId=footest -Dextensions="quarkus-smallrye-reactive-streams-operators,quarkus-smallrye-reactive-messaging,quarkus-smallrye-reactive-messaging-kafka,quarkus-swagger-ui,quarkus-vertx,quarkus-kafka-client, quarkus-smallrye-metrics,quarkus-smallrye-openapi" && mvn -f footest clean compile package -Pnative && cd / && rm -rf /tmp/project
#RUN siege && sed -i 's/^connection = close/connection = keep-alive/' $HOME/.siege/siege.conf && sed -i 's/^benchmark = false/benchmark = true/' $HOME/.siege/siege.conf
#RUN echo '-w "\n"' > $HOME/.curlrc
#USER root
RUN chown -R jboss /home/jboss/.m2
RUN chmod -R a+w /home/jboss/.m2
USER jboss
ansible/roles/ocp4-workload-camelk-crw/files/stack_imagestream.yaml
New file
@@ -0,0 +1,18 @@
---
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  name: kamel-stack
  namespace: openshift
spec:
  tags:
  - annotations:
      description: Kamel stack for Java and CodeReady Workspaces
      iconClass: icon-java
      supports: java
      tags: builder,java
      version: "1.0"
    from:
      kind: DockerImage
      name: quay.io/mcochran/cloudnative-workspaces-kamel:1.1
    name: "1.0"
ansible/roles/ocp4-workload-camelk-crw/tasks/main.yml
New file
@@ -0,0 +1,31 @@
---
# Do not modify this file
- name: Running Pre Workload Tasks
  include_tasks:
    file: ./pre_workload.yml
    apply:
      become: "{{ become_override | bool }}"
  when: ACTION == "create" or ACTION == "provision"
- name: Running Workload Tasks
  include_tasks:
    file: ./workload.yml
    apply:
      become: "{{ become_override | bool }}"
  when: ACTION == "create" or ACTION == "provision"
- name: Running Post Workload Tasks
  include_tasks:
    file: ./post_workload.yml
    apply:
      become: "{{ become_override | bool }}"
  when: ACTION == "create" or ACTION == "provision"
- name: Running Workload removal Tasks
  include_tasks:
    file: ./remove_workload.yml
    apply:
      become: "{{ become_override | bool }}"
  when: ACTION == "destroy" or ACTION == "remove"
ansible/roles/ocp4-workload-camelk-crw/tasks/post_workload.yml
New file
@@ -0,0 +1,22 @@
---
# Implement your Post Workload deployment tasks here
- name: Remove temp dir
  file:
    path: "{{ tmp_dir }}"
    state: absent
- name: Print Overview
  debug:
    msg: "{{ item }}"
  with_items:
    - "user.info: Tools:"
    - "user.info: - Code Ready Workspaces (u: {{ _account_name }}, p: {{ _account_password }}): http://{{ che_route.stdout }}"
    - "user.info: - Prometheus: https://{{ prom_route.stdout }}"
    - "user.info: - Grafana: https://{{ grafana_route.stdout }}"
# Leave this as the last task in the playbook.
- name: post_workload tasks complete
  debug:
    msg: "Post-Workload Tasks completed successfully."
  when: not silent|bool
ansible/roles/ocp4-workload-camelk-crw/tasks/pre_workload.yml
New file
@@ -0,0 +1,47 @@
---
# Implement your Pre Workload deployment tasks here
- name: Fail if _namespace defined
  fail:
    msg: _namespace var is defined. didnt expect that
  when: _namespace is defined
- name: Fail if user count incorrect
  fail:
    msg: User count end({{ user_count_end }}) <= user count start ({{ user_count_start }})
  when: user_count_end|int <= user_count_start|int
- name: Get oc version
  command: >
    oc version -o json
  register: ocversion
- name: Fail if incorrect oc version
  fail:
    msg: Expected oc server version minor to be {{ _ocp_version }}
  when: (ocversion.stdout | from_json).serverVersion.minor != _ocp_version
- name: ensure python-openshift installed
  package:
    name: python-openshift
    state: present
  become: true
- name: Ensure tmp directory exists
  file:
    path: "{{ tmp_dir }}"
    state: directory
- name: Copy the role files to the remote host
  copy:
    src: files
    dest: "{{ tmp_dir }}"
- name: Copy the role templates to the remote host
  copy:
    src: templates
    dest: "{{ tmp_dir }}"
# Leave this as the last task in the playbook.
- name: pre_workload tasks complete
  debug:
    msg: "Pre-Workload tasks completed successfully."
ansible/roles/ocp4-workload-camelk-crw/tasks/remove_workload.yml
New file
@@ -0,0 +1,23 @@
---
# Implement your Workload removal tasks here
- name: Fail if _namespace defined
  fail:
    msg: _namespace var is defined. didnt expect that
  when: _namespace is defined
- name: Fail if user count incorrect
  fail:
    msg: User count end({{ user_count_end }}) <= user count start ({{ user_count_start }})
  when: user_count_end|int <= user_count_start|int
- name: Delete projects loop
  include_tasks: remove_workload_per_project.yml
  loop: "{{ range(user_count_start|int, user_count_end|int)|list }}"
  loop_control:
    loop_var: user_num
# Leave this as the last task in the playbook.
- name: remove_workload tasks complete
  debug:
    msg: "Remove Workload tasks completed successfully."
  when: not silent|bool
ansible/roles/ocp4-workload-camelk-crw/tasks/remove_workload_per_project.yml
New file
@@ -0,0 +1,9 @@
---
- name: set namespace
  set_fact:
    _namespace: "{{ namespace_prefix }}{{ user_num }}"
- name: Delete {{ _namespace }} project
  k8s:
    state: absent
    definition: "{{ lookup('template', role_path ~ '/templates/namespace.j2' ) | from_yaml }}"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload.yml
New file
@@ -0,0 +1,31 @@
---
# Implement your Workload deployment tasks here
- name: Setting up workload for users
  debug:
    msg: "Setting up workload for {{ range(user_count_start|int, user_count_end|int)|list }} users"
- name: Check OLM sources are running
  command: >
    oc rollout status Deployment/{{ item }} --watch=true -n openshift-marketplace
  with_items:
    - redhat-operators
    - community-operators
- name: Get Ingress domain
  command: >
    oc get ingresscontroller/default -n openshift-ingress-operator -o jsonpath='{.status.domain}' -n openshift-ingress-operator
  register: ingressdomain
- name: Run tasks per cluster
  include_tasks: workload_per_cluster_fuse.yml
- name: Run tasks per project
  include_tasks: workload_project.yml
  loop: "{{ range(user_count_start|int, user_count_end|int)|list }}"
  loop_control:
    loop_var: user_num
# Leave this as the last task in the playbook.
- name: workload tasks complete
  debug:
    msg: "Workload Tasks completed successfully."
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_cluster_fuse.yml
New file
@@ -0,0 +1,12 @@
---
- name: Patch samples operator for Fuse
  k8s:
    state: present
    namespace: openshift-cluster-samples-operator
    definition: "{{ lookup('file', role_path ~ '/files/fuse/samples-operator-patch.yml') | from_yaml }}"
- name: Create imagestreams for Fuse
  k8s:
    state: present
    namespace: openshift
    definition: "{{ lookup('file', role_path ~ '/files/fuse/fis-image-streams-2.1.fuse-750056-redhat-00006.json') | from_json }}"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_apicurito.yml
New file
@@ -0,0 +1,32 @@
---
- name: set namespace
  set_fact:
    _namespace: "{{ namespace_prefix }}{{ user_num }}"
- name: Evaluate {{ _namespace }} namespace if not exists
  k8s:
    api_version: v1
    kind: Namespace
    name: '{{ _namespace }}'
    state: present
- name: Create operator
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/apicurio/operator.yaml' ) | from_yaml }}"
- name: Wait until csv/{{ _apicurio_csv_version }} is Succeeded
  command: >
    oc get csv/{{ _apicurio_csv_version }} -o jsonpath='{.status.phase}' -n "{{ _namespace }}"
  register: apicuriocsv
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: apicuriocsv.stdout == "Succeeded"
- name: Create Apicurio Service
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/files/apicurio/service.yaml' ) | from_yaml }}"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_camelk.yml
New file
@@ -0,0 +1,21 @@
---
- name: set namespace
  set_fact:
    _namespace: "{{ namespace_prefix }}{{ user_num }}"
- name: Evaluate {{ _namespace }} namespace if not exists
  k8s:
    api_version: v1
    kind: Namespace
    name: '{{ _namespace }}'
    state: present
- name: Evaluate Camel K Subscription
  k8s:
    state: present
    resource_definition: "{{ lookup('template', 'camelk-subscription.yaml.j2') }}"
- name: Create Camel Integration Platform for Project
  k8s:
    state: present
    resource_definition: "{{ lookup('template', 'camel_integration_platform.yaml.j2') }}"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_codereadyworkspaces.yml
New file
@@ -0,0 +1,176 @@
---
- name: set namespace
  set_fact:
    _namespace: "{{ namespace_prefix }}{{ user_num }}"
- name: Create operator
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/codeready-workspaces/operator.yml' ) | from_yaml }}"
- name: Wait until csv/{{ _crw_csv_version }} is Succeeded
  command: >
    oc get csv/{{ _crw_csv_version }} -o jsonpath='{.status.phase}' -n "{{ _namespace }}"
  register: crwcsv
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: crwcsv.stdout == "Succeeded"
- name: Check if Che cluster already exists (note; error can be ignored)
  command: >
    oc get CheCluster/codeready-workspaces -o jsonpath='{.metadata.name}' -n "{{ _namespace }}"
  register: che_cluster
  ignore_errors: true
- name: Create Che Cluster
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/files/codeready-workspaces/cluster.yml' ) | from_yaml }}"
  when: che_cluster.stdout != "codeready-workspaces"
- name: Wait until Che Cluster is Running
  command: >
    oc get CheCluster/codeready-workspaces -o jsonpath='{.status.cheClusterRunning}' -n "{{ _namespace }}"
  register: checluster
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: checluster.stdout == "Available"
- name: Get codeready route host
  command: >
    oc get route/codeready -o jsonpath='{.spec.host}' -n "{{ _namespace }}"
  register: che_route
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: che_route.stdout != ""
- name: Get keycloak route host
  command: >
    oc get route/keycloak -o jsonpath='{.spec.host}' -n "{{ _namespace }}"
  register: keycloak_route
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: keycloak_route.stdout != ""
- name: Wait for Che route to respond with 200
  uri:
    url: "http://{{ che_route.stdout }}"
    method: GET
    validate_certs: false
    follow_redirects: yes
  register: cheresult
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: cheresult.status == 200
- name: Wait for Keycloak route to respond with 200
  uri:
    url: "http://{{ keycloak_route.stdout }}"
    method: GET
    validate_certs: false
    follow_redirects: yes
  register: keycloakresult
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: keycloakresult.status == 200
- name: Get Keycloak username
  command: >
    oc get deployment/keycloak -o=jsonpath={'.spec.template.spec.containers[0].env[?(@.name=="SSO_ADMIN_USERNAME")].value'} -n "{{ _namespace }}"
  register: sso_admin_username
- name: Get Keycloak password
  command: >
    oc get deployment/keycloak -o=jsonpath={'.spec.template.spec.containers[0].env[?(@.name=="SSO_ADMIN_PASSWORD")].value'} -n "{{ _namespace }}"
  register: sso_admin_password
- name: Get Keycloak admin token
  uri:
    url: "http://{{ keycloak_route.stdout }}/auth/realms/master/protocol/openid-connect/token"
    method: POST
    body:
      username: "{{ sso_admin_username.stdout }}"
      password: "{{ sso_admin_password.stdout }}"
      grant_type: "password"
      client_id: "admin-cli"
    body_format: form-urlencoded
    status_code: 200,201,204
  register: sso_admin_token
- name: Add user to Che
  uri:
    url: "http://{{ keycloak_route.stdout }}/auth/admin/realms/codeready/users"
    method: POST
    headers:
      Authorization: "Bearer {{ sso_admin_token.json.access_token }}"
    body:
      username: "{{ _namespace }}"
      enabled: true
      emailVerified: true
      firstName: "{{ _namespace }}"
      lastName: Developer
      email: "{{ _namespace }}@workshop.com"
      credentials:
        - type: password
          value: "{{ _account_password }}"
          temporary: false
    body_format: json
    status_code: 201,409
- name: Import stack imagestream
  k8s:
    state: present
    merge_type:
    - strategic-merge
    - merge
    definition: "{{ lookup('file', item ) | from_yaml }}"
  loop:
  - ./files/stack_imagestream.yaml
- name: wait for stack to be a thing
  k8s_facts:
    kind: ImageStream
    name: kamel-stack
    namespace: openshift
  register: r_stack_is
  retries: 200
  delay: 10
  ignore_errors: yes
  until: r_stack_is.resources | list | length == 1
- name: import stack image
  shell: |
    oc import-image --all kamel-stack -n openshift
- name: wait 2 minutes and let the image download and be registered so workspaces start up
  pause:
      minutes: 2
- name: Get Che user token
  uri:
    url: "http://{{ keycloak_route.stdout }}/auth/realms/codeready/protocol/openid-connect/token"
    method: POST
    body:
      username: "{{ _namespace }}"
      password: "{{ _account_password }}"
      grant_type: "password"
      client_id: "admin-cli"
    body_format: form-urlencoded
    status_code: 200
  register: user_token
- name: Create Che workspace
  uri:
    url: "http://{{ che_route.stdout }}/api/workspace/devfile?namespace={{ _namespace }}&start-after-create=true"
    method: POST
    headers:
      Authorization: "Bearer {{ user_token.json.access_token }}"
    body: "{{ lookup('template', role_path ~ '/templates/codeready-workspaces/workspace.j2') }}"
    body_format: json
    status_code: 201,409
  register: workspace_def
#- name: todo
#  debug:
#    msg: "TODO: Deploy quarkus workspace and other plugins needed by pam/dm"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_fuse.yml
New file
@@ -0,0 +1,18 @@
---
- name: Create quickstarts for Fuse
  command: >
    oc apply -f "{{ tmp_dir }}/files/fuse/quickstarts" -n "{{ _namespace }}"
- name: Create deployment to pre-pull images for Fuse
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/fuse/fuse-imagepuller.yml' ) | from_yaml }}"
- name: Wait until image-puller has Complete condition
  command: >
    oc get jobs/image-puller -o jsonpath='{.status.conditions[?(@.type=="Complete")].status}' -n "{{ _namespace }}"
  register: imagepuller
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: imagepuller.stdout == "True"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_grafana.yml
New file
@@ -0,0 +1,55 @@
---
- name: Create operator
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/grafana/operator.yml' ) | from_yaml }}"
- name: Wait until csv/{{ _grafana_csv_version }} is Succeeded
  command: >
    oc get csv/{{ _grafana_csv_version }} -o jsonpath='{.status.phase}' -n "{{ _namespace }}"
  register: grafanacsv
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: grafanacsv.stdout == "Succeeded"
- name: Create Grafana
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/grafana/instance.yml' ) | from_yaml }}"
- name: Wait until Grafana is phase 3
  command: >
    oc get grafana/grafana -o jsonpath='{.status.phase}' -n "{{ _namespace }}"
  register: grafana
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: grafana.stdout == "3"
- name: Check Grafana is running
  command: >
    oc rollout status Deployment/grafana-deployment --watch=true -n "{{ _namespace }}"
- name: Get Grafana route host
  command: >
    oc get route/grafana-route -o jsonpath='{.spec.host}' -n "{{ _namespace }}"
  register: grafana_route
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: grafana_route.stdout != ""
- name: Wait for Grafana route to respond with 200
  uri:
    url: "https://{{ grafana_route.stdout }}"
    method: GET
    validate_certs: false
    follow_redirects: yes
  register: grafanaresult
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: grafanaresult.status == 200
- name: todo
  debug:
    msg: "TODO: Create a dashboard for whatever we need to show"
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_per_project_prometheus.yml
New file
@@ -0,0 +1,61 @@
---
- name: Create operator
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('file', role_path ~ '/files/prometheus/operator.yml' ) | from_yaml }}"
- name: Wait until csv/{{ _prometheus_csv_version }} is Succeeded
  command: >
    oc get csv/{{ _prometheus_csv_version }} -o jsonpath='{.status.phase}' -n "{{ _namespace }}"
  register: promcsv
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: promcsv.stdout == "Succeeded"
- name: Create Prometheus
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/templates/prometheus/prometheus.j2' ) | from_yaml }}"
- name: Create Prometheus Route
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/files/prometheus/route.yml' ) | from_yaml }}"
- name: Create Prometheus Service
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/files/prometheus/service.yml' ) | from_yaml }}"
- name: Create Prometheus ServiceMonitor
  k8s:
    state: present
    namespace: "{{ _namespace }}"
    definition: "{{ lookup('template', role_path ~ '/files/prometheus/servicemonitor.yml' ) | from_yaml }}"
- name: Check Prometheus is running
  command: >
    oc rollout status StatefulSet/prometheus-prom --watch=true -n "{{ _namespace }}"
- name: Get Prometheus route host
  command: >
    oc get route/prometheus-prom -o jsonpath='{.spec.host}' -n "{{ _namespace }}"
  register: prom_route
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: prom_route.stdout != ""
- name: Wait for Prometheus route to respond with 200
  uri:
    url: "https://{{ prom_route.stdout }}"
    method: GET
    validate_certs: false
    follow_redirects: yes
  register: promresult
  retries: "{{ _retry }}"
  delay: "{{ _delay }}"
  until: promresult.status == 200
ansible/roles/ocp4-workload-camelk-crw/tasks/workload_project.yml
New file
@@ -0,0 +1,36 @@
---
- name: set namespace
  set_fact:
    _namespace: "{{ namespace_prefix }}{{ user_num }}"
- name: Create namespace for {{ _namespace }}
  k8s:
    state: present
    definition: "{{ lookup('template', role_path ~ '/templates/namespace.j2' ) | from_yaml }}"
- name: Create OperatorGroup for the operators
  k8s:
    state: present
    definition: "{{ lookup('template', role_path ~ '/templates/olm-operatorgroup/group.j2' ) | from_yaml }}"
- name: Fuse for {{ _namespace }}
  include_tasks: workload_per_project_fuse.yml
- name: CoreReadyWorkspaces for {{ _namespace }}
  include_tasks: workload_per_project_codereadyworkspaces.yml
- name: Prometheus for {{ _namespace }}
  include_tasks: workload_per_project_prometheus.yml
- name: Grafana for {{ _namespace }}
  include_tasks: workload_per_project_grafana.yml
- name: Apicurito for {{ _namespace }}
  include_tasks: workload_per_project_apicurito.yml
- name: CamelK for {{ _namespace }}
  include_tasks: workload_per_project_camelk.yml
- name: Give access to namespace for {{ _namespace }}
  shell: "oc policy add-role-to-user admin {{ namespace_prefix }}{{ user_num }} -n {{ _namespace }}"
ansible/roles/ocp4-workload-camelk-crw/templates/apicurito.yaml.j2
New file
@@ -0,0 +1,275 @@
apiVersion: template.openshift.io/v1
kind: Template
message: Apicurito is now deployed to https://${ROUTE_HOSTNAME}.
metadata:
  annotations:
    description: Design beautiful, functional APIs with zero coding, using a visual
      designer for OpenAPI documents.
    iconClass: icon-rh-integration
    openshift.io/display-name: Red Hat Fuse Apicurito
    openshift.io/provider-display-name: Red Hat, Inc.
    samples.operator.openshift.io/version: 4.3.1
    tags: fuse,apicurio,openapi,swagger,api
    version: "1.4"
  creationTimestamp: "2020-02-14T15:55:32Z"
  labels:
    app: apicurito
    samples.operator.openshift.io/managed: "true"
  name: apicurito
  namespace: openshift
  resourceVersion: "12004"
  selfLink: /apis/template.openshift.io/v1/namespaces/openshift/templates/apicurito
  uid: f4b0168a-fc62-47d4-b7b9-3ced7c2c1d7c
objects:
- apiVersion: v1
  data:
    config.js: |
      var ApicuritoConfig = {
          "generators": [
              {
                  "name":"Fuse Camel Project",
                  "url":"/api/v1/generate/camel-project.zip"
              }
          ]
      }
  kind: ConfigMap
  metadata:
    labels:
      app: apicurito
    name: apicurito-ui-config
- apiVersion: apps.openshift.io/v1
  kind: DeploymentConfig
  metadata:
    labels:
      app: apicurito
      component: apicurito-ui
    name: apicurito-ui
  spec:
    replicas: 1
    selector:
      app: apicurito
      component: apicurito-ui
    strategy:
      rollingParams:
        intervalSeconds: 1
        maxSurge: 25%
        maxUnavailable: 25%
        timeoutSeconds: 600
        updatePeriodSeconds: 1
      type: Rolling
    template:
      metadata:
        labels:
          app: apicurito
          component: apicurito-ui
      spec:
        containers:
        - imagePullPolicy: IfNotPresent
          livenessProbe:
            httpGet:
              path: /
              port: 8080
            initialDelaySeconds: 30
          name: apicurito-ui
          ports:
          - containerPort: 8080
          readinessProbe:
            httpGet:
              path: /
              port: 8080
            initialDelaySeconds: 1
          resources:
            limits:
              cpu: ${CPU_LIMIT}
              memory: ${MEMORY_LIMIT}
            requests:
              cpu: ${CPU_REQUEST}
              memory: ${MEMORY_REQUEST}
          volumeMounts:
          - mountPath: /html/config
            name: config-volume
        volumes:
        - configMap:
            name: apicurito-ui-config
          name: config-volume
    triggers:
    - imageChangeParams:
        automatic: true
        containerNames:
        - apicurito-ui
        from:
          kind: ImageStreamTag
          name: apicurito-ui:${APP_VERSION}
          namespace: ${IMAGE_STREAM_NAMESPACE}
      type: ImageChange
    - type: ConfigChange
- apiVersion: v1
  kind: Service
  metadata:
    labels:
      app: apicurito
    name: apicurito-ui
  spec:
    ports:
    - port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: apicurito
      component: apicurito-ui
- apiVersion: route.openshift.io/v1
  kind: Route
  metadata:
    annotations:
      console.alpha.openshift.io/overview-app-route: "true"
    labels:
      app: apicurito
    name: apicurito
  spec:
    host: ${ROUTE_HOSTNAME}
    tls:
      termination: edge
    to:
      kind: Service
      name: apicurito-ui
- apiVersion: apps.openshift.io/v1
  kind: DeploymentConfig
  metadata:
    labels:
      app: apicurito
      component: fuse-apicurito-generator
    name: fuse-apicurito-generator
  spec:
    replicas: 1
    selector:
      app: apicurito
      component: fuse-apicurito-generator
    strategy:
      rollingParams:
        intervalSeconds: 1
        maxSurge: 25%
        maxUnavailable: 25%
        timeoutSeconds: 600
        updatePeriodSeconds: 1
      type: Rolling
    template:
      metadata:
        labels:
          app: apicurito
          component: fuse-apicurito-generator
      spec:
        containers:
        - imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: 8181
              scheme: HTTP
            initialDelaySeconds: 180
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          name: fuse-apicurito-generator
          ports:
          - containerPort: 8080
            name: http
            protocol: TCP
          - containerPort: 9779
            name: prometheus
            protocol: TCP
          - containerPort: 8778
            name: jolokia
            protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: 8181
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          resources:
            limits:
              cpu: ${CPU_LIMIT}
              memory: ${MEMORY_LIMIT}
            requests:
              cpu: ${CPU_REQUEST}
              memory: ${MEMORY_REQUEST}
    triggers:
    - imageChangeParams:
        automatic: true
        containerNames:
        - fuse-apicurito-generator
        from:
          kind: ImageStreamTag
          name: fuse-apicurito-generator:${APP_VERSION}
          namespace: ${IMAGE_STREAM_NAMESPACE}
      type: ImageChange
    - type: ConfigChange
- apiVersion: v1
  kind: Service
  metadata:
    labels:
      app: apicurito
    name: fuse-apicurito-generator
  spec:
    ports:
    - port: 80
      protocol: TCP
      targetPort: 8080
    selector:
      app: apicurito
      component: fuse-apicurito-generator
- apiVersion: route.openshift.io/v1
  kind: Route
  metadata:
    labels:
      app: apicurito
    name: fuse-apicurito-generator
  spec:
    host: ${ROUTE_HOSTNAME}
    path: /api/v1
    tls:
      termination: edge
    to:
      kind: Service
      name: fuse-apicurito-generator
parameters:
- description: The application version.
  displayName: Application Version
  name: APP_VERSION
  required: true
  value: "1.4"
- description: Namespace in which the Fuse image streams are installed. These image
    streams are normally installed in the 'openshift' namespace. You should only need
    to modify this if you've installed the image streams in a different namespace/project.
  displayName: Image Stream Namespace
  name: IMAGE_STREAM_NAMESPACE
  required: true
  value: openshift
- description: The external hostname to access Apicurito
  name: ROUTE_HOSTNAME
  required: true
- description: The amount of CPU to request for each container.
  displayName: CPU request
  name: CPU_REQUEST
  required: true
  value: "0.2"
- description: The amount of memory required for each container to run.
  displayName: Memory request
  name: MEMORY_REQUEST
  required: true
  value: 64Mi
- description: The amount of CPU each container is limited to use.
  displayName: CPU limit
  name: CPU_LIMIT
  required: true
  value: "1.0"
- description: The amount of memory each container is limited to use.
  displayName: Memory limit
  name: MEMORY_LIMIT
  required: true
  value: 256Mi
ansible/roles/ocp4-workload-camelk-crw/templates/bucketrepo/deployment.j2
New file
@@ -0,0 +1,130 @@
---
kind: List
apiVersion: v1
metadata:
  name: bucketrepo-deployment
items:
- apiVersion: image.openshift.io/v1
  kind: ImageStream
  metadata:
    name: summit-2020-bucketrepo
  spec:
    lookupPolicy:
      local: false
    tags:
      - from:
          kind: DockerImage
          name: quay.io/redhat-consulting-uk/summit-2020-bucketrepo:latest
        name: latest
        referencePolicy:
          type: Local
- apiVersion: v1
  kind: Secret
  metadata:
    name: bucketrepo-config
    annotations:
      config/checksum: 533347b915964ea57056e799479ab96181274ee7cde598452affee274449ad22
  type: Opaque
  stringData:
    config.yaml: |
      http:
        addr: ":8080"
      storage:
        enabled: false
        bucket_url: "gs://bucketrepo"
      cache:
        base_dir: "/tmp/bucketrepo"
- apiVersion: v1
  kind: Service
  metadata:
    name: mavenrepo
    labels:
      chart: "bucketrepo-0.1.19"
  spec:
    type: ClusterIP
    ports:
      - port: 8080
        targetPort: 8080
        protocol: TCP
        name: http
    selector:
      app: bucketrepo
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: mavenrepo
    labels:
      app: maven
      app.kubernetes.io/component: web
      app.kubernetes.io/instance: mavenrepo
      app.kubernetes.io/name: mavenrepo
      app.kubernetes.io/part-of: mavenrepo
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: bucketrepo
    template:
      metadata:
        labels:
          app: bucketrepo
      spec:
        containers:
          - name: bucketrepo
            image: "image-registry.openshift-image-registry.svc:5000/{{ _namespace }}/summit-2020-bucketrepo"
            imagePullPolicy: IfNotPresent
            command: ["/bucketrepo"]
            args:
              - "-config-path=/config"
              - "-log-level=info"
            ports:
              - containerPort: 8080
            livenessProbe:
              httpGet:
                path: /healthz
                port: 8080
              initialDelaySeconds: 60
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            readinessProbe:
              httpGet:
                path: /healthz
                port: 8080
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            volumeMounts:
              - name: config
                mountPath: /config
                readOnly: true
            resources:
              limits:
                cpu: 100m
                memory: 256Mi
              requests:
                cpu: 80m
                memory: 128Mi
        terminationGracePeriodSeconds: 10
        volumes:
          - name: config
            secret:
              secretName: bucketrepo-config
- apiVersion: v1
  kind: ConfigMap
  metadata:
    name: mvn-settings
  data:
    .settings.xml: |
      <settings>
        <mirrors>
          <mirror>
            <id>bucketrepo</id>
            <name>bucketrepo-mirror</name>
            <url>http://mavenrepo:8080/bucketrepo/</url>
            <mirrorOf>*</mirrorOf>
          </mirror>
        </mirrors>
      </settings>
ansible/roles/ocp4-workload-camelk-crw/templates/camel_integration_platform.yaml.j2
New file
@@ -0,0 +1,6 @@
apiVersion: camel.apache.org/v1
kind: IntegrationPlatform
metadata:
  name: example
  namespace: {{ _namespace }}
spec: {}
ansible/roles/ocp4-workload-camelk-crw/templates/camelk-csv.yaml.j2
New file
@@ -0,0 +1,12 @@
apiVersion: operators.coreos.com/v1
kind: CatalogSourceConfig
metadata:
  finalizers:
  - finalizer.catalogsourceconfigs.operators.coreos.com
  name: installed-community-openshift-operators
  namespace: openshift-marketplace
spec:
  csDisplayName: Community Operators
  csPublisher: Community
  packages: camel-k
  targetNamespace: '{{ _namespace }}'
ansible/roles/ocp4-workload-camelk-crw/templates/camelk-subscription.yaml.j2
New file
@@ -0,0 +1,12 @@
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: camel-k
  namespace: {{ _namespace }}
spec:
  channel: alpha
  installPlanApproval: Automatic
  name: camel-k
  source: community-operators
  sourceNamespace: openshift-marketplace
  startingCSV: camel-k-operator.v{{ camelk_version }}
ansible/roles/ocp4-workload-camelk-crw/templates/codeready-workspaces/workspace.j2
New file
@@ -0,0 +1,64 @@
{
  "metadata": {
    "name": "{{ _namespace }}-workspace"
  },
  "projects": [
    {
      "name": "camelk-openshift",
      "source": {
        "location": "https://gitlab.com/2020-summit-labs/developing-integrations-with-camel-k-on-openshift.git",
        "type": "git"
      }
    },
  ],
  "components": [
    {
      "id": "redhat/java8/latest",
      "type": "chePlugin"
    },
    {
      "mountSources": true,
      "memoryLimit": "3Gi",
      "type": "dockerimage",
      "volumes": [
        {
          "name": "m2",
          "containerPath": "/home/jboss/.m2"
        }
      ],
      "alias": "kamel-tools",
      "image": "image-registry.openshift-image-registry.svc:5000/openshift/kamel-stack:1.0",
      "env": [
        {
          "value": "/home/jboss/.m2",
          "name": "MAVEN_CONFIG"
        },
        {
          "value": "-Xmx4G -Xss128M -XX:MetaspaceSize=1G -XX:MaxMetaspaceSize=2G -XX:+CMSClassUnloadingEnabled",
          "name": "MAVEN_OPTS"
        }
      ],
      "endpoints": [
        {
          "name": "web-{{ _namespace }}",
          "port": 8080,
          "attributes": {
            "discoverable": "true",
            "public": "true",
            "protocol": "http"
          }
        },
        {
          "name": "debug-{{ _namespace }}",
          "port": 5005,
          "attributes": {
            "discoverable": "true",
            "public": "true",
            "protocol": "jdwp"
          }
        }
      ]
    }
  ],
  "apiVersion": "1.0.0"
}
ansible/roles/ocp4-workload-camelk-crw/templates/gitea/operator.j2
New file
@@ -0,0 +1,184 @@
---
kind: List
apiVersion: v1
metadata:
  name: gitea-operator
items:
- apiVersion: apiextensions.k8s.io/v1beta1
  kind: CustomResourceDefinition
  metadata:
    name: giteas.gpte.opentlc.com
  spec:
    group: gpte.opentlc.com
    names:
      kind: Gitea
      listKind: GiteaList
      plural: giteas
      singular: gitea
    scope: Namespaced
    subresources:
      status: {}
    version: v1alpha1
    versions:
    - name: v1alpha1
      served: true
      storage: true
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    name: gitea-operator
  rules:
    - apiGroups:
        - ""
      resources:
        - pods
        - services
        - services/finalizers
        - endpoints
        - persistentvolumeclaims
        - events
        - configmaps
        - secrets
        - serviceaccounts
      verbs:
        - create
        - update
        - delete
        - get
        - list
        - watch
        - patch
    - apiGroups:
       - apps
      resources:
        - deployments
      verbs:
        - create
        - update
        - delete
        - get
        - list
        - watch
        - patch
    - apiGroups:
        - monitoring.coreos.com
      resources:
        - servicemonitors
      verbs:
        - get
        - create
    - apiGroups:
        - apps
      resourceNames:
        - gitea-operator
      resources:
        - deployments/finalizers
      verbs:
        - update
    - apiGroups:
        - ""
      resources:
        - pods
      verbs:
        - get
    - apiGroups:
        - apps
      resources:
        - replicasets
      verbs:
        - get
    - apiGroups:
        - ""
      resources:
        - namespaces
      verbs:
        - get
    - apiGroups:
        - route.openshift.io
      resources:
        - routes
        - routes/custom-host
      verbs:
        - create
        - update
        - delete
        - get
        - list
        - watch
        - patch
    - apiGroups:
        - gpte.opentlc.com
      resources:
        - giteas
        - giteas/status
      verbs:
        - create
        - update
        - delete
        - get
        - list
        - watch
        - patch
- kind: ClusterRoleBinding
  apiVersion: rbac.authorization.k8s.io/v1
  metadata:
    name: gitea-operator
  subjects:
    - kind: ServiceAccount
      name: gitea-operator
      namespace: {{ _namespace }}
  roleRef:
    kind: ClusterRole
    name: gitea-operator
    apiGroup: rbac.authorization.k8s.io
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    name: gitea-operator
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: gitea-operator
  spec:
    replicas: 1
    selector:
      matchLabels:
        name: gitea-operator
    template:
      metadata:
        labels:
          name: gitea-operator
      spec:
        serviceAccountName: gitea-operator
        containers:
          - name: ansible
            command:
            - /usr/local/bin/ao-logs
            - /tmp/ansible-operator/runner
            - stdout
            image: quay.io/gpte-devops-automation/gitea-operator:v0.12
            imagePullPolicy: Always
            volumeMounts:
            - mountPath: /tmp/ansible-operator/runner
              name: runner
              readOnly: true
          - name: operator
            image: quay.io/gpte-devops-automation/gitea-operator:v0.12
            imagePullPolicy: Always
            volumeMounts:
            - mountPath: /tmp/ansible-operator/runner
              name: runner
            env:
              - name: WATCH_NAMESPACE
                value: ""
              - name: POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: OPERATOR_NAME
                value: "gitea-operator"
              - name: ANSIBLE_GATHERING
                value: explicit
        volumes:
          - name: runner
            emptyDir: {}
ansible/roles/ocp4-workload-camelk-crw/templates/namespace.j2
New file
@@ -0,0 +1,10 @@
apiVersion: v1
kind: Namespace
metadata:
  annotations:
    openshift.io/description: "ocp4-workload-camel-crw"
    openshift.io/display-name: ""
  name: "{{ _namespace }}"
spec:
  finalizers:
    - kubernetes
ansible/roles/ocp4-workload-camelk-crw/templates/olm-operatorgroup/group.j2
New file
@@ -0,0 +1,19 @@
---
kind: List
apiVersion: v1
metadata:
  name: olm-operatorgroup
items:
- apiVersion: operators.coreos.com/v1
  kind: OperatorGroup
  metadata:
    annotations:
      olm.providedAPIs: Grafana.v1alpha1.integreatly.org,GrafanaDashboard.v1alpha1.integreatly.org,GrafanaDataSource.v1alpha1.integreatly.org,Kafka.v1beta1.kafka.strimzi.io,KafkaBridge.v1alpha1.kafka.strimzi.io,KafkaConnect.v1beta1.kafka.strimzi.io,KafkaConnectS2I.v1beta1.kafka.strimzi.io,KafkaMirrorMaker.v1beta1.kafka.strimzi.io,KafkaTopic.v1beta1.kafka.strimzi.io,KafkaUser.v1beta1.kafka.strimzi.io
    name: {{ _namespace }}
    namespace: {{ _namespace }}
  spec:
    serviceAccount:
      metadata:
        creationTimestamp: null
    targetNamespaces:
      - {{ _namespace }}
ansible/roles/ocp4-workload-camelk-crw/templates/prometheus/prometheus.j2
New file
@@ -0,0 +1,19 @@
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prom
  labels:
    prometheus: k8s
spec:
  externalUrl: 'https://prometheus-prom-{{ _namespace }}.{{ ingressdomain.stdout }}'
  replicas: 2
  serviceAccountName: prometheus-k8s
  securityContext: {}
  serviceMonitorSelector:
    matchExpressions:
      - key: k8s-app
        operator: Exists
  ruleSelector:
    matchLabels:
      role: prometheus-rulefiles
      prometheus: k8s