Last active
December 3, 2020 13:18
-
-
Save welshstew/d36392ae47f6e1a11e938edf8855b9d6 to your computer and use it in GitHub Desktop.
Some supporting YAML for a presentation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| oc create secret generic pull-secret \ | |
| --from-file=.dockerconfigjson=./pull-secret-2.json \ | |
| --type=kubernetes.io/dockerconfigjson | |
| oc secrets link default pull-secret --for=pull |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: template.openshift.io/v1 | |
| kind: Template | |
| labels: | |
| template: nodejs-mongo-deployment | |
| message: |- | |
| The following service(s) have been created in your project: ${NAME}, ${DATABASE_SERVICE_NAME}. | |
| For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/nodejs-ex/blob/master/README.md. | |
| metadata: | |
| annotations: | |
| description: An example Node.js application with a MongoDB database. For more | |
| information about using this template, including OpenShift considerations, see | |
| https://github.com/sclorg/nodejs-ex/blob/master/README.md. | |
| iconClass: icon-nodejs | |
| openshift.io/display-name: Node.js + MongoDB as Deployments | |
| openshift.io/provider-display-name: Stu | |
| tags: quickstart,nodejs | |
| name: nodejs-mongo-deployment | |
| objects: | |
| - apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| labels: | |
| template: ${NAME} | |
| name: ${NAME} | |
| stringData: | |
| database-admin-password: ${DATABASE_ADMIN_PASSWORD} | |
| database-password: ${DATABASE_PASSWORD} | |
| database-user: ${DATABASE_USER} | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes and load balances the application pods | |
| service.alpha.openshift.io/dependencies: '[{"name": "${DATABASE_SERVICE_NAME}", | |
| "kind": "Service"}]' | |
| labels: | |
| template: ${NAME} | |
| name: ${NAME} | |
| spec: | |
| ports: | |
| - name: web | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| name: ${NAME} | |
| - apiVersion: route.openshift.io/v1 | |
| kind: Route | |
| metadata: | |
| labels: | |
| template: ${NAME} | |
| name: ${NAME} | |
| spec: | |
| host: ${APPLICATION_DOMAIN} | |
| to: | |
| kind: Service | |
| name: ${NAME} | |
| - apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the application server | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: ${NAME} | |
| name: ${NAME} | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| name: ${NAME} | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: ${NAME} | |
| name: ${NAME} | |
| spec: | |
| containers: | |
| - env: | |
| - name: DATABASE_SERVICE_NAME | |
| value: mongodb | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: ${NAME} | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: ${NAME} | |
| - name: MONGODB_DATABASE | |
| value: ${DATABASE_NAME} | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: ${NAME} | |
| image: ${NODEJS_APP_IMAGE} | |
| livenessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 3 | |
| name: ${NAME} | |
| ports: | |
| - containerPort: 8080 | |
| readinessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 3 | |
| resources: | |
| limits: | |
| memory: 512Mi | |
| - apiVersion: v1 | |
| kind: PersistentVolumeClaim | |
| metadata: | |
| labels: | |
| template: ${NAME} | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: ${VOLUME_CAPACITY} | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes the database server | |
| labels: | |
| template: ${NAME} | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| ports: | |
| - name: mongodb | |
| port: 27017 | |
| targetPort: 27017 | |
| selector: | |
| name: ${DATABASE_SERVICE_NAME} | |
| - apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the database | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: ${NAME} | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| name: ${DATABASE_SERVICE_NAME} | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: ${DATABASE_SERVICE_NAME} | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| containers: | |
| - env: | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: ${NAME} | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: ${NAME} | |
| - name: MONGODB_DATABASE | |
| value: ${DATABASE_NAME} | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: ${NAME} | |
| image: ${MONGODB_IMAGE} | |
| livenessProbe: | |
| initialDelaySeconds: 30 | |
| tcpSocket: | |
| port: 27017 | |
| timeoutSeconds: 1 | |
| name: mongodb | |
| ports: | |
| - containerPort: 27017 | |
| readinessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -i | |
| - -c | |
| - mongo 127.0.0.1:27017/$MONGODB_DATABASE -u $MONGODB_USER -p $MONGODB_PASSWORD | |
| --eval="quit()" | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 1 | |
| resources: | |
| limits: | |
| memory: ${MEMORY_MONGODB_LIMIT} | |
| volumeMounts: | |
| - mountPath: /var/lib/mongodb/data | |
| name: ${DATABASE_SERVICE_NAME}-data | |
| volumes: | |
| - name: ${DATABASE_SERVICE_NAME}-data | |
| persistentVolumeClaim: | |
| claimName: ${DATABASE_SERVICE_NAME} | |
| parameters: | |
| - description: The name assigned to all of the frontend objects defined in this template. | |
| displayName: Name | |
| name: NAME | |
| required: true | |
| value: nodejs-mongo-deployment | |
| - description: NodeJS App image to be used. | |
| displayName: NodeJS App image to be used. | |
| name: NODEJS_APP_IMAGE | |
| required: true | |
| value: "quay.io/swinches/nodejs-mongo-persistent:1.1" | |
| - description: MongoDB image to be used (3.6 or latest). | |
| displayName: MongoDB Image | |
| name: MONGODB_IMAGE | |
| required: true | |
| value: "registry.redhat.io/rhscl/mongodb-36-rhel7:1" | |
| - description: Maximum amount of memory the Node.js container can use. | |
| displayName: Memory Limit | |
| name: MEMORY_LIMIT | |
| required: true | |
| value: 512Mi | |
| - description: Maximum amount of memory the MongoDB container can use. | |
| displayName: Memory Limit (MongoDB) | |
| name: MEMORY_MONGODB_LIMIT | |
| required: true | |
| value: 512Mi | |
| - description: Volume space available for data, e.g. 512Mi, 2Gi | |
| displayName: Volume Capacity | |
| name: VOLUME_CAPACITY | |
| required: true | |
| value: 1Gi | |
| - description: The exposed hostname that will route to the Node.js service, if left | |
| blank a value will be defaulted. | |
| displayName: Application Hostname | |
| name: APPLICATION_DOMAIN | |
| - displayName: Database Service Name | |
| name: DATABASE_SERVICE_NAME | |
| required: true | |
| value: mongodb | |
| - description: Username for MongoDB user that will be used for accessing the database. | |
| displayName: MongoDB Username | |
| from: user[A-Z0-9]{3} | |
| generate: expression | |
| name: DATABASE_USER | |
| - description: Password for the MongoDB user. | |
| displayName: MongoDB Password | |
| from: '[a-zA-Z0-9]{16}' | |
| generate: expression | |
| name: DATABASE_PASSWORD | |
| - displayName: Database Name | |
| name: DATABASE_NAME | |
| required: true | |
| value: sampledb | |
| - description: Password for the database admin user. | |
| displayName: Database Administrator Password | |
| from: '[a-zA-Z0-9]{16}' | |
| generate: expression | |
| name: DATABASE_ADMIN_PASSWORD |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| items: | |
| - apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| stringData: | |
| database-admin-password: dyDtHUQh04JDhpkQ | |
| database-password: hkot3TUP62lkwgLn | |
| database-user: user1CR | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes and load balances the application pods | |
| service.alpha.openshift.io/dependencies: '[{"name": "mongodb", "kind": "Service"}]' | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| ports: | |
| - name: web | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| name: nodejs-mongo-persistent | |
| - apiVersion: route.openshift.io/v1 | |
| kind: Route | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| host: "" | |
| to: | |
| kind: Service | |
| name: nodejs-mongo-persistent | |
| - apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the application server | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| name: nodejs-mongo-persistent | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| containers: | |
| - env: | |
| - name: DATABASE_SERVICE_NAME | |
| value: mongodb | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_DATABASE | |
| value: sampledb | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: nodejs-mongo-persistent | |
| image: quay.io/swinches/nodejs-mongo-persistent:1.0 | |
| livenessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 3 | |
| name: nodejs-mongo-persistent | |
| ports: | |
| - containerPort: 8080 | |
| readinessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 3 | |
| resources: | |
| limits: | |
| memory: 512Mi | |
| - apiVersion: v1 | |
| kind: PersistentVolumeClaim | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: 1Gi | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes the database server | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| ports: | |
| - name: mongodb | |
| port: 27017 | |
| targetPort: 27017 | |
| selector: | |
| name: mongodb | |
| - apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the database | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| name: mongodb | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: mongodb | |
| name: mongodb | |
| spec: | |
| containers: | |
| - env: | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_DATABASE | |
| value: sampledb | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: nodejs-mongo-persistent | |
| image: registry.redhat.io/rhscl/mongodb-36-rhel7:1 | |
| livenessProbe: | |
| initialDelaySeconds: 30 | |
| tcpSocket: | |
| port: 27017 | |
| timeoutSeconds: 1 | |
| name: mongodb | |
| ports: | |
| - containerPort: 27017 | |
| readinessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -i | |
| - -c | |
| - mongo 127.0.0.1:27017/$MONGODB_DATABASE -u $MONGODB_USER -p $MONGODB_PASSWORD | |
| --eval="quit()" | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 1 | |
| resources: | |
| limits: | |
| memory: 512Mi | |
| volumeMounts: | |
| - mountPath: /var/lib/mongodb/data | |
| name: mongodb-data | |
| volumes: | |
| - name: mongodb-data | |
| persistentVolumeClaim: | |
| claimName: mongodb | |
| kind: List | |
| metadata: {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| items: | |
| - apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| stringData: | |
| database-admin-password: dyDtHUQh04JDhpkQ | |
| database-password: hkot3TUP62lkwgLn | |
| database-user: user1CR | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes and load balances the application pods | |
| service.alpha.openshift.io/dependencies: '[{"name": "mongodb", "kind": "Service"}]' | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| ports: | |
| - name: web | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| name: nodejs-mongo-persistent | |
| - apiVersion: route.openshift.io/v1 | |
| kind: Route | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| host: "" | |
| to: | |
| kind: Service | |
| name: nodejs-mongo-persistent | |
| - apiVersion: image.openshift.io/v1 | |
| kind: ImageStream | |
| metadata: | |
| annotations: | |
| description: Keeps track of changes in the application image | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| - apiVersion: build.openshift.io/v1 | |
| kind: BuildConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to build the application | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| output: | |
| to: | |
| kind: ImageStreamTag | |
| name: nodejs-mongo-persistent:latest | |
| postCommit: | |
| script: npm test | |
| source: | |
| contextDir: "" | |
| git: | |
| ref: "" | |
| uri: https://github.com/sclorg/nodejs-ex.git | |
| type: Git | |
| strategy: | |
| sourceStrategy: | |
| env: | |
| - name: NPM_MIRROR | |
| value: "" | |
| from: | |
| kind: ImageStreamTag | |
| name: nodejs:12 | |
| namespace: openshift | |
| type: Source | |
| triggers: | |
| - type: ImageChange | |
| - type: ConfigChange | |
| - github: | |
| secret: 0ntSDEEDuJ8Ye3wAMn0uscIEnBr6D5TCPefugXBL | |
| type: GitHub | |
| - generic: | |
| secret: NUOJD1QTx3rx4iCgvfuyk2r7DICGCWfwYhX65XQA | |
| type: Generic | |
| - apiVersion: apps.openshift.io/v1 | |
| kind: DeploymentConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the application server | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| replicas: 1 | |
| selector: | |
| name: nodejs-mongo-persistent | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: nodejs-mongo-persistent | |
| name: nodejs-mongo-persistent | |
| spec: | |
| containers: | |
| - env: | |
| - name: DATABASE_SERVICE_NAME | |
| value: mongodb | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_DATABASE | |
| value: sampledb | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: nodejs-mongo-persistent | |
| image: ' ' | |
| livenessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 3 | |
| name: nodejs-mongo-persistent | |
| ports: | |
| - containerPort: 8080 | |
| readinessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 3 | |
| resources: | |
| limits: | |
| memory: 512Mi | |
| triggers: | |
| - imageChangeParams: | |
| automatic: true | |
| containerNames: | |
| - nodejs-mongo-persistent | |
| from: | |
| kind: ImageStreamTag | |
| name: nodejs-mongo-persistent:latest | |
| type: ImageChange | |
| - type: ConfigChange | |
| - apiVersion: v1 | |
| kind: PersistentVolumeClaim | |
| metadata: | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: 1Gi | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes the database server | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| ports: | |
| - name: mongodb | |
| port: 27017 | |
| targetPort: 27017 | |
| selector: | |
| name: mongodb | |
| - apiVersion: apps.openshift.io/v1 | |
| kind: DeploymentConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the database | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| labels: | |
| template: nodejs-mongo-persistent | |
| name: mongodb | |
| spec: | |
| replicas: 1 | |
| selector: | |
| name: mongodb | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: mongodb | |
| name: mongodb | |
| spec: | |
| containers: | |
| - env: | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: nodejs-mongo-persistent | |
| - name: MONGODB_DATABASE | |
| value: sampledb | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: nodejs-mongo-persistent | |
| image: ' ' | |
| livenessProbe: | |
| initialDelaySeconds: 30 | |
| tcpSocket: | |
| port: 27017 | |
| timeoutSeconds: 1 | |
| name: mongodb | |
| ports: | |
| - containerPort: 27017 | |
| readinessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -i | |
| - -c | |
| - mongo 127.0.0.1:27017/$MONGODB_DATABASE -u $MONGODB_USER -p $MONGODB_PASSWORD | |
| --eval="quit()" | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 1 | |
| resources: | |
| limits: | |
| memory: 512Mi | |
| volumeMounts: | |
| - mountPath: /var/lib/mongodb/data | |
| name: mongodb-data | |
| volumes: | |
| - name: mongodb-data | |
| persistentVolumeClaim: | |
| claimName: mongodb | |
| triggers: | |
| - imageChangeParams: | |
| automatic: true | |
| containerNames: | |
| - mongodb | |
| from: | |
| kind: ImageStreamTag | |
| name: mongodb:3.6 | |
| namespace: openshift | |
| type: ImageChange | |
| - type: ConfigChange | |
| kind: List | |
| metadata: {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: template.openshift.io/v1 | |
| kind: Template | |
| labels: | |
| template: nodejs-mongo-persistent | |
| message: |- | |
| The following service(s) have been created in your project: ${NAME}, ${DATABASE_SERVICE_NAME}. | |
| For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/nodejs-ex/blob/master/README.md. | |
| metadata: | |
| annotations: | |
| description: An example Node.js application with a MongoDB database. For more | |
| information about using this template, including OpenShift considerations, see | |
| https://github.com/sclorg/nodejs-ex/blob/master/README.md. | |
| iconClass: icon-nodejs | |
| openshift.io/display-name: Node.js + MongoDB | |
| openshift.io/documentation-url: https://github.com/sclorg/nodejs-ex | |
| openshift.io/long-description: This template defines resources needed to develop | |
| a NodeJS application, including a build configuration, application deployment | |
| configuration, and database deployment configuration. | |
| openshift.io/provider-display-name: Red Hat, Inc. | |
| openshift.io/support-url: https://access.redhat.com | |
| samples.operator.openshift.io/version: 4.5.13 | |
| tags: quickstart,nodejs | |
| template.openshift.io/bindable: "false" | |
| creationTimestamp: "2020-09-14T21:14:08Z" | |
| labels: | |
| samples.operator.openshift.io/managed: "true" | |
| managedFields: | |
| - apiVersion: template.openshift.io/v1 | |
| fieldsType: FieldsV1 | |
| fieldsV1: | |
| f:labels: | |
| .: {} | |
| f:template: {} | |
| f:message: {} | |
| f:metadata: | |
| f:annotations: | |
| .: {} | |
| f:description: {} | |
| f:iconClass: {} | |
| f:openshift.io/display-name: {} | |
| f:openshift.io/documentation-url: {} | |
| f:openshift.io/long-description: {} | |
| f:openshift.io/provider-display-name: {} | |
| f:openshift.io/support-url: {} | |
| f:samples.operator.openshift.io/version: {} | |
| f:tags: {} | |
| f:template.openshift.io/bindable: {} | |
| f:labels: | |
| .: {} | |
| f:samples.operator.openshift.io/managed: {} | |
| f:objects: {} | |
| f:parameters: {} | |
| manager: cluster-samples-operator | |
| operation: Update | |
| time: "2020-10-12T09:32:55Z" | |
| name: nodejs-mongo-persistent | |
| namespace: openshift | |
| resourceVersion: "13364280" | |
| selfLink: /apis/template.openshift.io/v1/namespaces/openshift/templates/nodejs-mongo-persistent | |
| uid: d2ba425d-da6d-429e-ab86-fb56902581a0 | |
| objects: | |
| - apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| name: ${NAME} | |
| stringData: | |
| database-admin-password: ${DATABASE_ADMIN_PASSWORD} | |
| database-password: ${DATABASE_PASSWORD} | |
| database-user: ${DATABASE_USER} | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes and load balances the application pods | |
| service.alpha.openshift.io/dependencies: '[{"name": "${DATABASE_SERVICE_NAME}", | |
| "kind": "Service"}]' | |
| name: ${NAME} | |
| spec: | |
| ports: | |
| - name: web | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| name: ${NAME} | |
| - apiVersion: v1 | |
| kind: Route | |
| metadata: | |
| name: ${NAME} | |
| spec: | |
| host: ${APPLICATION_DOMAIN} | |
| to: | |
| kind: Service | |
| name: ${NAME} | |
| - apiVersion: v1 | |
| kind: ImageStream | |
| metadata: | |
| annotations: | |
| description: Keeps track of changes in the application image | |
| name: ${NAME} | |
| - apiVersion: v1 | |
| kind: BuildConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to build the application | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| name: ${NAME} | |
| spec: | |
| output: | |
| to: | |
| kind: ImageStreamTag | |
| name: ${NAME}:latest | |
| postCommit: | |
| script: npm test | |
| source: | |
| contextDir: ${CONTEXT_DIR} | |
| git: | |
| ref: ${SOURCE_REPOSITORY_REF} | |
| uri: ${SOURCE_REPOSITORY_URL} | |
| type: Git | |
| strategy: | |
| sourceStrategy: | |
| env: | |
| - name: NPM_MIRROR | |
| value: ${NPM_MIRROR} | |
| from: | |
| kind: ImageStreamTag | |
| name: nodejs:${NODEJS_VERSION} | |
| namespace: ${NAMESPACE} | |
| type: Source | |
| triggers: | |
| - type: ImageChange | |
| - type: ConfigChange | |
| - github: | |
| secret: ${GITHUB_WEBHOOK_SECRET} | |
| type: GitHub | |
| - generic: | |
| secret: ${GENERIC_WEBHOOK_SECRET} | |
| type: Generic | |
| - apiVersion: v1 | |
| kind: DeploymentConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the application server | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| name: ${NAME} | |
| spec: | |
| replicas: 1 | |
| selector: | |
| name: ${NAME} | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: ${NAME} | |
| name: ${NAME} | |
| spec: | |
| containers: | |
| - env: | |
| - name: DATABASE_SERVICE_NAME | |
| value: ${DATABASE_SERVICE_NAME} | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: ${NAME} | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: ${NAME} | |
| - name: MONGODB_DATABASE | |
| value: ${DATABASE_NAME} | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: ${NAME} | |
| image: ' ' | |
| livenessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 3 | |
| name: nodejs-mongo-persistent | |
| ports: | |
| - containerPort: 8080 | |
| readinessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 3 | |
| resources: | |
| limits: | |
| memory: ${MEMORY_LIMIT} | |
| triggers: | |
| - imageChangeParams: | |
| automatic: true | |
| containerNames: | |
| - nodejs-mongo-persistent | |
| from: | |
| kind: ImageStreamTag | |
| name: ${NAME}:latest | |
| type: ImageChange | |
| - type: ConfigChange | |
| - apiVersion: v1 | |
| kind: PersistentVolumeClaim | |
| metadata: | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: ${VOLUME_CAPACITY} | |
| - apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| description: Exposes the database server | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| ports: | |
| - name: mongodb | |
| port: 27017 | |
| targetPort: 27017 | |
| selector: | |
| name: ${DATABASE_SERVICE_NAME} | |
| - apiVersion: v1 | |
| kind: DeploymentConfig | |
| metadata: | |
| annotations: | |
| description: Defines how to deploy the database | |
| template.alpha.openshift.io/wait-for-ready: "true" | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| replicas: 1 | |
| selector: | |
| name: ${DATABASE_SERVICE_NAME} | |
| strategy: | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| name: ${DATABASE_SERVICE_NAME} | |
| name: ${DATABASE_SERVICE_NAME} | |
| spec: | |
| containers: | |
| - env: | |
| - name: MONGODB_USER | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-user | |
| name: ${NAME} | |
| - name: MONGODB_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-password | |
| name: ${NAME} | |
| - name: MONGODB_DATABASE | |
| value: ${DATABASE_NAME} | |
| - name: MONGODB_ADMIN_PASSWORD | |
| valueFrom: | |
| secretKeyRef: | |
| key: database-admin-password | |
| name: ${NAME} | |
| image: ' ' | |
| livenessProbe: | |
| initialDelaySeconds: 30 | |
| tcpSocket: | |
| port: 27017 | |
| timeoutSeconds: 1 | |
| name: mongodb | |
| ports: | |
| - containerPort: 27017 | |
| readinessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -i | |
| - -c | |
| - mongo 127.0.0.1:27017/$MONGODB_DATABASE -u $MONGODB_USER -p $MONGODB_PASSWORD | |
| --eval="quit()" | |
| initialDelaySeconds: 3 | |
| timeoutSeconds: 1 | |
| resources: | |
| limits: | |
| memory: ${MEMORY_MONGODB_LIMIT} | |
| volumeMounts: | |
| - mountPath: /var/lib/mongodb/data | |
| name: ${DATABASE_SERVICE_NAME}-data | |
| volumes: | |
| - name: ${DATABASE_SERVICE_NAME}-data | |
| persistentVolumeClaim: | |
| claimName: ${DATABASE_SERVICE_NAME} | |
| triggers: | |
| - imageChangeParams: | |
| automatic: true | |
| containerNames: | |
| - mongodb | |
| from: | |
| kind: ImageStreamTag | |
| name: mongodb:${MONGODB_VERSION} | |
| namespace: ${NAMESPACE} | |
| type: ImageChange | |
| - type: ConfigChange | |
| parameters: | |
| - description: The name assigned to all of the frontend objects defined in this template. | |
| displayName: Name | |
| name: NAME | |
| required: true | |
| value: nodejs-mongo-persistent | |
| - description: The OpenShift Namespace where the ImageStream resides. | |
| displayName: Namespace | |
| name: NAMESPACE | |
| required: true | |
| value: openshift | |
| - description: Version of NodeJS image to be used (10, 12, or latest). | |
| displayName: Version of NodeJS Image | |
| name: NODEJS_VERSION | |
| required: true | |
| value: "12" | |
| - description: Version of MongoDB image to be used (3.6 or latest). | |
| displayName: Version of MongoDB Image | |
| name: MONGODB_VERSION | |
| required: true | |
| value: "3.6" | |
| - description: Maximum amount of memory the Node.js container can use. | |
| displayName: Memory Limit | |
| name: MEMORY_LIMIT | |
| required: true | |
| value: 512Mi | |
| - description: Maximum amount of memory the MongoDB container can use. | |
| displayName: Memory Limit (MongoDB) | |
| name: MEMORY_MONGODB_LIMIT | |
| required: true | |
| value: 512Mi | |
| - description: Volume space available for data, e.g. 512Mi, 2Gi | |
| displayName: Volume Capacity | |
| name: VOLUME_CAPACITY | |
| required: true | |
| value: 1Gi | |
| - description: The URL of the repository with your application source code. | |
| displayName: Git Repository URL | |
| name: SOURCE_REPOSITORY_URL | |
| required: true | |
| value: https://github.com/sclorg/nodejs-ex.git | |
| - description: Set this to a branch name, tag or other ref of your repository if you | |
| are not using the default branch. | |
| displayName: Git Reference | |
| name: SOURCE_REPOSITORY_REF | |
| - description: Set this to the relative path to your project if it is not in the root | |
| of your repository. | |
| displayName: Context Directory | |
| name: CONTEXT_DIR | |
| - description: The exposed hostname that will route to the Node.js service, if left | |
| blank a value will be defaulted. | |
| displayName: Application Hostname | |
| name: APPLICATION_DOMAIN | |
| - description: Github trigger secret. A difficult to guess string encoded as part | |
| of the webhook URL. Not encrypted. | |
| displayName: GitHub Webhook Secret | |
| from: '[a-zA-Z0-9]{40}' | |
| generate: expression | |
| name: GITHUB_WEBHOOK_SECRET | |
| - description: A secret string used to configure the Generic webhook. | |
| displayName: Generic Webhook Secret | |
| from: '[a-zA-Z0-9]{40}' | |
| generate: expression | |
| name: GENERIC_WEBHOOK_SECRET | |
| - displayName: Database Service Name | |
| name: DATABASE_SERVICE_NAME | |
| required: true | |
| value: mongodb | |
| - description: Username for MongoDB user that will be used for accessing the database. | |
| displayName: MongoDB Username | |
| from: user[A-Z0-9]{3} | |
| generate: expression | |
| name: DATABASE_USER | |
| - description: Password for the MongoDB user. | |
| displayName: MongoDB Password | |
| from: '[a-zA-Z0-9]{16}' | |
| generate: expression | |
| name: DATABASE_PASSWORD | |
| - displayName: Database Name | |
| name: DATABASE_NAME | |
| required: true | |
| value: sampledb | |
| - description: Password for the database admin user. | |
| displayName: Database Administrator Password | |
| from: '[a-zA-Z0-9]{16}' | |
| generate: expression | |
| name: DATABASE_ADMIN_PASSWORD | |
| - description: The custom NPM mirror URL | |
| displayName: Custom NPM Mirror URL | |
| name: NPM_MIRROR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment