Skip to content

Latest commit

 

History

History
54 lines (30 loc) · 2.86 KB

README.md

File metadata and controls

54 lines (30 loc) · 2.86 KB

sftp-gateway

Architecture

Nautilus SFTP Gateway architecture

A Docker image containing a SSH server and an INotify daemon allows to create a SFTP gateway server. Once deployed, you can connect to the SFTP server and read/write files that are immediately synchronised to GCS, S3, Azure Blob Storage (in development) and/or other cloud storage services.

The repository contains the appropriate files to deploy the container to Kubernetes.

Maintainer

Overview

When you run a container based on this image, it creates a SFTP server that can only be accessed by specific users, and moves to uploaded data to one or more specific buckets.

The users and the buckets are provided at runtime via container Environment variables. When the container starts, it uses the Environment variables to generate the appropriate configuration files and start the services. The container does not persist any data by default.

The docker image does not contain any credentials, they must be provided during the container deployment via a mounted secrets volume on Kubernetes, or a mounted volume for vanilla Docker. See below for more information.

Quick setup

  • 1/ Setup your environment by running export ENV=dev (here dev for example). Also run the following command : export PYTHONPATH=$PYTHONPATH:.
  • 2/ Fill in your configuration by copying the ./config/example.yaml into a new ./config/${ENV}.yaml file and replace the values by the ones you need for your project.
  • 3/ Add your secrets into the ./credentials/${ENV} folder or let the project generate them for you.
  • 4/ Test your configuration by running the following command : make docker_run
  • 5/ Generate or copy an existing external IPv4 address that can be used by your Kubernetes cluster in your configuration file under APP -> SERVICE_IP.
  • 6/ Deploy the SFTP on Kubernetes by running the following command : make helm_install

Table of contents