legendary-doc-site/infrastructure/kube.yaml

165 lines
3.9 KiB
YAML
Raw Normal View History

apiVersion: v1
kind: Namespace
metadata:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
---
apiVersion: apps/v1
kind: Deployment
metadata:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
namespace: legendary-doc-site
spec:
replicas: 2
selector:
matchLabels:
2021-02-23 22:31:02 +00:00
app: legendary-doc-site
template:
metadata:
labels:
2021-02-23 22:31:02 +00:00
app: legendary-doc-site
spec:
containers:
- name: app
2021-07-02 21:14:14 +00:00
image: registry.gitlab.com/mythic-insight/legendary-doc-site:2.11.0
2021-05-21 19:41:40 +00:00
command: ["elixir"]
args:
- "--name"
- "$(NAME)@$(POD_IP)"
2021-05-25 21:11:55 +00:00
- "--cookie"
- "$(SECRET_KEY_BASE)"
2021-05-21 19:41:40 +00:00
- "-S"
- "mix"
- "phx.server"
ports:
- containerPort: 4000
2021-05-21 18:24:08 +00:00
- containerPort: 4369
env:
2021-05-14 21:38:24 +00:00
- name: HOSTNAME
value: legendaryframework.org
2021-05-17 22:08:12 +00:00
- name: EMAIL_FROM
value: no-reply@legendaryframework.org
2021-05-18 19:50:42 +00:00
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NAME
value: legendary-doc-site
2021-05-18 19:50:42 +00:00
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: database
key: url
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
key: secret-key-base
2021-05-06 17:39:57 +00:00
- name: LIVE_VIEW_SIGNING_SALT
valueFrom:
secretKeyRef:
2021-05-14 22:21:51 +00:00
name: legendary-doc-site
2021-05-06 17:39:57 +00:00
key: live-view-signing-salt
2021-05-14 21:38:24 +00:00
- name: SMTP_HOST
valueFrom:
secretKeyRef:
2021-05-14 22:21:51 +00:00
name: legendary-doc-site
2021-05-14 21:38:24 +00:00
key: smtp-host
- name: SMTP_USERNAME
valueFrom:
secretKeyRef:
2021-05-14 22:21:51 +00:00
name: legendary-doc-site
2021-05-14 21:38:24 +00:00
key: smtp-username
2021-05-14 22:21:51 +00:00
- name: SMTP_PASSWORD
2021-05-14 21:38:24 +00:00
valueFrom:
secretKeyRef:
2021-05-14 22:21:51 +00:00
name: legendary-doc-site
2021-05-14 21:38:24 +00:00
key: smtp-password
---
apiVersion: v1
kind: Service
metadata:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
namespace: legendary-doc-site
spec:
selector:
2021-02-23 22:31:02 +00:00
app: legendary-doc-site
ports:
- protocol: TCP
port: 80
targetPort: 4000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
namespace: legendary-doc-site
annotations:
kubernetes.io/ingress.class: nginx
2021-02-26 22:09:49 +00:00
cert-manager.io/cluster-issuer: letsencrypt
spec:
rules:
2021-02-23 22:31:02 +00:00
- host: legendary-doc-site.mythicinsight.com
http:
paths:
- backend:
service:
2021-02-23 22:31:02 +00:00
name: legendary-doc-site
port:
number: 80
path: /
pathType: Prefix
2021-02-23 23:01:47 +00:00
- host: legendaryframework.com
http:
paths:
- backend:
service:
name: legendary-doc-site
port:
number: 80
path: /
pathType: Prefix
- host: legendaryframework.org
http:
paths:
- backend:
service:
name: legendary-doc-site
port:
number: 80
path: /
pathType: Prefix
2021-02-26 22:09:49 +00:00
tls:
- hosts:
- legendary-doc-site.mythicinsight.com
- legendaryframework.org
- legendaryframework.com
secretName: legendary-doc-site-cert
2021-05-21 18:24:08 +00:00
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: legendary-doc-site
name: pod-watcher
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["list"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: legendary-doc-site
name: pod-watcher-binding
subjects:
- kind: ServiceAccount
namespace: legendary-doc-site
name: default
roleRef:
kind: Role
name: pod-watcher
apiGroup: rbac.authorization.k8s.io