{ "apiVersion": "v1", "kind": "Template", "metadata": { "annotations": { "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 a little application that includes a Camel route that triggeres a message every 5th second, and routes the message to a log.", "tags": "quickstart,java,springboot,fis", "iconClass": "icon-jboss", "version": "2.0" }, "name": "s2i-springboot-camel" }, "labels": { "template": "s2i-springboot-camel" }, "parameters": [ { "name": "APP_NAME", "displayName": "Application Name", "required": true, "value": "s2i-springboot-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-000008", "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": "2.0", "description": "The version of the FIS S2I builder image to use." }, { "name": "APP_VERSION", "displayName": "Application Version", "value": "1.0.0.fuse-000008", "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}" } ], "objects": [ { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "${APP_NAME}", "creationTimestamp": null, "labels": { "component": "${APP_NAME}", "group": "quickstarts", "project": "${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", "project": "${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": "fis-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": {} }, "status": { "lastVersion": 0 } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "${APP_NAME}", "creationTimestamp": null, "labels": { "component": "${APP_NAME}", "group": "quickstarts", "project": "${APP_NAME}", "provider": "s2i", "version": "${APP_VERSION}" } }, "spec": { "strategy": { "resources": {} }, "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", "project": "${APP_NAME}", "provider": "s2i", "version": "${APP_VERSION}" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "component": "${APP_NAME}", "deploymentconfig": "${APP_NAME}", "group": "quickstarts", "project": "${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": {} } ] } } }, "status": {} } ] }