apiVersion: v1 kind: Template labels: app: minio template: minio message: |- The following service(s) have been created in your project: ${NAME}. For more information about using this template, including OpenShift considerations, see https://github.com/elmanytas/minio-openshift/blob/master/README.md. metadata: annotations: description: |- A min.io service. For more information about using this template, including OpenShift considerations, see https://github.com/elmanytas/minio-openshift/blob/master/README.md. WARNING: This template needs a default storage class with space enough. iconClass: icon-database openshift.io/display-name: min.io openshift.io/documentation-url: https://github.com/elmanytas/minio-openshift openshift.io/long-description: This template defines resources needed to deploy a min.io service that allows you to use a AWS S3 compatible api in your apps. tags: minio,min.io,s3 template.openshift.io/bindable: "false" name: minio objects: - apiVersion: v1 kind: Secret metadata: name: ${NAME}-keys stringData: access-key: ${MINIO_ACCESS_KEY} secret-key: ${MINIO_SECRET_KEY} - apiVersion: v1 kind: Service metadata: annotations: description: Exposes the application pod service.alpha.openshift.io/dependencies: '[{"name": "${MINIO_SERVICE_NAME}", "kind": "Service"}]' name: ${NAME} spec: ports: - name: ${NAME} port: 9000 targetPort: 9000 selector: app: ${NAME} - apiVersion: v1 kind: Route metadata: name: ${NAME} spec: host: ${APPLICATION_DOMAIN} to: kind: Service name: ${NAME} - apiVersion: apps/v1 kind: StatefulSet metadata: labels: app: ${NAME} name: ${NAME} spec: podManagementPolicy: OrderedReady replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: app: ${NAME} serviceName: ${NAME} template: metadata: creationTimestamp: null labels: app: ${NAME} spec: containers: - args: - server - /data env: - name: MINIO_ACCESS_KEY valueFrom: secretKeyRef: key: access-key name: ${NAME}-keys - name: MINIO_SECRET_KEY valueFrom: secretKeyRef: key: secret-key name: ${NAME}-keys image: karrier/minio:RELEASE.2018-09-01T00-38-25Z imagePullPolicy: IfNotPresent name: ${NAME} ports: - containerPort: 9000 protocol: TCP resources: limits: cpu: 200m memory: ${MEMORY_LIMIT} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /data name: data dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 updateStrategy: type: OnDelete volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi parameters: - description: The name assigned to all of the frontend objects defined in this template. displayName: Name name: NAME required: true value: minio - description: Maximum amount of memory the container can use. displayName: Memory Limit name: MEMORY_LIMIT required: true value: 512Mi - description: The exposed hostname that will route to the Min.io service, if left blank a value will be defaulted. displayName: Application Hostname name: APPLICATION_DOMAIN - description: Access key for min.io api. displayName: Access Key from: '[a-zA-Z0-9]{32}' generate: expression name: MINIO_ACCESS_KEY - description: Secret key for min.io api. displayName: Secret Key from: '[a-zA-Z0-9]{32}' generate: expression name: MINIO_SECRET_KEY