Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy OpenWhisk API Gateway #10

Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 137 additions & 0 deletions openshift/apigateway.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
########################################
## API Gateway ConfigMap
########################################
---
apiVersion: v1
kind: ConfigMap
metadata:
name: apigateway
namespace: openwhisk
data:
api_host: openwhisk-openwhisk.192.168.64.58.nip.io
apigw_url: http://apigateway-openwhisk.192.168.64.58.nip.io
redis_host: "redis.openwhisk.svc.cluster.local"
redis_port: "6379"
########################################
# START REDIS Deployment
########################################
---
apiVersion: v1
kind: Service
metadata:
labels:
app: redis
name: redis
namespace: openwhisk
spec:
ports:
- name: redis-6379
port: 6379
selector:
app: redis
---
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: redis
name: redis
namespace: openwhisk
spec:
replicas: 1
template:
metadata:
labels:
app: redis
name: redis
spec:
containers:
- image: docker.io/redis:3.2
name: redis
triggers:
- type: ConfigChange

########################################
# END REDIS Deployment
########################################

########################################
# START OpenWhisk ApiGateway Deployment
########################################
---
apiVersion: v1
kind: Service
metadata:
name: apigateway
labels:
name: apigateway
namespace: openwhisk
spec:
selector:
name: apigateway
ports:
- port: 8080
name: mgmt
- port: 9000
name: api
---
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: apigateway
namespace: openwhisk
labels:
name: apigateway
spec:
replicas: 1
template:
metadata:
labels:
name: apigateway
spec:
restartPolicy: Always
containers:
- name: apigateway
imagePullPolicy: IfNotPresent
image: docker.io/openwhisk/apigateway
ports:
- name: mgmt
containerPort: 8080
- name: api
containerPort: 9000
env:
- name: "REDIS_HOST"
valueFrom:
configMapKeyRef:
name: apigateway
key: redis_host
- name: "REDIS_PORT"
valueFrom:
configMapKeyRef:
name: apigateway
key: redis_port
- name: "PUBLIC_GATEWAY_URL"
valueFrom:
configMapKeyRef:
name: apigateway
key: apigw_url
triggers:
- type: ConfigChange

---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
labels:
app: apigateway
name: apigateway
namespace: openwhisk
spec:
port:
targetPort: mgmt
to:
kind: Service
name: apigateway
########################################
# END OpenWhisk ApiGateway Deployment
########################################
39 changes: 39 additions & 0 deletions openshift/apimangement.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
apiVersion: batch/v1
kind: Job
metadata:
name: install-apimanagement
namespace: openwhisk
spec:
activeDeadlineSeconds: 600
template:
metadata:
name: install-apimanagement
spec:
containers:
- name: apimanagement
image: docker.io/openwhisk/kube-routemgmt
env:
- name: "WHISK_CLI_VERSION"
valueFrom:
configMapKeyRef:
name: whisk.config
key: whisk_cli_version_tag
- name: "WHISK_AUTH"
valueFrom:
secretKeyRef:
name: whisk.auth
key: system
- name: "WHISK_API_HOST_NAME"
valueFrom:
configMapKeyRef:
name: apigateway
key: api_host
- name: "WHISK_NAMESPACE"
valueFrom:
configMapKeyRef:
name: whisk.config
key: whisk_system_namespace
- name: "WHISK_API_GATEWAY_HOST_V2"
value: "http://$(APIGATEWAY_SERVICE_HOST):$(APIGATEWAY_SERVICE_PORT_API)/v2"

restartPolicy: Never