51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: static-server
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: static-server
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: static-server
|
|
spec:
|
|
volumes:
|
|
- name: content
|
|
emptyDir: {}
|
|
containers:
|
|
# This container pulls a git repo into the "content" volume. If this
|
|
# were a "real" app it would probably have livenessProbe and resources,
|
|
# and maybe a secret to get credentials for your git server.
|
|
- name: git-sync
|
|
image: registry.k8s.io/git-sync/git-sync:v4.2.3
|
|
args:
|
|
- --repo=https://github.com/kubernetes/git-sync
|
|
- --root=/git
|
|
- --period=60s
|
|
- --link=head
|
|
- --max-failures=1000000000
|
|
- -v=2
|
|
volumeMounts:
|
|
- name: content
|
|
mountPath: /git
|
|
# This container is a trivial HTTP server for the content.
|
|
# If this were a "real" app it would not be so trivial. For example,
|
|
# nginx or apache are much more robust web servers! It's missing a
|
|
# livenessProbe, resources, and many other things you would want for
|
|
# running in production. Also, you would probably have a git repo
|
|
# dedicated to holding your content.
|
|
- name: http
|
|
image: python:alpine
|
|
args:
|
|
- python3
|
|
- -m
|
|
- http.server
|
|
- -d=/git/head/demo/html
|
|
volumeMounts:
|
|
- name: content
|
|
mountPath: /git
|
|
readOnly: true
|