Update 'Deployment'
parent
5791a32199
commit
ee758ca723
96
Deployment.md
Normal file
96
Deployment.md
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
`pages` is written with the [12factor](https://12factor.net) principals. It attempts to use a reasonable set of defaults and should be easy to configure across Docker, Kubernetes, and Nomad.
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
TBD
|
||||||
|
|
||||||
|
## Kubernetes
|
||||||
|
|
||||||
|
**Create a secret**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl create secret generic pages-secret \
|
||||||
|
--from-literal "PAGES_GIT_BRANCH=gh-pages" \
|
||||||
|
--from-literal "PAGES_GIT_URL=https://github.com/mjpitz/mjpitz.git"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Chart.yaml**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: v2
|
||||||
|
type: application
|
||||||
|
name: pages
|
||||||
|
version: 0.0.0
|
||||||
|
appVersion: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
- name: 12factor
|
||||||
|
repository: https://mjpitz.com
|
||||||
|
version: 22.5.0
|
||||||
|
```
|
||||||
|
|
||||||
|
**values.yaml**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
12factor:
|
||||||
|
nameOverride: pages
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: img.pitz.tech/mya/pages
|
||||||
|
tag: latest
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
replicaCount: 2
|
||||||
|
|
||||||
|
application:
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: pages-secret
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
- name: debug
|
||||||
|
containerPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
networking:
|
||||||
|
service:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
- name: debug
|
||||||
|
targetPort: debug
|
||||||
|
protocol: TCP
|
||||||
|
port: 8081
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
annotations:
|
||||||
|
# certificate
|
||||||
|
kubernetes.io/tls-acme: "true"
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
|
# controller
|
||||||
|
kubernetes.io/ingress.class: nginx
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||||
|
nginx.ingress.kubernetes.io/connection-proxy-header: "keep-alive,Upgrade"
|
||||||
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
||||||
|
proxy_set_header Upgrade "websocket";
|
||||||
|
hosts:
|
||||||
|
- host: example.com
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
tls:
|
||||||
|
- secretName: example-tls
|
||||||
|
hosts:
|
||||||
|
- example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
## Nomad
|
||||||
|
|
||||||
|
TBD
|
Loading…
Reference in New Issue
Block a user