Drycc - A Fork of Drycc Workflow
Drycc (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.
For more information about Drycc Workflow, please visit the main project page at drycc workflow.
We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the "Development" section below and submit a pull request.
Filer is a specialized wrapper for rclone services with an automatic exit mechanism that provides the following key features:
- Start rclone serve: Launches rclone serve commands with various backends and protocols
- Ping health check: Provides a
/_/pingendpoint and automatically exits if no ping requests are received within the specified time period
This tool is specifically designed for rclone file serving scenarios in containerized environments, where automatic cleanup is essential when the service is no longer needed.
filer [flags] -- rclone serve [rclone args...]--interval: Ping timeout interval, program will exit if no ping requests received within this time (default: 60s)--bind: Ping service bind address and port in format host:port (default: 127.0.0.1:8081)
# Start rclone HTTP server with ping health check (60s timeout, bind to 127.0.0.1:8081)
filer -- rclone serve http /path/to/files
# Start rclone WebDAV server with custom ping settings
filer --interval=30s --bind=0.0.0.0:8080 -- rclone serve webdav /path/to/files --addr :8000
# Start rclone FTP server with longer timeout
filer --interval=300s --bind=:9000 -- rclone serve ftp /path/to/files --addr :2121
# Start rclone with remote storage (e.g., S3)
filer --interval=120s -- rclone serve http s3:mybucket/folder --addr :8080
# Send ping request to keep service alive
curl http://127.0.0.1:8081/_/pingIf no ping requests are received within the specified --interval time, both the filer wrapper and the rclone service will automatically shut down. This is particularly useful for temporary file sharing scenarios or containerized applications that need automatic cleanup when no longer in use.
The Drycc project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.
- Fork this repository
- Make your changes
- Submit a pull request (PR) to this repository with your changes, and unit tests whenever possible
- If your PR fixes any issues, make sure you write
Fixes #1234in your PR description (where#1234is the number of the issue you're closing)
- If your PR fixes any issues, make sure you write
- The Drycc core contributors will review your code. After each of them sign off on your code, they'll label your PR with
LGTM1andLGTM2(respectively). Once that happens, a contributor will merge it
The preferred environment for development uses the go-dev Container image. The tools described in this section are used to build, test, package and release each version of Drycc.
To use it yourself, you must have make installed and Container installed and running on your local development machine.
If you don't have Podman installed, please go to https://podman.io/ to install it.
After you have those dependencies, build your code with make build and execute unit tests with make test.
Please follow the instructions on the official Drycc docs to install and configure your Drycc Workflow cluster and all related tools, and deploy and configure an app on Drycc Workflow.