drakkan / sftpgo

Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob
https://sftpgo.com
GNU Affero General Public License v3.0
9.43k stars 732 forks source link

Release cadence #173

Closed sagikazarmark closed 4 years ago

sagikazarmark commented 4 years ago

I know this has been brought up in the past, but a clearly communicated release cadence could help users a lot who wants to rely on sftpgo. Milestones, X month release cycle, or "on-demand" all work and help people understand what to expect.

Otherwise every now and then you'll receive an issue with a New release? title. 🙂

drakkan commented 4 years ago

Well, I generally consider Git master the best and most stable version, you should all use it :)

I don't use SFTPGo in production myself so I generally would like to wait for some time to get bug reports and after 1.0 I did a big refactoring to add multi protocol support (FTP and WebDAV are not included in 1.0.0).

Currently I have also less time to work on the project.

I think SFTP support is in good shape and it is ready for a new release (it should be much better than 1.0.0). WebDAV and FTP could be improved but honestly I don't have a plan. Better docker support would be good to have to, see #161

I work on this project based on my free time, sorry

sagikazarmark commented 4 years ago

Well, that's okay, it's open source. 🙂

FYI I'm considering using sftpgo in production (only the sftp part). I might be able to contribute the Dockerfile and Helm chart and share some information about running it in prod.

sagikazarmark commented 4 years ago

Thanks for the great project BTW. 🙂

drakkan commented 4 years ago

Well, that's okay, it's open source.

FYI I'm considering using sftpgo in production (only the sftp part).

I think you shouldn't have big issues, several users already use it in production, I recommend using Git master and please report any problems

I might be able to contribute the Dockerfile and Helm chart and share some information about running it in prod.

That would be great! Thank you

wkoszek commented 4 years ago

@sagikazarmark @drakkan Dockerfile in master would be very nice.

drakkan commented 4 years ago

Hi,

since 1.0.0 we added the following new features:

I think we are ready for 1.1.0 release. I'll tag a new release before the end of the next week.

There are some things that I would like to support but I have no enough time now and they could be added later, for example:

thank you

sagikazarmark commented 4 years ago

Sounds great, thanks a lot @drakkan!

I think it would make sense to also provide an official Docker image with everything enabled by default.

GitHub provides a free container registry: https://github.blog/2020-09-01-introducing-github-container-registry/

I'd be happy to provide a PR with a dockerfile and the necessary GHA changes if you like the idea.

drakkan commented 4 years ago

Sounds great, thanks a lot @drakkan!

I think it would make sense to also provide an official Docker image with everything enabled by default.

GitHub provides a free container registry: https://github.blog/2020-09-01-introducing-github-container-registry/

I'd be happy to provide a PR with a dockerfile and the necessary GHA changes if you like the idea.

Hi, if you want to work on this I would be happy to wait for your PR before the next release, thank you!

Since all configuration parameters can be enabled/disabled via env vars (thank you for working on viper), we could enable SFTP as default and the users that need FTP/WebDAV could enable them via env vars, what do you think about?

sagikazarmark commented 4 years ago

Since all configuration parameters can be enabled/disabled via env vars (thank you for working on viper), we could enable SFTP as default and the users that need FTP/WebDAV could enable them via env vars, what do you think about?

I actually meant compiling every module into the app (I know certain parts can be disabled with build tags). Then users should be able to configure everything they want.

drakkan commented 4 years ago

Since all configuration parameters can be enabled/disabled via env vars (thank you for working on viper), we could enable SFTP as default and the users that need FTP/WebDAV could enable them via env vars, what do you think about?

I actually meant compiling every module into the app (I know certain parts can be disabled with build tags). Then users should be able to configure everything they want.

Yes, I agree, we should compile all the features by default

sagikazarmark commented 4 years ago

See #180

sagikazarmark commented 4 years ago

@wkoszek here you go: https://github.com/users/drakkan/packages/container/package/sftpgo

Let us know what you think!

wkoszek commented 4 years ago

@sagikazarmark It looks solid, thanks. I'd love to see it using a .deb or .apk package, so that the setup steps aren't replicated. I think it'd reduce the Dockerfile complexity significantly.

sagikazarmark commented 4 years ago

I think it'd reduce the Dockerfile complexity significantly.

I don't think it would/should affect the docker build.

wkoszek commented 4 years ago

@sagikazarmark Let me rephrase: I never see replication of setup steps in Dockerfile as a good thing. I worry that keeping Dockerfile in sync with deb's pre/post run scripts is error prone, and correct me if I'm wrong, but now they are. IMO we should strive to have Dockerfile follow normal Dockerfile format:

  1. Add SFTPGO's PPA in Dockerfile and refresh the /etc/app/lists
  2. apt-get update && apt-get install sftpgo
sagikazarmark commented 4 years ago

@wkoszek I'm not sure what "normal" Dockerfile format means, but I'm pretty sure that's not it. 🙂

The idea behind a self-contained docker file is that you can easily build a container image from the source and ship it, which is not possible if you rely on a package repository to install the software. (You certainly won't upload a deb with a custom, patched version, just to download it again)

If you take a look at how software is built and shipped in container images: none of them wait for the CI to upload a deb, just to download it again.

I'm obviously biased as I rarely install applications as OS packages anymore, I primarily run containers, so I don't even need those distribution formats. 🙂

drakkan commented 4 years ago

v1.1.0 is now released.

For future reference, there isn't a fixed release cadence. We have to accumulate enough new feature before tagging a new release, thank you!

sagikazarmark commented 4 years ago

🎉 Awesome, thanks!

For future reference, there isn't a fixed release cadence. We have to accumulate enough new feature before tagging a new release, thank you!

I'd probably add that to the readme somewhere 🙂