apiVersion: template.openshift.io/v1
|
|
kind: Template
|
|
labels:
|
|
template: redis-persistent-template
|
|
message: |-
|
|
The following service(s) have been created in your project: ${DATABASE_SERVICE_NAME}.
|
|
|
|
Password: ${REDIS_PASSWORD}
|
|
Connection URL: redis://${DATABASE_SERVICE_NAME}:6379/
|
|
|
|
For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/redis-container/blob/master/3.2.
|
|
metadata:
|
|
annotations:
|
|
description: |-
|
|
Redis in-memory data structure store, with persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/redis-container/blob/master/3.2.
|
|
|
|
NOTE: You must have persistent volumes available in your cluster to use this template.
|
|
iconClass: icon-redis
|
|
openshift.io/display-name: Redis
|
|
openshift.io/documentation-url: https://github.com/sclorg/redis-container/tree/master/3.2
|
|
openshift.io/long-description: This template provides a standalone Redis server. The
|
|
data is stored on persistent storage.
|
|
openshift.io/provider-display-name: Red Hat, Inc.
|
|
openshift.io/support-url: https://access.redhat.com
|
|
tags: database,redis
|
|
creationTimestamp: null
|
|
name: redis-persistent
|
|
selfLink: /apis/template.openshift.io/v1/namespaces/openshift/templates/redis-persistent
|
|
objects:
|
|
- apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
annotations:
|
|
template.openshift.io/expose-password: '{.data[''database-password'']}'
|
|
name: ${DATABASE_SERVICE_NAME}
|
|
stringData:
|
|
database-password: ${REDIS_PASSWORD}
|
|
- apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
template.openshift.io/expose-uri: redis://{.spec.clusterIP}:{.spec.ports[?(.name=="redis")].port}
|
|
name: ${DATABASE_SERVICE_NAME}
|
|
spec:
|
|
ports:
|
|
- name: redis
|
|
nodePort: 0
|
|
port: 6379
|
|
protocol: TCP
|
|
targetPort: 6379
|
|
selector:
|
|
name: ${DATABASE_SERVICE_NAME}
|
|
sessionAffinity: None
|
|
type: ClusterIP
|
|
status:
|
|
loadBalancer: {}
|
|
- apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: ${DATABASE_SERVICE_NAME}
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: ${VOLUME_CAPACITY}
|
|
- apiVersion: v1
|
|
kind: DeploymentConfig
|
|
metadata:
|
|
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: REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: database-password
|
|
name: ${DATABASE_SERVICE_NAME}
|
|
image: ' '
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
initialDelaySeconds: 30
|
|
tcpSocket:
|
|
port: 6379
|
|
timeoutSeconds: 1
|
|
name: redis
|
|
ports:
|
|
- containerPort: 6379
|
|
protocol: TCP
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- /bin/sh
|
|
- -i
|
|
- -c
|
|
- test "$(redis-cli -h 127.0.0.1 -a $REDIS_PASSWORD ping)" == "PONG"
|
|
initialDelaySeconds: 5
|
|
timeoutSeconds: 1
|
|
resources:
|
|
limits:
|
|
memory: ${MEMORY_LIMIT}
|
|
securityContext:
|
|
capabilities: {}
|
|
privileged: false
|
|
terminationMessagePath: /dev/termination-log
|
|
volumeMounts:
|
|
- mountPath: /var/lib/redis/data
|
|
name: ${DATABASE_SERVICE_NAME}-data
|
|
dnsPolicy: ClusterFirst
|
|
restartPolicy: Always
|
|
volumes:
|
|
- name: ${DATABASE_SERVICE_NAME}-data
|
|
persistentVolumeClaim:
|
|
claimName: ${DATABASE_SERVICE_NAME}
|
|
triggers:
|
|
- imageChangeParams:
|
|
automatic: true
|
|
containerNames:
|
|
- redis
|
|
from:
|
|
kind: ImageStreamTag
|
|
name: redis:${REDIS_VERSION}
|
|
namespace: ${NAMESPACE}
|
|
lastTriggeredImage: ""
|
|
type: ImageChange
|
|
- type: ConfigChange
|
|
status: {}
|
|
parameters:
|
|
- description: Maximum amount of memory the container can use.
|
|
displayName: Memory Limit
|
|
name: MEMORY_LIMIT
|
|
required: true
|
|
value: 1Gi
|
|
- description: The OpenShift Namespace where the ImageStream resides.
|
|
displayName: Namespace
|
|
name: NAMESPACE
|
|
value: openshift
|
|
- description: The name of the OpenShift Service exposed for the database.
|
|
displayName: Database Service Name
|
|
name: DATABASE_SERVICE_NAME
|
|
required: true
|
|
value: redis
|
|
- description: Password for the Redis connection user.
|
|
displayName: Redis Connection Password
|
|
from: '[a-zA-Z0-9]{16}'
|
|
generate: expression
|
|
name: REDIS_PASSWORD
|
|
required: true
|
|
- description: Volume space available for data, e.g. 512Mi, 2Gi.
|
|
displayName: Volume Capacity
|
|
name: VOLUME_CAPACITY
|
|
required: true
|
|
value: 20Gi
|
|
- description: Version of Redis image to be used (3.2 or latest).
|
|
displayName: Version of Redis Image
|
|
name: REDIS_VERSION
|
|
required: true
|
|
value: "latest"
|