k8s-sftp/ftp.yml

72 lines
1.5 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: ftp
data:
# Key-value pairs can be added here
users: |
username:password
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ftp
spec:
replicas: 1
selector:
matchLabels:
app: ftp
template:
metadata:
labels:
app: ftp
spec:
containers:
- name: ftp
image: timoreymann/chrooted-ftp
ports:
- containerPort: 2022
env:
- name: BANNER
value: "Welcome to my sFTP server!"
- name: USER_FTP_POSTFIX
value: "/data"
volumeMounts:
- name: data-volume
mountPath: /data
- name: ftp
mountPath: /opt/chrooted-ftp/users
subPath: users
- name: ssh-rsa
mountPath: /opt/chrooted-ftp/ssh_hostkeys
command: ["/bin/sh", "-c", "
if [ ! -f /opt/chrooted-ftp/ssh_hostkeys/ssh_host_rsa_key ];
then cd /opt/chrooted-ftp/ssh_hostkeys/ &&
ssh-keygen -f ssh_host_rsa_key -t rsa -P ''; fi &&
cd /opt/chrooted-ftp &&
tini -- /entrypoint"]
volumes:
- name: data-volume
hostPath:
path: /ftp/data/
- name: ssh-rsa
hostPath:
path: /ftp/ssh-rsa
- name: ftp
configMap:
name: ftp
defaultMode: 0700
---
apiVersion: v1
kind: Service
metadata:
name: ftp-service
spec:
selector:
app: ftp
ports:
- name: sftp
port: 2022
targetPort: 2022
type: NodePort