From e60fad714870c55a70cc46132866469542351e77 Mon Sep 17 00:00:00 2001 From: donal <donalspring@gmail.com> Date: Wed, 16 May 2018 16:31:41 +0200 Subject: [PATCH] remove persistent template for ease --- .openshift-applier/templates/mongodb.yml | 230 +++++++++++++++++++++++++++------------------------------ .openshift-applier/params/mongodb | 1 2 files changed, 108 insertions(+), 123 deletions(-) diff --git a/.openshift-applier/params/mongodb b/.openshift-applier/params/mongodb index 9729152..f95902b 100644 --- a/.openshift-applier/params/mongodb +++ b/.openshift-applier/params/mongodb @@ -1,2 +1 @@ -VOLUME_CAPACITY=1Gi MONGODB_DATABASE=todolist diff --git a/.openshift-applier/templates/mongodb.yml b/.openshift-applier/templates/mongodb.yml index 10a9f9d..2adce6e 100644 --- a/.openshift-applier/templates/mongodb.yml +++ b/.openshift-applier/templates/mongodb.yml @@ -1,23 +1,8 @@ --- -kind: Template apiVersion: v1 -metadata: - name: mongodb-persistent - annotations: - openshift.io/display-name: MongoDB - description: |- - MongoDB database service, with persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mongodb-container/blob/master/3.2/README.md. - - NOTE: Scaling to more than one replica is not supported. You must have persistent volumes available in your cluster to use this template. - iconClass: icon-mongodb - tags: database,mongodb - openshift.io/long-description: This template provides a standalone MongoDB server - with a database created. The database is stored on persistent storage. The - database name, username, and password are chosen via parameters when provisioning - this service. - openshift.io/provider-display-name: Red Hat, Inc. - openshift.io/documentation-url: https://docs.openshift.org/latest/using_images/db_images/mongodb.html - openshift.io/support-url: https://access.redhat.com +kind: Template +labels: + template: mongodb-ephemeral-template message: |- The following service(s) have been created in your project: ${DATABASE_SERVICE_NAME}. @@ -27,64 +12,137 @@ Connection URL: mongodb://${MONGODB_USER}:${MONGODB_PASSWORD}@${DATABASE_SERVICE_NAME}/${MONGODB_DATABASE} For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mongodb-container/blob/master/3.2/README.md. -labels: - template: mongodb-persistent-template +metadata: + annotations: + description: |- + MongoDB database service, without persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mongodb-container/blob/master/3.2/README.md. + + WARNING: Any data stored will be lost upon pod destruction. Only use this template for testing + iconClass: icon-mongodb + openshift.io/display-name: MongoDB (Ephemeral) + openshift.io/documentation-url: https://docs.openshift.org/latest/using_images/db_images/mongodb.html + openshift.io/long-description: This template provides a standalone MongoDB server + with a database created. The database is not stored on persistent storage, + so any restart of the service will result in all data being lost. The database + name, username, and password are chosen via parameters when provisioning this + service. + openshift.io/provider-display-name: Red Hat, Inc. + openshift.io/support-url: https://access.redhat.com + tags: database,mongodb + name: mongodb-ephemeral objects: -- kind: Secret - apiVersion: v1 +- apiVersion: v1 + kind: Secret metadata: - name: "${DATABASE_SERVICE_NAME}" annotations: - template.openshift.io/expose-username: "{.data['database-user']}" - template.openshift.io/expose-password: "{.data['database-password']}" template.openshift.io/expose-admin_password: "{.data['database-admin-password']}" template.openshift.io/expose-database_name: "{.data['database-name']}" + template.openshift.io/expose-password: "{.data['database-password']}" + template.openshift.io/expose-username: "{.data['database-user']}" + name: "${DATABASE_SERVICE_NAME}" stringData: - database-user: "${MONGODB_USER}" - database-password: "${MONGODB_PASSWORD}" database-admin-password: "${MONGODB_ADMIN_PASSWORD}" database-name: "${MONGODB_DATABASE}" -- kind: Service - apiVersion: v1 + database-password: "${MONGODB_PASSWORD}" + database-user: "${MONGODB_USER}" +- apiVersion: v1 + kind: Service metadata: - name: "${DATABASE_SERVICE_NAME}" annotations: template.openshift.io/expose-uri: mongodb://{.spec.clusterIP}:{.spec.ports[?(.name=="mongo")].port} + name: "${DATABASE_SERVICE_NAME}" spec: ports: - name: mongo - protocol: TCP - port: 27017 - targetPort: 27017 nodePort: 0 + port: 27017 + protocol: TCP + targetPort: 27017 selector: name: "${DATABASE_SERVICE_NAME}" - type: ClusterIP sessionAffinity: None + type: ClusterIP status: loadBalancer: {} -- kind: PersistentVolumeClaim - apiVersion: v1 +- apiVersion: v1 + kind: DeploymentConfig metadata: - name: "${DATABASE_SERVICE_NAME}" - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: "${VOLUME_CAPACITY}" -- kind: DeploymentConfig - apiVersion: v1 - metadata: - name: "${DATABASE_SERVICE_NAME}" annotations: 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}" + spec: + containers: + - capabilities: {} + env: + - name: MONGODB_USER + valueFrom: + secretKeyRef: + key: database-user + name: "${DATABASE_SERVICE_NAME}" + - name: MONGODB_PASSWORD + valueFrom: + secretKeyRef: + key: database-password + name: "${DATABASE_SERVICE_NAME}" + - name: MONGODB_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + key: database-admin-password + name: "${DATABASE_SERVICE_NAME}" + - name: MONGODB_DATABASE + valueFrom: + secretKeyRef: + key: database-name + name: "${DATABASE_SERVICE_NAME}" + image: " " + imagePullPolicy: IfNotPresent + livenessProbe: + initialDelaySeconds: 30 + tcpSocket: + port: 27017 + timeoutSeconds: 1 + name: mongodb + ports: + - containerPort: 27017 + protocol: TCP + 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_LIMIT}" + securityContext: + capabilities: {} + privileged: false + terminationMessagePath: "/dev/termination-log" + volumeMounts: + - mountPath: "/var/lib/mongodb/data" + name: "${DATABASE_SERVICE_NAME}-data" + dnsPolicy: ClusterFirst + restartPolicy: Always + volumes: + - emptyDir: + medium: '' + name: "${DATABASE_SERVICE_NAME}-data" triggers: - - type: ImageChange - imageChangeParams: + - imageChangeParams: automatic: true containerNames: - mongodb @@ -93,75 +151,8 @@ name: mongodb:${MONGODB_VERSION} namespace: "${NAMESPACE}" lastTriggeredImage: '' + type: ImageChange - type: ConfigChange - replicas: 1 - selector: - name: "${DATABASE_SERVICE_NAME}" - template: - metadata: - labels: - name: "${DATABASE_SERVICE_NAME}" - spec: - containers: - - name: mongodb - image: " " - ports: - - containerPort: 27017 - protocol: TCP - readinessProbe: - timeoutSeconds: 1 - initialDelaySeconds: 3 - exec: - command: - - "/bin/sh" - - "-i" - - "-c" - - mongo 127.0.0.1:27017/$MONGODB_DATABASE -u $MONGODB_USER -p $MONGODB_PASSWORD - --eval="quit()" - livenessProbe: - timeoutSeconds: 1 - initialDelaySeconds: 30 - tcpSocket: - port: 27017 - env: - - name: MONGODB_USER - valueFrom: - secretKeyRef: - name: "${DATABASE_SERVICE_NAME}" - key: database-user - - name: MONGODB_PASSWORD - valueFrom: - secretKeyRef: - name: "${DATABASE_SERVICE_NAME}" - key: database-password - - name: MONGODB_ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: "${DATABASE_SERVICE_NAME}" - key: database-admin-password - - name: MONGODB_DATABASE - valueFrom: - secretKeyRef: - name: "${DATABASE_SERVICE_NAME}" - key: database-name - resources: - limits: - memory: "${MEMORY_LIMIT}" - volumeMounts: - - name: "${DATABASE_SERVICE_NAME}-data" - mountPath: "/var/lib/mongodb/data" - terminationMessagePath: "/dev/termination-log" - imagePullPolicy: IfNotPresent - capabilities: {} - securityContext: - capabilities: {} - privileged: false - volumes: - - name: "${DATABASE_SERVICE_NAME}-data" - persistentVolumeClaim: - claimName: "${DATABASE_SERVICE_NAME}" - restartPolicy: Always - dnsPolicy: ClusterFirst status: {} parameters: - name: MEMORY_LIMIT @@ -198,11 +189,6 @@ description: Password for the database admin user. generate: expression from: "[a-zA-Z0-9]{16}" - required: true -- name: VOLUME_CAPACITY - displayName: Volume Capacity - description: Volume space available for data, e.g. 512Mi, 2Gi. - value: 1Gi required: true - name: MONGODB_VERSION displayName: Version of MongoDB Image -- Gitblit v1.9.3