From 20a4f4dc5634fe78de909be87feae705de7ec061 Mon Sep 17 00:00:00 2001 From: Matthos Denys Date: Thu, 4 Mar 2021 20:03:38 +0300 Subject: [PATCH] da --- .DS_Store | Bin 6148 -> 6148 bytes deletesh.sh | 2 ++ run.sh | 2 ++ srcs/ftps/Dockerfile | 17 ++++++++++++++ srcs/ftps/start.sh | 1 + srcs/ftps/vsftpd.conf | 27 +++++++++++++++++++++++ srcs/yaml/ftps.yaml | 50 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 99 insertions(+) create mode 100644 srcs/ftps/Dockerfile create mode 100755 srcs/ftps/start.sh create mode 100644 srcs/ftps/vsftpd.conf create mode 100644 srcs/yaml/ftps.yaml diff --git a/.DS_Store b/.DS_Store index 664ffdf1e7bb5bbb4d4e9918cbc664791475bba3..8d8b744712e85c5d076b667b4d6bb53a13302a6c 100644 GIT binary patch delta 28 icmZoMXffE3$izB>fq_ADavGB|D>IO#ySb04OcVfS00v_K delta 28 hcmZoMXffE3$i%vmfq_9|avGB|Yb%JgxsRz#6aZ{G2Jip? diff --git a/deletesh.sh b/deletesh.sh index c47a6bf..7b91c16 100755 --- a/deletesh.sh +++ b/deletesh.sh @@ -2,7 +2,9 @@ kubectl delete svc nginx-service kubectl delete svc mysql-service kubectl delete svc phpmyadmin-service +kubectl delete svc ftp-service kubectl delete deployment nginx-deployment kubectl delete deployment mysql-deployment kubectl delete deployment phpmyadmin-deployment +kubectl delete deployment ftp-deployment kubectl delete pods --all \ No newline at end of file diff --git a/run.sh b/run.sh index 53b2dca..4f580c4 100644 --- a/run.sh +++ b/run.sh @@ -8,11 +8,13 @@ minikube dashboard & docker build -t nginx_image srcs/nginx docker build -t phpmyadmin_image srcs/phpmyadmin docker build -t mariadb-image srcs/mariadb +docker build -t ftp_image srcs/ftps kubectl apply -f srcs/yaml/metallb.yaml kubectl apply -f srcs/yaml/nginx_service.yaml kubectl apply -f srcs/yaml/mariadb.yaml kubectl apply -f srcs/yaml/phpsvc.yaml +kubectl apply -f srcs/yaml/ftps.yaml echo "Minikube IP: ${IP}" diff --git a/srcs/ftps/Dockerfile b/srcs/ftps/Dockerfile new file mode 100644 index 0000000..5f4f1b4 --- /dev/null +++ b/srcs/ftps/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:3.12.3 +RUN apk update +RUN apk add vsftpd openssl +RUN echo "root:root" | chpasswd +RUN echo "mdenys:mdenys" | chpasswd +RUN mkdir -p /var/ftp +RUN adduser -D -h /var/ftp mdenys +RUN openssl req -x509 -nodes -days 365 \ + -newkey rsa:2048 -subj \ + "/C=RU/ST=ru/L=Russia/O=21_schoo/CN=mdenys_services" \ + -keyout /etc/ssl/private/vsftpd.key \ + -out /etc/ssl/certs/vsftpd.crt +COPY vsftpd.conf /etc/vsftpd/ +COPY start.sh . +RUN chmod +x start.sh +EXPOSE 20 21 21000 +CMD sh start.sh \ No newline at end of file diff --git a/srcs/ftps/start.sh b/srcs/ftps/start.sh new file mode 100755 index 0000000..2ed1c3b --- /dev/null +++ b/srcs/ftps/start.sh @@ -0,0 +1 @@ +vsftpd /etc/vsftpd/vsftpd.conf \ No newline at end of file diff --git a/srcs/ftps/vsftpd.conf b/srcs/ftps/vsftpd.conf new file mode 100644 index 0000000..5078fec --- /dev/null +++ b/srcs/ftps/vsftpd.conf @@ -0,0 +1,27 @@ +anonymous_enable=YES +dirmessage_enable=YES +xferlog_enable=YES +connect_from_port_20=YES +listen=YES +seccomp_sandbox=NO +local_enable=YES +write_enable=YES +local_umask=022 +chroot_local_user=NO +chroot_list_enable=YES +chroot_list_file=/etc/vsftpd/chroot.list +allow_writeable_chroot=YES +ssl_enable=YES +allow_anon_ssl=NO +force_local_data_ssl=YES +force_local_logins_ssl=YES +require_ssl_reuse=NO +ssl_tlsv1=YES +ssl_sslv2=NO +ssl_sslv3=NO +rsa_cert_file=/etc/ssl/certs/vsftpd.crt +rsa_private_key_file=/etc/ssl/private/vsftpd.key +pasv_enable=YES +pasv_min_port=30000 +pasv_max_port=30000 +pasv_address=$__CLUSTER_EXTERNAL_IP__ \ No newline at end of file diff --git a/srcs/yaml/ftps.yaml b/srcs/yaml/ftps.yaml new file mode 100644 index 0000000..e08729b --- /dev/null +++ b/srcs/yaml/ftps.yaml @@ -0,0 +1,50 @@ +apiVersion: v1 +kind: Service +metadata: + name: ftp-service + annotations: + metallb.universe.tf/allow-shared-ip: minikube +spec: + selector: + app: ftp + ports: + - name: ftp + protocol: TCP + port: 21 + targetPort: 21 + - name: ftp-passive + protocol: TCP + port: 2100 + targetPort: 2100 + - name: ftp-port + protocol: TCP + port: 20 + targetPort: 20 + type: LoadBalancer +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ftp-deployment +spec: + selector: + matchLabels: + app: ftp + template: + metadata: + labels: + app: ftp + spec: + containers: + - name: ftp + image: ftp_image + resources: + limits: + memory: "128Mi" + cpu: "50m" + imagePullPolicy: Never + ports: + - containerPort: 21 + - containerPort: 2100 + - containerPort: 20 + name: ftp \ No newline at end of file