donal
2018-05-16 e60fad714870c55a70cc46132866469542351e77
remove persistent template for ease
2 files modified
231 ■■■■ changed files
.openshift-applier/params/mongodb 1 ●●●● patch | view | raw | blame | history
.openshift-applier/templates/mongodb.yml 230 ●●●● patch | view | raw | blame | history
.openshift-applier/params/mongodb
@@ -1,2 +1 @@
VOLUME_CAPACITY=1Gi
MONGODB_DATABASE=todolist
.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