--- kind: StatefulSet apiVersion: apps/v1 metadata: name: power-database namespace: home-monitor labels: app: power-database spec: replicas: 1 selector: matchLabels: app: power-database serviceName: power-database template: metadata: labels: app: power-database spec: containers: - name: power-database image: mcr.microsoft.com/mssql/server terminationMessagePath: "/dev/termination-log" terminationMessagePolicy: File imagePullPolicy: IfNotPresent env: - name: SA_PASSWORD valueFrom: secretKeyRef: name: power-database-credentials key: password - name: ACCEPT_EULA value: "Y" - name: MSSQL_PID value: Express - name: MSSQL_TCP_PORT value: "1434" - name: TZ value: America/New_York volumeMounts: - name: data mountPath: /var/opt/mssql 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: power-database spec: ports: - name: client port: 1434 selector: app: power-database type: LoadBalancer --- kind: Deployment apiVersion: apps/v1 metadata: name: power-service namespace: home-monitor labels: app: power-service spec: replicas: 1 selector: matchLabels: app: power-service template: metadata: labels: app: power-service spec: containers: - name: power-service image: ckaczor/home-monitor-power-service:#BUILD_BUILDNUMBER# terminationMessagePath: "/dev/termination-log" terminationMessagePolicy: File imagePullPolicy: Always securityContext: privileged: true env: - name: ApplicationInsights__ConnectionString valueFrom: secretKeyRef: name: telemetry key: key - name: Power__Database__Host value: power-database - name: Power__Database__User valueFrom: secretKeyRef: name: power-database-credentials key: username - name: Power__Database__Password valueFrom: secretKeyRef: name: power-database-credentials key: password - name: Hub__Power value: http://hub-service/power - name: Power__Host valueFrom: secretKeyRef: name: power-neurio-connection key: host - name: Power__AuthorizationHeader valueFrom: secretKeyRef: name: power-neurio-connection key: authorization restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst nodeSelector: kubernetes.io/hostname: kubernetes schedulerName: default-scheduler --- kind: Service apiVersion: v1 metadata: name: power-service spec: ports: - name: client port: 80 selector: app: power-service type: ClusterIP --- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: power namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik nginx.ingress.kubernetes.io/ssl-redirect: 'false' traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - path: "/api/power" pathType: ImplementationSpecific backend: service: name: power-service port: number: 80