Skip to content

Instantly share code, notes, and snippets.

@VitalJeevanjot
Created February 12, 2020 18:06
Show Gist options
  • Save VitalJeevanjot/3b6343279cbc5ce005841a6a2ca8adae to your computer and use it in GitHub Desktop.
Save VitalJeevanjot/3b6343279cbc5ce005841a6a2ca8adae to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: ConfigMap
metadata:
name: uni-mastodon
labels:
app: uni-mastodon
data:
REDIS_HOST: "redis.mastodon-genievot.svc.cluster.local"
REDIS_PORT: "6397"
DB_HOST: "postgresql.mastodon-genievot.svc.cluster.local"
DB_USER: "postgres"
DB_NAME: "mastodon"
DB_PORT: "5432"
LOCAL_DOMAIN: "uni-mastodon-genievot.cloud.okteto.net"
LOCAL_HTTPS: "true"
SINGLE_USER_MODE: "false"
DEFAULT_LOCALE: "en"
SMTP_AUTH_METHOD: "none"
SMTP_OPENSSL_VERIFY_MODE: "none"
SMTP_PORT: "25"
SMTP_SERVER: "localhost"
SMTP_FROM_ADDRESS: "notifications@mastodon.local"
SMTP_DELIVERY_METHOD: "sendmail"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: uni-mastodon
labels:
app: uni-mastodon
spec:
selector:
matchLabels:
app: uni-mastodon
template:
metadata:
labels:
app: uni-mastodon
spec:
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 1800
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 1800
volumes:
- name: mastodon-assets
emptyDir: {}
- name: mastodon-packs
emptyDir: {}
- name: mastodon-system
emptyDir: {}
containers:
- name: uni-mastodon-web
image: "docker.io/tootsuite/mastodon:latest"
imagePullPolicy: IfNotPresent
command: [
"/bin/bash",
"-c",
"bundle exec rake assets:precompile && \
bundle exec rake db:migrate --trace && \
bundle exec rails s -p 3000 -b 0.0.0.0",
]
ports:
- name: web
containerPort: 3000
livenessProbe:
httpGet:
path: /about
port: web
httpHeaders:
- name: X-Forwarded-Proto
value: "https"
initialDelaySeconds: 900
periodSeconds: 5
readinessProbe:
httpGet:
path: /about
port: web
httpHeaders:
- name: X-Forwarded-Proto
value: "https"
initialDelaySeconds: 900
periodSeconds: 3
resources:
requests:
memory: 1Gi
cpu: 100m
envFrom:
- configMapRef:
name: uni-mastodon
- secretRef:
name: uni-mastodon
env:
- name: DB_PASS
valueFrom:
secretKeyRef:
name: "postgresql.mastodon-genievot.svc.cluster.local"
key: okteto
- name: okteto
valueFrom:
secretKeyRef:
name: "redis.mastodon-genievot.svc.cluster.local"
key: okteto
volumeMounts:
- mountPath: /mastodon/public/assets
name: mastodon-assets
- mountPath: /mastodon/public/packs
name: mastodon-packs
- mountPath: /mastodon/public/system
name: mastodon-system
- name: uni-mastodon-sidekiq
image: "docker.io/tootsuite/mastodon:latest"
imagePullPolicy: IfNotPresent
command:
[
"bundle",
"exec",
"sidekiq",
"-q",
"default",
"-q",
"mailers",
"-q",
"pull",
"-q",
"push",
]
resources:
requests:
memory: 128Mi
cpu: 50m
envFrom:
- configMapRef:
name: uni-mastodon
- secretRef:
name: uni-mastodon
volumeMounts:
- mountPath: /mastodon/public/assets
name: mastodon-assets
- mountPath: /mastodon/public/packs
name: mastodon-packs
- mountPath: /mastodon/public/system
name: mastodon-system
- name: uni-mastodon-streaming
image: "docker.io/tootsuite/mastodon:latest"
imagePullPolicy: IfNotPresent
command: ["yarn", "start"]
ports:
- name: streaming
containerPort: 4000
resources:
requests:
memory: 32Mi
cpu: 25m
envFrom:
- configMapRef:
name: uni-mastodon
- secretRef:
name: uni-mastodon
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: uni-mastodon
labels:
app: uni-mastodon
spec:
tls:
- hosts:
- uni-mastodon-genievot.cloud.okteto.net
secretName: uni-mastodon
rules:
- host: uni-mastodon-genievot.cloud.okteto.net
http:
paths:
- backend:
serviceName: mastodon
servicePort: web
---
apiVersion: v1
kind: Secret
metadata:
name: uni-mastodon
labels:
app: uni-mastodon
type: Opaque
data:
OTP_SECRET: d4398e4af52f1fc5be5c3c8764e9ecce7beac5462826cb8b640373b2ahd5a0f153598ed817c4e9931e943041460a6b6eda40a854l825e1bbd510c4594b1538f1
SECRET_KEY_BASE: d4398e4af52f1fd9be5c3c8764e9ecce7beac5462810cb0b649373b2aad5a0f133598ed817c4e9931e943041460d6b6eda40a854e825e1bbd510c4594b1538f2
PAPERCLIP_SECRET: 5be187ddbd651211a916f9az399f4a148edf6e06f901c7c0b5429b9483df6e21d262cc846447d0f89b89c32d56a99e151039df5dd874ede7f712afbe041a9269
tls.crt: -----BEGIN CERTIFICATE-----
MIIDCDCCAfCgAwIBAgIJAO148SPJf7KEMA0GCSqGSIb3DQEBCwUAMBkxFzAVBgNV
BAMMDm1hc3RvZG9uLmxvY2FsMB4XDTE4MDQwNzIzMTkyN1oXDTE5MDQwNzIzMTky
N1owGTEXMBUGA1UEAwwObWFzdG9kb24ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDhDuzjp8GsvsLeO0IAbGCPKa8W1WkLX6ersV7a32xwh+vv
FhkPkPs9Ckxf++rcpr5rsLnpSB37XJXt0rGfQd1jk6uR8InmAFD3GHttlXsXx7No
vrFNjyve+ZdeJa08Su9iAEby8rIdGvPHW9YCpB0obNDyu5vuZLyXoOy5gZ6fJIhm
IP33wrnzfRlZVuqjxOucUqckgc9TKUA5bYIUAqa3NFMIRPLSYdpw8bTxxBxO9gez
AOt8yIhpsf57TChmZlUqsJk6moHwTEKyWLqUpTOzKbJu2PEDwTRER2UWQ4rKGGJ2
MhwXFO5hNnJ13BQAUKl6UKACW4ngWiSUQ4xJZckHAgMBAAGjUzBRMB0GA1UdDgQW
BBSxfdYipqZ9Sz++2AY+nbG51vbAWTAfBgNVHSMEGDAWgBSxfdYipqZ9Sz++2AY+
nbG51vbAWTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDAcYyk
LZGrJxmSO5GOmMYYqND3hHxYFi27dgDsBbQhDN3owPP3pUp/AcEcvIWgWj9PdcKr
rNP+jzdBGKXUpAoRD47lJw4XxHxvAhtbw83TuxxAZ2+cgWJ8r9rbJs5ZPvsouwf1
t8zLuZrHALaYeRtayo6cdsDMbyktQiO51vjdh3Fw+AIRbJBjkoZDBDJ9VomSUKnx
5MXHGW5wi5QixeQO6DwG2CCmdeHgwIws8CHh40O4KGien2bruNekzdjynK3fYtrm
KkFqAxlfzed/yvCSR90yQDvQ01TYhg+TjfSVHZmEgLnyDPx/cRIO8IHu+37YU9Ey
xqlrBp6zzRKegg2l
-----END CERTIFICATE-----
tls.key: -----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhDuzjp8GsvsLe
O0IAbGCPKa8W1WkLX6ersV7a32xwh+vvFhkPkPs9Ckxf++rcpr5rsLnpSB37XJXt
0rGfQd1jk6uR8InmAFD3GHttlXsXx7NovrFNjyve+ZdeJa08Su9iAEby8rIdGvPH
W9YCpB0obNDyu5vuZLyXoOy5gZ6fJIhmIP33wrnzfRlZVuqjxOucUqckgc9TKUA5
bYIUAqa3NFMIRPLSYdpw8bTxxBxO9gezAOt8yIhpsf57TChmZlUqsJk6moHwTEKy
WLqUpTOzKbJu2PEDwTRER2UWQ4rKGGJ2MhwXFO5hNnJ13BQAUKl6UKACW4ngWiSU
Q4xJZckHAgMBAAECggEBANi80PGk+uVriKsQEk3qEUuN7ypkN5dWdVjppdnO1NXC
cDp944CUNP/hzQ+aweHhSvzW4xN/+i+6SEESaTBf898TtWUEayjvIQn1r9gm3rZW
Abdb/dAdkzhW0ak/S4gG+mY8shcCFvnknORe0skUV2g48zjv6Ak7RkwYFCHKbIIA
k7zfN6Up0lrMDNdWCf3XXXlEBCE4cXPaHZVmsEUyKHKc4+Mo+KYyR6HFupKPpriC
wGRTh5J1rhzUBOvAxQJnJKP1UuvIdWyJpYqywtuiXfJiYq0NTAcN40nmBD0X10bX
21P9+kp03IG1Px9FZJJfooOFd27uwBALUGuPTer9jPECgYEA/aUHTGWz0+h00e0q
Zjeo4W3j5RXQ4+1llTDWPmELKtjUb8xYLThAszEiFv3plK8XeObLiLEzyoOyeaac
/Ng9r3KdUWibJgk2Ok5+FXDsevoSTZ0w3wsTj1l5au3LpJQJ0x/OyXryYpoXUSA7
NIm+XrvdoGEl/Gw+hZaY4cGAXE0CgYEA4yXwx/u5Hv0sxQUOCLGkiDYqbjhFvsEa
PrIYrFs9EIYEnTNKN+IrzjNFoBOpO/XalEC9+zel57UKMhglvp5XmvEB8vgepsA5
Sdzx+lVW7e/KkvjfG5lqdOrlivl1DONKYR05L60y1ORHOdkHiOXQjOD90g+wnstf
3jTfPGnJFKMCgYAVqWtnJeRmu5qGdyfA1Q4SOo1U+jj9zj93r1UMvML0ZNI3vg7l
xcEYzKBpsEOrlAyAIc3OHbwbloW+h/EuUtVpz3MKCdH+PJkp/5wa/qrjkcnQYRVU
ZyDDhFOvQyG6K35vTm8dm+dpblmBbyw/P2hHtOmnkcRpu2DXjdX+qcTpnQKBgDpH
rsqw1GOWE9mNHXevlIZ6V1KmT4bM5t31Ng1q73UA3cgzs7Q47IJgd1nGEaLXxrhJ
EDWXppKXycDmnzCUUefoNFbRwJOKOGiyLsfLA53S64fgIOZk64KKDlElBhpDav8V
z2ljJ+qlk3zNKXi/dk3fIGC4M9naVoOdzzUh8zy/AoGAVv+SC2R6h9B8wg02SWD5
+DcSQqDU0taHWuriLoefWbvId0lUxGUre5dDQOnK9jBUUjOwM9M6ryTXR5tSy+LD
Z2znMyxeYhZpmtBVRFuTEz58KBqxlcPIzCS5M3A6vR3ZPSCv9kHKdvACRFhkZCjz
mSjJqwuNWNce6CPLUeUB+d4=
-----END PRIVATE KEY-----
---
apiVersion: v1
kind: Service
metadata:
name: uni-mastodon
labels:
app: uni-mastodon
spec:
selector:
app: uni-mastodon
ports:
- name: web
port: 3000
targetPort: web
- name: streaming
port: 4000
targetPort: streaming
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment