--- kind: Template apiVersion: v1 metadata: annotations: iconClass: icon-eap tags: eap,javaee,java,jboss version: 5.0.3-SNAPSHOT openshift.io/display-name: Entando Quickstart on EAP 7.1 openshift.io/provider-display-name: Entando description: An example illustrating how to get Entando up and running on EAP 7.1 template.openshift.io/long-description: This template defines resources needed to develop Entando applications based on EAP 7.1. template.openshift.io/documentation-url: https://central.entando.com/ template.openshift.io/support-url: https://central.entando.com name: entando-eap-quickstart labels: template: entando-eap-quickstart message: A new Entando EAP 7.1 Quickstart has been created in your project. parameters: - displayName: Application Name description: The name for the application. name: APPLICATION_NAME value: entando-sample required: false - displayName: Entando Image Stream Tag description: The Image Stream Tag to use, which generally corresponds with the Entando version to be used name: ENTANDO_IMAGE_VERSION description: The Image Stream Tag to use for each of the Entando Images for which there is a DeploymentConfig. This Image Stream Tag should which generally corresponds with the Entando version to be used. value: 5.0.3-SNAPSHOT required: false - displayName: ImageStream Namespace name: IMAGE_STREAM_NAMESPACE description: Namespace in which the ImageStreams for Entando images 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. value: openshift required: true - displayName: Custom HTTP Route Hostname for the AppBuilder description: 'Custom http Route Hostname for the AppBuilder. Leave blank for default hostname, e.g.: -.' name: ENTANDO_APP_BUILDER_HOSTNAME value: '' required: false - displayName: Custom HTTP Route Hostname for the Entando runtime engine description: 'Custom http Route Hostname for the Entando runtime engine.' name: ENTANDO_ENGINE_HOSTNAME value: '' required: true - displayName: Context root of the Entando runtime engine web app description: 'Context root of the Entando runtime engine web app' name: ENTANDO_ENGINE_WEB_CONTEXT value: '' required: false - displayName: KIE Server Base URL description: KIE Server Base URL name: KIE_SERVER_BASE_URL value: 'http://entando-kieserver701.apps.serv.run/' required: false - displayName: KIE Server Username name: KIE_SERVER_USERNAME description: KIE Server Username value: 'kieserver' required: false - displayName: KIE Server Password name: KIE_SERVER_PASSWORD description: KIE Server Password value: 'kieserver1!' required: false - displayName: Database Volume Capacity description: Size of persistent storage for database volume. name: VOLUME_CAPACITY value: 1Gi required: false - description: Container memory limit name: MEMORY_LIMIT value: 2Gi required: false #Source code related parameters # - displayName: Source Secret # description: Source Secret containing the Username and Password for the source repository # name: SOURCE_SECRET # value: entando-source-secret # required: false - displayName: Git Repository URL description: Git source URI for application name: SOURCE_REPOSITORY_URL value: https://github.com/entando/entando-sample-minimal.git required: true - displayName: Git Reference description: Git branch/tag reference name: SOURCE_REPOSITORY_REF value: master required: false - displayName: Context Directory description: Path within Git project to build; empty for root project directory. name: CONTEXT_DIR value: '' required: false - displayName: Github Webhook Secret description: GitHub trigger secret name: GITHUB_WEBHOOK_SECRET from: "[a-zA-Z0-9]{8}" generate: expression required: false - displayName: Generic Webhook Secret description: Generic build trigger secret name: GENERIC_WEBHOOK_SECRET from: "[a-zA-Z0-9]{8}" generate: expression required: true - displayName: Maven mirror URL description: Maven mirror to use for S2I builds name: MAVEN_MIRROR_URL value: '' required: false - displayName: Maven Additional Arguments description: Maven additional arguments to use for S2I builds name: MAVEN_ARGS_APPEND value: '' required: false - 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: '' required: false objects: - kind: Service apiVersion: v1 spec: ports: - port: 8080 targetPort: 8080 selector: deploymentConfig: "${APPLICATION_NAME}-engine" metadata: name: "${APPLICATION_NAME}-engine" labels: application: "${APPLICATION_NAME}" annotations: description: The Entando Runtime server's http port. - kind: Service apiVersion: v1 spec: ports: - port: 5000 targetPort: 5000 selector: deploymentConfig: "${APPLICATION_NAME}-appbuilder" metadata: name: "${APPLICATION_NAME}-appbuilder" labels: application: "${APPLICATION_NAME}" annotations: description: The Entando AppBuilder http port. - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-engine-http" metadata: name: "${APPLICATION_NAME}-engine-http" labels: application: "${APPLICATION_NAME}" annotations: description: Route for the Entando Engine's http service. spec: host: "${ENTANDO_ENGINE_HOSTNAME}" path: "${ENTANDO_ENGINE_WEB_CONTEXT}" to: name: "${APPLICATION_NAME}-engine" - kind: Route apiVersion: v1 id: "${APPLICATION_NAME}-appbuilder" metadata: name: "${APPLICATION_NAME}-appbuilder" labels: application: "${APPLICATION_NAME}" annotations: description: Route for application's http service. spec: host: "${ENTANDO_APP_BUILDER_HOSTNAME}" to: name: "${APPLICATION_NAME}-appbuilder" - kind: ImageStream apiVersion: v1 metadata: name: "${APPLICATION_NAME}" labels: application: "${APPLICATION_NAME}" - kind: BuildConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-s2i-dbrebuild" labels: application: "${APPLICATION_NAME}" spec: source: type: Git git: uri: "${SOURCE_REPOSITORY_URL}" ref: "${SOURCE_REPOSITORY_REF}" contextDir: "${CONTEXT_DIR}" # sourceSecret: # name: "${SOURCE_SECRET}" strategy: type: Source sourceStrategy: env: - name: MAVEN_MIRROR_URL value: "${MAVEN_MIRROR_URL}" - name: MAVEN_ARGS_APPEND value: "${MAVEN_ARGS_APPEND}" - name: ARTIFACT_DIR value: "${ARTIFACT_DIR}" - name: PREPARE_DATA value: "true" forcePull: false from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: entando-eap71-quickstart-openshift:${ENTANDO_IMAGE_VERSION} incremental: false output: to: kind: ImageStreamTag name: "${APPLICATION_NAME}:latest" triggers: - type: GitHub github: secret: "${GITHUB_WEBHOOK_SECRET}" - type: Generic generic: secret: "${GENERIC_WEBHOOK_SECRET}" - type: ImageChange imageChange: {} - type: ConfigChange - kind: BuildConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-s2i-fast" labels: application: "${APPLICATION_NAME}" spec: source: type: Git git: uri: "${SOURCE_REPOSITORY_URL}" ref: "${SOURCE_REPOSITORY_REF}" contextDir: "${CONTEXT_DIR}" strategy: type: Source sourceStrategy: env: - name: MAVEN_MIRROR_URL value: "${MAVEN_MIRROR_URL}" - name: MAVEN_ARGS_APPEND value: "${MAVEN_ARGS_APPEND}" - name: ARTIFACT_DIR value: "${ARTIFACT_DIR}" - name: PREPARE_DATA value: "false" forcePull: false from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: entando-eap71-quickstart-openshift:${ENTANDO_IMAGE_VERSION} incremental: false output: to: kind: ImageStreamTag name: "${APPLICATION_NAME}:latest" - kind: DeploymentConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-engine" labels: application: "${APPLICATION_NAME}" spec: strategy: type: Recreate triggers: - type: ImageChange imageChangeParams: automatic: true containerNames: - "${APPLICATION_NAME}-engine" from: kind: ImageStreamTag name: "${APPLICATION_NAME}:latest" - type: ConfigChange replicas: 1 selector: deploymentConfig: "${APPLICATION_NAME}-engine" template: metadata: name: "${APPLICATION_NAME}-engine" labels: deploymentConfig: "${APPLICATION_NAME}-engine" application: "${APPLICATION_NAME}" spec: terminationGracePeriodSeconds: 75 containers: - name: "${APPLICATION_NAME}-engine" image: "${APPLICATION_NAME}:latest" imagePullPolicy: Always resources: limits: memory: "${MEMORY_LIMIT}" livenessProbe: httpGet: path: ${ENTANDO_ENGINE_WEB_CONTEXT} port: 8080 initialDelaySeconds: 180 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 readinessProbe: httpGet: path: ${ENTANDO_ENGINE_WEB_CONTEXT} port: 8080 initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 ports: - name: http containerPort: 8080 protocol: TCP volumeMounts: - mountPath: "/entando-data" name: "${APPLICATION_NAME}-pvol" env: - name: KIE_SERVER_BASE_URL value: "${KIE_SERVER_BASE_URL}" - name: KIE_SERVER_USERNAME value: "${KIE_SERVER_USERNAME}" - name: KIE_SERVER_PASSWORD value: "${KIE_SERVER_PASSWORD}" - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP volumes: - name: "${APPLICATION_NAME}-pvol" persistentVolumeClaim: claimName: "${APPLICATION_NAME}-claim" - kind: DeploymentConfig apiVersion: v1 metadata: name: "${APPLICATION_NAME}-appbuilder" generation: 1 creationTimestamp: labels: application: "${APPLICATION_NAME}" annotations: {} spec: strategy: type: Recreate triggers: - type: ConfigChange - type: ImageChange imageChangeParams: automatic: true containerNames: - "${APPLICATION_NAME}-appbuilder" from: kind: ImageStreamTag namespace: "${IMAGE_STREAM_NAMESPACE}" name: appbuilder:${ENTANDO_IMAGE_VERSION} replicas: 1 selector: deploymentConfig: "${APPLICATION_NAME}-appbuilder" template: metadata: creationTimestamp: labels: deploymentConfig: "${APPLICATION_NAME}-appbuilder" application: "${APPLICATION_NAME}" annotations: {} spec: containers: - name: "${APPLICATION_NAME}-appbuilder" image: "${IMAGE_STREAM_NAMESPACE}/appbuilder:${ENTANDO_IMAGE_VERSION}" ports: - containerPort: 5000 protocol: TCP env: - name: DOMAIN value: http://${ENTANDO_ENGINE_HOSTNAME}${ENTANDO_ENGINE_WEB_CONTEXT} - name: CLIENT_SECRET value: appbuilder_secret resources: {} terminationMessagePath: "/dev/termination-log" terminationMessagePolicy: File imagePullPolicy: IfNotPresent restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: {} schedulerName: default-scheduler - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: "${APPLICATION_NAME}-claim" labels: application: "${APPLICATION_NAME}" spec: accessModes: - ReadWriteOnce resources: requests: storage: "${VOLUME_CAPACITY}"