Update weather service build

This commit is contained in:
2019-07-25 21:30:37 -04:00
parent 53508480d2
commit c2220a3c0f
4 changed files with 139 additions and 128 deletions

View File

@@ -29,4 +29,15 @@ steps:
dockerRegistryConnection: 'Docker Hub'
action: 'Push an image'
imageName: 'ckaczor/home-monitor-weather-service:$(Build.BuildNumber)'
includeLatestTag: true
includeLatestTag: true
- task: Bash@3
inputs:
targetType: 'inline'
script: 'sed -i s/#BUILD_BUILDNUMBER#/$BUILD_BUILDNUMBER/ Weather/Service/deploy/manifest.yaml'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'Weather/Service/deploy/manifest.yaml'
ArtifactName: 'Manifest'
publishLocation: 'Container'

View File

@@ -1,68 +0,0 @@
---
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: weather-database
namespace: home-monitor
labels:
app: weather-database
spec:
replicas: 1
selector:
matchLabels:
app: weather-database
serviceName: weather-database
template:
metadata:
labels:
app: weather-database
spec:
containers:
- name: weather-database
image: timescale/timescaledb
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: password
- name: POSTGRES_DB
value: weather
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-path
resources:
requests:
storage: 4Gi
---
kind: Service
apiVersion: v1
metadata:
name: weather-database
spec:
ports:
- name: client
port: 5432
selector:
app: weather-database
type: ClusterIP

View File

@@ -0,0 +1,127 @@
---
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: weather-database
namespace: home-monitor
labels:
app: weather-database
spec:
replicas: 1
selector:
matchLabels:
app: weather-database
serviceName: weather-database
template:
metadata:
labels:
app: weather-database
spec:
containers:
- name: weather-database
image: timescale/timescaledb
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: password
- name: POSTGRES_DB
value: weather
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-path
resources:
requests:
storage: 4Gi
---
kind: Service
apiVersion: v1
metadata:
name: weather-database
spec:
ports:
- name: client
port: 5432
selector:
app: weather-database
type: ClusterIP
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: weather-service
namespace: home-monitor
labels:
app: weather-service
spec:
replicas: 1
selector:
matchLabels:
app: weather-service
template:
metadata:
labels:
app: weather-service
spec:
containers:
- name: weather-service
image: ckaczor/home-monitor-weather-service:#BUILD_BUILDNUMBER#
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: Weather__Queue__Host
value: weather-queue
- name: Weather__Queue__User
valueFrom:
secretKeyRef:
name: weather-queue-credentials
key: username
- name: Weather__Queue__Password
valueFrom:
secretKeyRef:
name: weather-queue-credentials
key: password
- name: Weather__Database__Host
value: weather-database
- name: Weather__Database__User
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: username
- name: Weather__Database__Password
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: password
- name: Hub__Weather
value: http://hub-service/weatherHub
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler

View File

@@ -1,59 +0,0 @@
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: weather-service
namespace: home-monitor
labels:
app: weather-service
spec:
replicas: 1
selector:
matchLabels:
app: weather-service
template:
metadata:
labels:
app: weather-service
spec:
containers:
- name: weather-service
image: ckaczor/home-monitor-weather-service:latest
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: File
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: Weather__Queue__Host
value: weather-queue
- name: Weather__Queue__User
valueFrom:
secretKeyRef:
name: weather-queue-credentials
key: username
- name: Weather__Queue__Password
valueFrom:
secretKeyRef:
name: weather-queue-credentials
key: password
- name: Weather__Database__Host
value: weather-database
- name: Weather__Database__User
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: username
- name: Weather__Database__Password
valueFrom:
secretKeyRef:
name: weather-database-credentials
key: password
- name: Hub__Weather
value: http://hub-service/weatherHub
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
nodeSelector:
kubernetes.io/hostname: kubernetes
schedulerName: default-scheduler