You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2837 lines
81 KiB
2837 lines
81 KiB
{
|
|
"base_env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"apiVersion": "v1",
|
|
"kind": "Template",
|
|
"metadata": {
|
|
"name": "system"
|
|
},
|
|
"message": "Login on https://${TENANT_NAME}-admin.${WILDCARD_DOMAIN} as ${ADMIN_USERNAME}/${ADMIN_PASSWORD}",
|
|
"objects": [
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "system-storage"
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteMany"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "100Mi"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "mysql-storage"
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Gi"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "system-redis-storage"
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Gi"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "PersistentVolumeClaim",
|
|
"metadata": {
|
|
"name": "backend-redis-storage"
|
|
},
|
|
"spec": {
|
|
"accessModes": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"resources": {
|
|
"requests": {
|
|
"storage": "1Gi"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "backend-cron"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "backend-cron"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "backend-cron"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"backend-cron"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "CONFIG_REDIS_PROXY",
|
|
"value": "backend-redis:6379"
|
|
},
|
|
{
|
|
"name": "CONFIG_QUEUES_MASTER_NAME",
|
|
"value": "backend-redis:6379/1"
|
|
},
|
|
{
|
|
"name": "RACK_ENV",
|
|
"value": "production"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/backend:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "backend-cron"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "backend-redis"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "backend-redis"
|
|
},
|
|
"strategy": {
|
|
"type": "Recreate"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "backend-redis"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"image": "${REDIS_IMAGE}",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "backend-redis",
|
|
"readinessProbe": {
|
|
"exec": {
|
|
"command": [
|
|
"container-entrypoint",
|
|
"bash",
|
|
"-c",
|
|
"redis-cli set liveness-probe \"`date`\" | grep OK"
|
|
]
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 30,
|
|
"timeoutSeconds": 1
|
|
},
|
|
"livenessProbe": {
|
|
"tcpSocket": {
|
|
"port": 6379
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 10
|
|
},
|
|
"volumeMounts": [
|
|
{
|
|
"name": "backend-redis-storage",
|
|
"mountPath": "/var/lib/redis/data"
|
|
},
|
|
{
|
|
"name": "redis-config",
|
|
"mountPath": "/etc/redis.conf",
|
|
"subPath": "redis.conf"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "backend-redis-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "backend-redis-storage"
|
|
}
|
|
},
|
|
{
|
|
"name": "redis-config",
|
|
"configMap": {
|
|
"name": "redis-config",
|
|
"items": [
|
|
{
|
|
"key": "redis.conf",
|
|
"path": "redis.conf"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "backend-listener"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "backend-listener"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "backend-listener"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"3scale_backend",
|
|
"start",
|
|
"-e",
|
|
"production",
|
|
"-p",
|
|
"3000",
|
|
"-x",
|
|
"/dev/stdout"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "CONFIG_REDIS_PROXY",
|
|
"value": "backend-redis:6379"
|
|
},
|
|
{
|
|
"name": "CONFIG_QUEUES_MASTER_NAME",
|
|
"value": "backend-redis:6379/1"
|
|
},
|
|
{
|
|
"name": "RACK_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/backend:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "backend-listener",
|
|
"livenessProbe": {
|
|
"initialDelaySeconds": 30,
|
|
"periodSeconds": 10,
|
|
"tcpSocket": {
|
|
"port": 3000
|
|
}
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/status",
|
|
"port": 3000
|
|
},
|
|
"initialDelaySeconds": 30,
|
|
"timeoutSeconds": 5
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 3000,
|
|
"protocol": "TCP"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "backend-redis"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 6379,
|
|
"protocol": "TCP",
|
|
"targetPort": 6379
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "backend-redis"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "backend-listener"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 3000,
|
|
"protocol": "TCP",
|
|
"targetPort": 3000,
|
|
"name": "http"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "backend-listener"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "system-provider"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 3000,
|
|
"protocol": "TCP",
|
|
"targetPort": "provider",
|
|
"name": "http"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-app"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "system-developer"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 3000,
|
|
"protocol": "TCP",
|
|
"targetPort": "developer",
|
|
"name": "http"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-app"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "backend-worker"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "backend-worker"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "backend-worker"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"3scale_backend_worker",
|
|
"run"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "CONFIG_REDIS_PROXY",
|
|
"value": "backend-redis:6379"
|
|
},
|
|
{
|
|
"name": "CONFIG_QUEUES_MASTER_NAME",
|
|
"value": "backend-redis:6379/1"
|
|
},
|
|
{
|
|
"name": "RACK_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "CONFIG_EVENTS_HOOK",
|
|
"value": "http://system-provider:3000/master/events/import"
|
|
},
|
|
{
|
|
"name": "CONFIG_EVENTS_HOOK_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/backend:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "backend-worker"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"kind": "Service",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": "system-mysql"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "system-mysql",
|
|
"protocol": "TCP",
|
|
"port": 3306,
|
|
"targetPort": 3306,
|
|
"nodePort": 0
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-mysql"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "system-redis"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 6379,
|
|
"protocol": "TCP",
|
|
"targetPort": 6379,
|
|
"name": "redis"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-redis"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-redis"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-redis"
|
|
},
|
|
"strategy": {
|
|
"type": "Recreate"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-redis"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": null,
|
|
"image": "${REDIS_IMAGE}",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-redis",
|
|
"terminationMessagePath": "/dev/termination-log",
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-redis-storage",
|
|
"mountPath": "/var/lib/redis/data"
|
|
},
|
|
{
|
|
"name": "redis-config",
|
|
"mountPath": "/etc/redis.conf",
|
|
"subPath": "redis.conf"
|
|
}
|
|
],
|
|
"readinessProbe": {
|
|
"exec": {
|
|
"command": [
|
|
"container-entrypoint",
|
|
"bash",
|
|
"-c",
|
|
"redis-cli set liveness-probe \"`date`\" | grep OK"
|
|
]
|
|
},
|
|
"initialDelaySeconds": 30,
|
|
"periodSeconds": 10,
|
|
"timeoutSeconds": 5
|
|
},
|
|
"livenessProbe": {
|
|
"tcpSocket": {
|
|
"port": 6379
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 5
|
|
}
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "system-redis-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "system-redis-storage"
|
|
}
|
|
},
|
|
{
|
|
"name": "redis-config",
|
|
"configMap": {
|
|
"name": "redis-config",
|
|
"items": [
|
|
{
|
|
"key": "redis.conf",
|
|
"path": "redis.conf"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "system-sphinx"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 9306,
|
|
"protocol": "TCP",
|
|
"targetPort": 9306,
|
|
"name": "sphinx"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-sphinx"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-sphinx"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-sphinx"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-sphinx"
|
|
}
|
|
},
|
|
"spec": {
|
|
"volumes": [
|
|
{
|
|
"name": "system-sphinx-database",
|
|
"emptyDir": {}
|
|
}
|
|
],
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"rake",
|
|
"openshift:thinking_sphinx:start"
|
|
],
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-sphinx-database",
|
|
"mountPath": "/opt/system/db/sphinx"
|
|
}
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "0.0.0.0"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "db/sphinx/production.conf"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PID_FILE",
|
|
"value": "db/sphinx/searchd.pid"
|
|
},
|
|
{
|
|
"name": "DELTA_INDEX_INTERVAL",
|
|
"value": "5"
|
|
},
|
|
{
|
|
"name": "FULL_REINDEX_INTERVAL",
|
|
"value": "60"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-sphinx",
|
|
"livenessProbe": {
|
|
"tcpSocket": {
|
|
"port": 9306
|
|
},
|
|
"initialDelaySeconds": 60,
|
|
"periodSeconds": 10
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "system-memcache"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"port": 11211,
|
|
"protocol": "TCP",
|
|
"targetPort": 11211,
|
|
"name": "memcache"
|
|
}
|
|
],
|
|
"selector": {
|
|
"name": "system-memcache"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-memcache"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-memcache"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-memcache"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": null,
|
|
"env": null,
|
|
"image": "3scale-amp20/memcached:1.4.15-7",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "memcache",
|
|
"readinessProbe": {
|
|
"exec": {
|
|
"command": [
|
|
"sh",
|
|
"-c",
|
|
"echo version | nc $HOSTNAME 11211 | grep VERSION"
|
|
]
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 30,
|
|
"timeoutSeconds": 5
|
|
},
|
|
"livenessProbe": {
|
|
"tcpSocket": {
|
|
"port": 11211
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 10
|
|
},
|
|
"command": [
|
|
"memcached",
|
|
"-m",
|
|
"64"
|
|
]
|
|
}
|
|
],
|
|
"ports": [
|
|
{
|
|
"containerPort": 6379,
|
|
"protocol": "TCP"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Route",
|
|
"metadata": {
|
|
"name": "system-provider-admin-route",
|
|
"labels": {
|
|
"app": "system-route"
|
|
}
|
|
},
|
|
"spec": {
|
|
"host": "${TENANT_NAME}-admin.${WILDCARD_DOMAIN}",
|
|
"to": {
|
|
"kind": "Service",
|
|
"name": "system-provider"
|
|
},
|
|
"port": {
|
|
"targetPort": "http"
|
|
},
|
|
"tls": {
|
|
"termination": "edge",
|
|
"insecureEdgeTerminationPolicy": "Allow"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Route",
|
|
"metadata": {
|
|
"name": "backend-route",
|
|
"labels": {
|
|
"app": "system-route"
|
|
}
|
|
},
|
|
"spec": {
|
|
"host": "backend-${TENANT_NAME}.${WILDCARD_DOMAIN}",
|
|
"to": {
|
|
"kind": "Service",
|
|
"name": "backend-listener"
|
|
},
|
|
"port": {
|
|
"targetPort": "http"
|
|
},
|
|
"tls": {
|
|
"termination": "edge",
|
|
"insecureEdgeTerminationPolicy": "Allow"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Route",
|
|
"metadata": {
|
|
"name": "system-developer-route",
|
|
"labels": {
|
|
"app": "system-route"
|
|
}
|
|
},
|
|
"spec": {
|
|
"host": "${TENANT_NAME}.${WILDCARD_DOMAIN}",
|
|
"to": {
|
|
"kind": "Service",
|
|
"name": "system-developer"
|
|
},
|
|
"port": {
|
|
"targetPort": "http"
|
|
},
|
|
"tls": {
|
|
"termination": "edge",
|
|
"insecureEdgeTerminationPolicy": "Allow"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "apicast-staging"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"deploymentconfig": "apicast-staging"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 1800,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"deploymentconfig": "apicast-staging"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"env": [
|
|
{
|
|
"name": "THREESCALE_PORTAL_ENDPOINT",
|
|
"value": "http://${APICAST_ACCESS_TOKEN}@system-provider:3000"
|
|
},
|
|
{
|
|
"name": "APICAST_CONFIGURATION_LOADER",
|
|
"value": "lazy"
|
|
},
|
|
{
|
|
"name": "APICAST_CONFIGURATION_CACHE",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"name": "THREESCALE_DEPLOYMENT_ENV",
|
|
"value": "sandbox"
|
|
},
|
|
{
|
|
"name": "APICAST_MANAGEMENT_API",
|
|
"value": "${APICAST_MANAGEMENT_API}"
|
|
},
|
|
{
|
|
"name": "BACKEND_ENDPOINT_OVERRIDE",
|
|
"value": "http://backend-listener:3000"
|
|
},
|
|
{
|
|
"name": "OPENSSL_VERIFY",
|
|
"value": "${APICAST_OPENSSL_VERIFY}"
|
|
},
|
|
{
|
|
"name": "APICAST_RESPONSE_CODES",
|
|
"value": "${APICAST_RESPONSE_CODES}"
|
|
},
|
|
{
|
|
"name": "REDIS_URL",
|
|
"value": "redis://system-redis:6379/2"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/apicast-gateway:1.0-3",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "apicast-staging",
|
|
"livenessProbe": {
|
|
"httpGet": {
|
|
"path": "/status/live",
|
|
"port": 8090
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"timeoutSeconds": 5,
|
|
"periodSeconds": 10
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/status/ready",
|
|
"port": 8090
|
|
},
|
|
"initialDelaySeconds": 15,
|
|
"timeoutSeconds": 5,
|
|
"periodSeconds": 30
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 8080,
|
|
"protocol": "TCP"
|
|
},
|
|
{
|
|
"containerPort": 8090,
|
|
"protocol": "TCP"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "apicast-staging"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "gateway",
|
|
"port": 8080,
|
|
"protocol": "TCP",
|
|
"targetPort": 8080
|
|
},
|
|
{
|
|
"name": "management",
|
|
"port": 8090,
|
|
"protocol": "TCP",
|
|
"targetPort": 8090
|
|
}
|
|
],
|
|
"selector": {
|
|
"deploymentconfig": "apicast-staging"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "apicast-production"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"deploymentconfig": "apicast-production"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 1800,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"deploymentconfig": "apicast-production"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"env": [
|
|
{
|
|
"name": "THREESCALE_PORTAL_ENDPOINT",
|
|
"value": "http://${APICAST_ACCESS_TOKEN}@system-provider:3000"
|
|
},
|
|
{
|
|
"name": "APICAST_CONFIGURATION_LOADER",
|
|
"value": "boot"
|
|
},
|
|
{
|
|
"name": "APICAST_CONFIGURATION_CACHE",
|
|
"value": "300"
|
|
},
|
|
{
|
|
"name": "THREESCALE_DEPLOYMENT_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "APICAST_MANAGEMENT_API",
|
|
"value": "${APICAST_MANAGEMENT_API}"
|
|
},
|
|
{
|
|
"name": "BACKEND_ENDPOINT_OVERRIDE",
|
|
"value": "http://backend-listener:3000"
|
|
},
|
|
{
|
|
"name": "OPENSSL_VERIFY",
|
|
"value": "${APICAST_OPENSSL_VERIFY}"
|
|
},
|
|
{
|
|
"name": "APICAST_RESPONSE_CODES",
|
|
"value": "${APICAST_RESPONSE_CODES}"
|
|
},
|
|
{
|
|
"name": "REDIS_URL",
|
|
"value": "redis://system-redis:6379/1"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/apicast-gateway:1.0-3",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "apicast-production",
|
|
"livenessProbe": {
|
|
"httpGet": {
|
|
"path": "/status/live",
|
|
"port": 8090
|
|
},
|
|
"initialDelaySeconds": 10,
|
|
"timeoutSeconds": 5,
|
|
"periodSeconds": 10
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/status/ready",
|
|
"port": 8090
|
|
},
|
|
"initialDelaySeconds": 15,
|
|
"timeoutSeconds": 5,
|
|
"periodSeconds": 30
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 8080,
|
|
"protocol": "TCP"
|
|
},
|
|
{
|
|
"containerPort": 8090,
|
|
"protocol": "TCP"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Service",
|
|
"metadata": {
|
|
"name": "apicast-production"
|
|
},
|
|
"spec": {
|
|
"ports": [
|
|
{
|
|
"name": "gateway",
|
|
"port": 8080,
|
|
"protocol": "TCP",
|
|
"targetPort": 8080
|
|
},
|
|
{
|
|
"name": "management",
|
|
"port": 8090,
|
|
"protocol": "TCP",
|
|
"targetPort": 8090
|
|
}
|
|
],
|
|
"selector": {
|
|
"deploymentconfig": "apicast-production"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Route",
|
|
"metadata": {
|
|
"name": "api-apicast-staging-route",
|
|
"labels": {
|
|
"app": "apicast-staging"
|
|
}
|
|
},
|
|
"spec": {
|
|
"host": "api-${TENANT_NAME}-apicast-staging.${WILDCARD_DOMAIN}",
|
|
"to": {
|
|
"kind": "Service",
|
|
"name": "apicast-staging"
|
|
},
|
|
"port": {
|
|
"targetPort": "gateway"
|
|
},
|
|
"tls": {
|
|
"termination": "edge",
|
|
"insecureEdgeTerminationPolicy": "Allow"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "Route",
|
|
"metadata": {
|
|
"name": "api-apicast-production-route",
|
|
"labels": {
|
|
"app": "apicast-production"
|
|
}
|
|
},
|
|
"spec": {
|
|
"host": "api-${TENANT_NAME}-apicast-production.${WILDCARD_DOMAIN}",
|
|
"to": {
|
|
"kind": "Service",
|
|
"name": "apicast-production"
|
|
},
|
|
"port": {
|
|
"targetPort": "gateway"
|
|
},
|
|
"tls": {
|
|
"termination": "edge",
|
|
"insecureEdgeTerminationPolicy": "Allow"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-app"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-app"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1,
|
|
"pre": {
|
|
"failurePolicy": "Retry",
|
|
"execNewPod": {
|
|
"containerName": "system-provider",
|
|
"command": [
|
|
"bash",
|
|
"-c",
|
|
"bundle exec rake boot openshift:deploy"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"volumes": [
|
|
"system-storage"
|
|
]
|
|
}
|
|
},
|
|
"post": {
|
|
"failurePolicy": "Abort",
|
|
"execNewPod": {
|
|
"containerName": "system-provider",
|
|
"command": [
|
|
"bash",
|
|
"-c",
|
|
"bundle exec rake boot openshift:post_deploy"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-app"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": null,
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"command": [
|
|
"env",
|
|
"TENANT_MODE=provider",
|
|
"PORT=3000",
|
|
"container-entrypoint",
|
|
"bundle",
|
|
"exec",
|
|
"unicorn",
|
|
"-c",
|
|
"config/unicorn.rb"
|
|
],
|
|
"name": "system-provider",
|
|
"livenessProbe": {
|
|
"timeoutSeconds": 10,
|
|
"initialDelaySeconds": 20,
|
|
"tcpSocket": {
|
|
"port": "provider"
|
|
},
|
|
"periodSeconds": 10
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/check.txt",
|
|
"port": "provider",
|
|
"scheme": "HTTP",
|
|
"httpHeaders": [
|
|
{
|
|
"name": "X-Forwarded-Proto",
|
|
"value": "https"
|
|
}
|
|
]
|
|
},
|
|
"initialDelaySeconds": 30,
|
|
"timeoutSeconds": 10,
|
|
"periodSeconds": 30
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 3000,
|
|
"protocol": "TCP",
|
|
"name": "provider"
|
|
}
|
|
],
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-storage",
|
|
"mountPath": "/opt/system/public/system"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"args": null,
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"command": [
|
|
"env",
|
|
"TENANT_MODE=developer",
|
|
"PORT=3001",
|
|
"container-entrypoint",
|
|
"bundle",
|
|
"exec",
|
|
"unicorn",
|
|
"-c",
|
|
"config/unicorn.rb"
|
|
],
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-developer",
|
|
"livenessProbe": {
|
|
"timeoutSeconds": 10,
|
|
"initialDelaySeconds": 20,
|
|
"tcpSocket": {
|
|
"port": "developer"
|
|
},
|
|
"periodSeconds": 10
|
|
},
|
|
"readinessProbe": {
|
|
"httpGet": {
|
|
"path": "/check.txt",
|
|
"port": "developer",
|
|
"scheme": "HTTP",
|
|
"httpHeaders": [
|
|
{
|
|
"name": "X-Forwarded-Proto",
|
|
"value": "https"
|
|
}
|
|
]
|
|
},
|
|
"initialDelaySeconds": 30,
|
|
"timeoutSeconds": 10,
|
|
"periodSeconds": 30
|
|
},
|
|
"ports": [
|
|
{
|
|
"containerPort": 3001,
|
|
"protocol": "TCP",
|
|
"name": "developer"
|
|
}
|
|
],
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-storage",
|
|
"mountPath": "/opt/system/public/system",
|
|
"readOnly": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "system-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "system-storage"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-resque"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-resque"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-resque"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"rake",
|
|
"resque:work",
|
|
"QUEUE=*"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-resque",
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-storage",
|
|
"mountPath": "/opt/system/public/system"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"args": [
|
|
"rake",
|
|
"resque:scheduler",
|
|
"QUEUE=*"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-scheduler"
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "system-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "system-storage"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "v1",
|
|
"kind": "DeploymentConfig",
|
|
"metadata": {
|
|
"name": "system-sidekiq"
|
|
},
|
|
"spec": {
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-sidekiq"
|
|
},
|
|
"strategy": {
|
|
"rollingParams": {
|
|
"intervalSeconds": 1,
|
|
"maxSurge": "25%",
|
|
"maxUnavailable": "25%",
|
|
"timeoutSeconds": 600,
|
|
"updatePeriodSeconds": 1
|
|
},
|
|
"type": "Rolling"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-sidekiq"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"args": [
|
|
"rake",
|
|
"sidekiq:worker"
|
|
],
|
|
"env": [
|
|
{
|
|
"name": "RAILS_ENV",
|
|
"value": "production"
|
|
},
|
|
{
|
|
"name": "DATABASE_URL",
|
|
"value": "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "FORCE_SSL",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SUPERDOMAIN",
|
|
"value": "${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"value": "${TENANT_NAME}"
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"value": "${APICAST_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"value": "${ADMIN_ACCESS_TOKEN}"
|
|
},
|
|
{
|
|
"name": "PROVIDER_PLAN",
|
|
"value": "enterprise"
|
|
},
|
|
{
|
|
"name": "USER_LOGIN",
|
|
"value": "${ADMIN_USERNAME}"
|
|
},
|
|
{
|
|
"name": "USER_PASSWORD",
|
|
"value": "${ADMIN_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_TO_STDOUT",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"name": "RAILS_LOG_LEVEL",
|
|
"value": "info"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_ADDRESS",
|
|
"value": "system-sphinx"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_PORT",
|
|
"value": "9306"
|
|
},
|
|
{
|
|
"name": "THINKING_SPHINX_CONFIGURATION_FILE",
|
|
"value": "/tmp/sphinx.conf"
|
|
},
|
|
{
|
|
"name": "EVENTS_SHARED_SECRET",
|
|
"value": "${SYSTEM_BACKEND_SHARED_SECRET}"
|
|
},
|
|
{
|
|
"name": "THREESCALE_SANDBOX_PROXY_OPENSSL_VERIFY_MODE",
|
|
"value": "VERIFY_NONE"
|
|
},
|
|
{
|
|
"name": "APICAST_BACKEND_ROOT_ENDPOINT",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_USER",
|
|
"value": "${SYSTEM_BACKEND_USERNAME}"
|
|
},
|
|
{
|
|
"name": "CONFIG_INTERNAL_API_PASSWORD",
|
|
"value": "${SYSTEM_BACKEND_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "SECRET_KEY_BASE",
|
|
"value": "${SYSTEM_APP_SECRET_KEY_BASE}"
|
|
},
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"value": "${AMP_RELEASE}"
|
|
},
|
|
{
|
|
"name": "SMTP_ADDRESS",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "address"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_USER_NAME",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "username"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PASSWORD",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "password"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_DOMAIN",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "domain"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_PORT",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "port"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_AUTHENTICATION",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "authentication"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "SMTP_OPENSSL_VERIFY_MODE",
|
|
"valueFrom": {
|
|
"configMapKeyRef": {
|
|
"name": "smtp",
|
|
"key": "openssl.verify.mode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "BACKEND_ROUTE",
|
|
"value": "https://backend-${TENANT_NAME}.${WILDCARD_DOMAIN}"
|
|
}
|
|
],
|
|
"image": "3scale-amp20/system:1.0-2",
|
|
"imagePullPolicy": "IfNotPresent",
|
|
"name": "system-sidekiq",
|
|
"volumeMounts": [
|
|
{
|
|
"name": "system-storage",
|
|
"mountPath": "/opt/system/public/system"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "system-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "system-storage"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"triggers": []
|
|
}
|
|
},
|
|
{
|
|
"kind": "DeploymentConfig",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": "system-mysql"
|
|
},
|
|
"spec": {
|
|
"strategy": {
|
|
"type": "Recreate"
|
|
},
|
|
"triggers": [],
|
|
"replicas": 0,
|
|
"selector": {
|
|
"name": "system-mysql"
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"name": "system-mysql"
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"name": "system-mysql",
|
|
"image": "${MYSQL_IMAGE}",
|
|
"ports": [
|
|
{
|
|
"containerPort": 3306,
|
|
"protocol": "TCP"
|
|
}
|
|
],
|
|
"resources": {
|
|
"limits": {
|
|
"memory": "2Gi"
|
|
},
|
|
"requests": {
|
|
"cpu": "1",
|
|
"memory": "1Gi"
|
|
}
|
|
},
|
|
"readinessProbe": {
|
|
"timeoutSeconds": 5,
|
|
"initialDelaySeconds": 10,
|
|
"periodSeconds": 30,
|
|
"exec": {
|
|
"command": [
|
|
"/bin/sh",
|
|
"-i",
|
|
"-c",
|
|
"MYSQL_PWD=\"$MYSQL_PASSWORD\" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"
|
|
]
|
|
}
|
|
},
|
|
"livenessProbe": {
|
|
"initialDelaySeconds": 30,
|
|
"periodSeconds": 10,
|
|
"tcpSocket": {
|
|
"port": 3306
|
|
}
|
|
},
|
|
"env": [
|
|
{
|
|
"name": "MYSQL_USER",
|
|
"value": "${MYSQL_USER}"
|
|
},
|
|
{
|
|
"name": "MYSQL_PASSWORD",
|
|
"value": "${MYSQL_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "MYSQL_DATABASE",
|
|
"value": "${MYSQL_DATABASE}"
|
|
},
|
|
{
|
|
"name": "MYSQL_ROOT_PASSWORD",
|
|
"value": "${MYSQL_ROOT_PASSWORD}"
|
|
},
|
|
{
|
|
"name": "MYSQL_LOWER_CASE_TABLE_NAMES",
|
|
"value": "1"
|
|
}
|
|
],
|
|
"volumeMounts": [
|
|
{
|
|
"name": "mysql-storage",
|
|
"mountPath": "/var/lib/mysql/data"
|
|
}
|
|
],
|
|
"imagePullPolicy": "IfNotPresent"
|
|
}
|
|
],
|
|
"volumes": [
|
|
{
|
|
"name": "mysql-storage",
|
|
"persistentVolumeClaim": {
|
|
"claimName": "mysql-storage"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "ConfigMap",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": "redis-config"
|
|
},
|
|
"data": {
|
|
"redis.conf": "protected-mode no\n\nport 6379\n\ntimeout 0\ntcp-keepalive 300\n\ndaemonize no\nsupervised no\n\nloglevel notice\n\ndatabases 16\n\nsave 900 1\nsave 300 10\nsave 60 10000\n\nstop-writes-on-bgsave-error yes\n\nrdbcompression yes\nrdbchecksum yes\n\ndbfilename dump.rdb\n\nslave-serve-stale-data yes\nslave-read-only yes\n\nrepl-diskless-sync no\nrepl-disable-tcp-nodelay no\n\nappendonly yes\nappendfilename \"appendonly.aof\"\nappendfsync everysec\nno-appendfsync-on-rewrite no\nauto-aof-rewrite-percentage 100\nauto-aof-rewrite-min-size 64mb\naof-load-truncated yes\n\nlua-time-limit 5000\n\nactiverehashing no\n\naof-rewrite-incremental-fsync yes\ndir /var/lib/redis/data\n"
|
|
}
|
|
},
|
|
{
|
|
"kind": "ConfigMap",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": "smtp"
|
|
},
|
|
"data": {
|
|
"address": "",
|
|
"username": "",
|
|
"password": "",
|
|
"domain": "",
|
|
"port": "",
|
|
"authentication": "",
|
|
"openssl.verify.mode": ""
|
|
}
|
|
}
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "AMP_RELEASE",
|
|
"description": "AMP release tag.",
|
|
"value": "2.0.0-CR2-redhat-1",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "ADMIN_PASSWORD",
|
|
"required": true,
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}"
|
|
},
|
|
{
|
|
"name": "ADMIN_USERNAME",
|
|
"value": "admin",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "APICAST_ACCESS_TOKEN",
|
|
"required": true,
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}",
|
|
"description": "Read Only Access Token that is APIcast going to use to download its configuration."
|
|
},
|
|
{
|
|
"name": "ADMIN_ACCESS_TOKEN",
|
|
"required": false,
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{16}",
|
|
"description": "Admin Access Token with all scopes and write permissions for API access."
|
|
},
|
|
{
|
|
"name": "WILDCARD_DOMAIN",
|
|
"description": "Root domain for the wildcard routes. Eg. example.com will generate 3scale-admin.example.com.",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "TENANT_NAME",
|
|
"description": "Tenant name under the root that Admin UI will be available with -admin suffix.",
|
|
"required": true,
|
|
"value": "3scale"
|
|
},
|
|
{
|
|
"name": "MYSQL_USER",
|
|
"displayName": "MySQL User",
|
|
"description": "Username for MySQL user that will be used for accessing the database.",
|
|
"value": "mysql",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "MYSQL_PASSWORD",
|
|
"displayName": "MySQL Password",
|
|
"description": "Password for the MySQL user.",
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "MYSQL_DATABASE",
|
|
"displayName": "MySQL Database Name",
|
|
"description": "Name of the MySQL database accessed.",
|
|
"value": "system",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "MYSQL_ROOT_PASSWORD",
|
|
"displayName": "MySQL Root password.",
|
|
"description": "Password for Root user.",
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "SYSTEM_BACKEND_USERNAME",
|
|
"description": "Internal 3scale API username for internal 3scale api auth.",
|
|
"value": "3scale_api_user",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "SYSTEM_BACKEND_PASSWORD",
|
|
"description": "Internal 3scale API password for internal 3scale api auth.",
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "REDIS_IMAGE",
|
|
"description": "Redis image to use",
|
|
"required": true,
|
|
"value": "rhscl/redis-32-rhel7:3.2-5.7"
|
|
},
|
|
{
|
|
"name": "MYSQL_IMAGE",
|
|
"description": "Mysql image to use",
|
|
"required": true,
|
|
"value": "rhscl/mysql-56-rhel7:5.6-13.14"
|
|
},
|
|
{
|
|
"name": "SYSTEM_BACKEND_SHARED_SECRET",
|
|
"description": "Shared secret to import events from backend to system.",
|
|
"generate": "expression",
|
|
"from": "[a-z0-9]{8}",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "SYSTEM_APP_SECRET_KEY_BASE",
|
|
"description": "System application secret key base",
|
|
"generate": "expression",
|
|
"from": "[a-f0-9]{128}",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "APICAST_MANAGEMENT_API",
|
|
"description": "Scope of the APIcast Management API. Can be disabled, status or debug. At least status required for health checks.",
|
|
"required": false,
|
|
"value": "status"
|
|
},
|
|
{
|
|
"name": "APICAST_OPENSSL_VERIFY",
|
|
"description": "Turn on/off the OpenSSL peer verification when downloading the configuration. Can be set to true/false.",
|
|
"required": false,
|
|
"value": "false"
|
|
},
|
|
{
|
|
"name": "APICAST_RESPONSE_CODES",
|
|
"description": "Enable logging response codes in APIcast.",
|
|
"value": "true",
|
|
"required": false
|
|
}
|
|
]
|
|
}
|
|
|