--- kind: Template apiVersion: v1 metadata: annotations: iconClass: icon-wildfly tags: javaee,java,jboss version: 5.0.3-SNAPSHOT openshift.io/display-name: Template to setup the Full Entando Stack App openshift.io/provider-display-name: Entando description: An template that facilitates the installation of the Full Entando Stack template.openshift.io/long-description: An template that facilitates the installation of the Full Entando Stack template.openshift.io/documentation-url: https://central.entando.com/ template.openshift.io/support-url: https://central.entando.com name: entando-full-stack labels: template: entando-demo message: A new Entando Demo has been created in your project. parameters: - displayName: Application Name description: The name for the application. name: APPLICATION_NAME value: entando-full-stack 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 and legacy screens description: 'Custom http Route Hostname for the Entando runtime and legacy screens.' name: ENTANDO_ENGINE_HOSTNAME value: '' required: true - displayName: Context root of the Entando Runtime web app description: 'Context root of the Entando Runtime 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 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 Runtime's http service. spec: host: "${ENTANDO_ENGINE_HOSTNAME}" path: "/entando" 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: 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: "entando-sample-full:${ENTANDO_IMAGE_VERSION}" namespace: "${IMAGE_STREAM_NAMESPACE}" - 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: "${IMAGE_STREAM_NAMESPACE}/entando-sample-full:${ENTANDO_IMAGE_VERSION}" imagePullPolicy: Always resources: limits: memory: "${MEMORY_LIMIT}" livenessProbe: httpGet: path: "/entando" port: 8080 initialDelaySeconds: 180 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 readinessProbe: httpGet: path: "/entando" 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 - 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}"