Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
147 changes: 147 additions & 0 deletions kubernetes/argo-test/base/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: operationcode-backend
spec:
replicas: 2
revisionHistoryLimit: 5
template:
spec:
containers:
- name: app
image: operationcode/operationcode_backend:latest
imagePullPolicy: Always
ports:
- containerPort: 3000
env:
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: backend-secrets
key: postgres_password
- name: AIRTABLE_API_KEY
valueFrom:
secretKeyRef:
name: backend-secrets
key: airtable_api_key
- name: SLACK_LEGACY_ADMIN_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_legacy_admin_token
- name: AIRTABLE_BASE_ID
valueFrom:
secretKeyRef:
name: backend-secrets
key: airtable_base_id
optional: true
- name: GIT_HUB_CLIENT_ID
valueFrom:
secretKeyRef:
name: backend-secrets
key: git_hub_client_id
optional: true
- name: GIT_HUB_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: backend-secrets
key: git_hub_client_secret
optional: true
- name: GIT_HUB_OAUTH_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: git_hub_oauth_token
optional: true
- name: PY_BOT_AUTH_KEY
valueFrom:
secretKeyRef:
name: backend-secrets
key: py_bot_auth_key
optional: true
- name: POSTGRES_HOST
value: opcode-postgres
- name: REDIS_URL
value: redis://opcode-redis:6379/0
- name: RAILS_ENV
value: production
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: backend-secrets
key: postgres_user
- name: SLACK_SUBDOMAIN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_subdomain
- name: SLACK_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_token
- name: JWT_SECRET_KEY
valueFrom:
secretKeyRef:
name: backend-secrets
key: jwt_secret_key
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
name: backend-secrets
key: secret_key_base
- name: SKYLIGHT_AUTHENTICATION
valueFrom:
secretKeyRef:
name: backend-secrets
key: skylight_authentication
- name: sidekiq
image: operationcode/operationcode_backend:latest
command: ["sidekiq", "-C config/sidekiq.yml.erb"]
imagePullPolicy: Always
env:
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: backend-secrets
key: postgres_password
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: backend-secrets
key: postgres_user
- name: POSTGRES_HOST
value: opcode-postgres
- name: REDIS_URL
value: redis://opcode-redis:6379/0
- name: SLACK_SUBDOMAIN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_subdomain
- name: SLACK_LEGACY_ADMIN_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_legacy_admin_token
- name: SLACK_TOKEN
valueFrom:
secretKeyRef:
name: backend-secrets
key: slack_token
- name: RAILS_ENV
value: production
- name: JWT_SECRET_KEY
valueFrom:
secretKeyRef:
name: backend-secrets
key: jwt_secret_key
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
name: backend-secrets
key: secret_key_base
volumes:
- name: backend-secrets
secret:
secretName: backend-secrets
9 changes: 9 additions & 0 deletions kubernetes/argo-test/base/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

commonLabels:
app: operationcode-backend

resources:
- deployment.yaml
- service.yaml
13 changes: 13 additions & 0 deletions kubernetes/argo-test/base/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: operationcode-backend-service
spec:
selector:
app: operationcode-backend
ports:
- protocol: TCP
name: http
port: 80
targetPort: 3000
type: ClusterIP
7 changes: 7 additions & 0 deletions kubernetes/argo-test/overlays/prod/database-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
kind: Service
apiVersion: v1
metadata:
name: opcode-postgres
spec:
type: ExternalName
externalName: prod-postgres-20180107.czwauqf3tjaz.us-east-2.rds.amazonaws.com
20 changes: 20 additions & 0 deletions kubernetes/argo-test/overlays/prod/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
name: operationcode-backend
spec:
rules:
- host: api.operationcode.org
http:
paths:
- backend:
serviceName: operationcode-backend-service
servicePort: 80
path: /
tls:
- hosts:
- api.operationcode.org
secretName: operationcode-backend-tls
12 changes: 12 additions & 0 deletions kubernetes/argo-test/overlays/prod/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: operationcode

bases:
- ../../base

resources:
- ingress.yaml
- redis-service.yaml
- database-service.yaml
11 changes: 11 additions & 0 deletions kubernetes/argo-test/overlays/prod/redis-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
kind: Service
apiVersion: v1
metadata:
name: opcode-redis
spec:
selector:
app: operationcode-redis-redis
ports:
- protocol: TCP
port: 6379
targetPort: 6379
7 changes: 7 additions & 0 deletions kubernetes/argo-test/overlays/staging/database-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
kind: Service
apiVersion: v1
metadata:
name: opcode-postgres
spec:
type: ExternalName
externalName: staging-postgres-20180408.czwauqf3tjaz.us-east-2.rds.amazonaws.com
13 changes: 13 additions & 0 deletions kubernetes/argo-test/overlays/staging/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: operationcode-backend
spec:
template:
spec:
containers:
- name: app
env:
- name: RAILS_ENV
value: staging
20 changes: 20 additions & 0 deletions kubernetes/argo-test/overlays/staging/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
name: operationcode-backend
spec:
rules:
- host: api.staging.operationcode.org
http:
paths:
- backend:
serviceName: operationcode-backend-service
servicePort: 80
path: /
tls:
- hosts:
- api.staging.operationcode.org
secretName: operationcode-backend-tls
15 changes: 15 additions & 0 deletions kubernetes/argo-test/overlays/staging/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: operationcode-staging

bases:
- ../../base

resources:
- ingress.yaml
- redis-service.yaml
- database-service.yaml

patchesStrategicMerge:
- deployment.yaml
11 changes: 11 additions & 0 deletions kubernetes/argo-test/overlays/staging/redis-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
kind: Service
apiVersion: v1
metadata:
name: opcode-redis
spec:
selector:
app: operationcode-staging-redis-redis
ports:
- protocol: TCP
port: 6379
targetPort: 6379