git-sync/demo/deployment.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