Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Stuart Ellis
    @stuartellis
    Ah - that’s why I currently use Backup.
    I don’t know of anything else that covers the use case.
    Bizarrely.
    Eric Hayes
    @hayesr
    :) I don’t think it will be tough to write something. Also found this: https://github.com/gabfl/pg_dump-to-s3
    Stuart Ellis
    @stuartellis
    Yes, that’s why it’s strange.
    Yeah, my guess is that people just roll their own scripts.
    But I’d like something a bit more robust myself.
    I’m going to write an MVP in Go that basically only does SQL dumps -> S3 with encryption, notification and logging.
    Eric Hayes
    @hayesr
    Yeah. I’ve rolled my own scripts before then the requirements seem to grow.
    That sounds pretty cool. How would you do the encryption?
    Stuart Ellis
    @stuartellis
    Backup just uses OpenSSL or GPG
    Eric Hayes
    @hayesr
    Oh ok.
    Stuart Ellis
    @stuartellis
    The OpenSSL works nicely, but there’s no restore tool, so there’s an annoying OpenSSL incantation that you need to decrypt
    I like the fact that it uses something very cross-platform and standard, though.
    Possibly there’s a nice Go library, and encrypt/decrypt can be in the same binary.
    Which would make it super-portable.
    Eh doesn’t appear active
    Stuart Ellis
    @stuartellis
    Shame, I was looking at the README and thinking “how have I not heard of this?” :)
    Another suggestion for you - if you are deploying applications, consider baking the DB export to S3 into the application.
    Eric Hayes
    @hayesr
    Yeah
    Stuart Ellis
    @stuartellis
    I’ve seen it done with Rails applications
    It was pretty nice, but the gem stopped being maintained.
    I am on a train, and about to get off, but feel free to drop by if you need any ideas or help. I’d be interested to see what you decide on.
    Eric Hayes
    @hayesr
    Ok, thanks!
    Stuart Ellis
    @stuartellis

    I have merged PR #857 to master, which adds Docker with a skeleton integration test suite (in the integration/ directory). You will see that the Rake tasks now have a "docker" namespace:

    rake docker:build # Build testing containers with Docker Compose
    rake docker:clean # Remove Docker containers for Backup
    rake docker:clobber # Remove Docker containers and images for Backup
    rake docker:integration # Run RSpec integration tests with Docker Compose
    rake docker:shell # Start a container environment with an interactive shell
    rake docker:spec # Run RSpec unit tests with Docker Compose

    This PR does not change the Travis CI configuration in any way: it just hopefully enables you to run to write and/or run integration tests on a development workstation. I have looked at running Docker on Travis CI, but that is more invasive, so will do a separate PR just for that. PR #832 has ports of a lot of tests to Docker, but I will do another clean PR for those.

    Tom de Bruijn
    @tombruijn
    great work!
    I'm having a look at it now, and may have some suggestion on how to build the docker image. Now it requires a rebuild whever any gem version or certain files change in the project dir.
    Stuart Ellis
    @stuartellis

    Just to let people know - @tombruijn added a number of improvements to the initial Docker support as PR #904, which I have now merged to the master branch. These do not change the integration tests, but it will create new Docker images and behave slightly differently.

    We now have:

    rake docker:clobber # Remove Docker containers and images for Backup
    rake docker:integration # Run RSpec integration tests with Docker Compose
    rake docker:prepare # Prepare the bundle on the Docker machine
    rake docker:shell # Start a container environment with an interactive shell
    rake docker:spec # Run RSpec unit tests with Docker Compose

    First run docker:prepare, which installs the gem dependencies for Backup on the host machine.

    You can then run docker:integration, docker:spec and docker:shell. Each of these tasks now automatically builds and rebuilds Docker images, and will clean up Docker containers on exit.

    This means you do not need to run docker:build or docker:clean. Once a Docker image has been built for testing Backup, there will be always be one backup/test-suite Docker image until you delete it (as the docker:clobber task does).

    You can safely just delete the obsolete containers and images from the first version of Docker support. These used the name ruby_backup_tester.

    Elthariel
    @elthariel
    Hi folks !
    Stuart Ellis
    @stuartellis
    @elthariel - Hello, there! Sorry I missed you. I should be online tomorrow evening, UK time.
    Elthariel
    @elthariel
    @stuartellis No worries, I posted my message very late. I live on EU timezone as well so it shouldn't be a problem to catch each other
    Elthariel
    @elthariel
    Hi @stuartellis, still alive ?
    ^^
    Stuart Ellis
    @stuartellis
    Hello @elthariel - Just about :smile: Super-busy.
    Elthariel
    @elthariel
    Any insights about when you might have a bit more time ?
    Stuart Ellis
    @stuartellis
    I can be online this evening, if that helps, from 19:00 UK time.
    I’m having lunch and checking messages ATM :)
    So will disappear in a moment
    Elthariel
    @elthariel
    I mean, if it’s a a few weeks no worries. Just in case you had insights
    Bon appetit, monsieur !
    Stuart Ellis
    @stuartellis
    If there’s some work that you are interested in picking up, I don’t want to block you. I may have some time this weekend to pick up Backup again, but I thought that before :smile:
    Any way, lunch over, back to work work
    Elthariel
    @elthariel
    I wanted to discuss the integration of my existing openstack PR :)
    Stuart Ellis
    @stuartellis
    The main issue for this would be maintenance. Unfortunately, I don’t use OpenStack, so can’t really review or support code for it…. So, if this was integrated, you would have to commit to supporting it.
    Elthariel
    @elthariel
    I’ve been pushing for its inclusion for more than a year now, so I’d say it looks like commitment :). Also, this is mostly a simple wrapper around fog-openstack which is pretty well supported so the maintainance burden is likely going to be minimal (and it’s been running in prod for more than a year now to support this fact)
    Stuart Ellis
    @stuartellis
    The thing is, though, that I can’t take on any maintenance burden at all. Right now, there just isn’t anybody working on this software, and if/when I get a block of time, all of my effort is going to be to get the integration suite to the point where it’s feasible to ship something that works with Ruby 2.5. That’s actually why I split the modules into Core/Extras: the Core is stuff that might be tested, and the Extras won’t.
    Stuart Ellis
    @stuartellis
    So, the hard-nosed calculation is that I can’t accept a feature PR unless it comes with a maintainer, at least for that code, and ideally to help the project as a whole. I don’t claim that’s fair, but the resource pool is currently just me. And you, if you are interested.
    Elthariel
    @elthariel
    The backup gem is a core component of the solution I sell to my customers (I’m sort of a freelance devops), so I need this thing to work. I guess that provides you with an answer :)
    Stuart Ellis
    @stuartellis
    @elthariel OK, well then, let’s see what we can do :)