Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Stuart Ellis
    @stuartellis
    @tombruijn - If you have time, please can you take a look at backup/backup#857 after the release?
    Tom de Bruijn
    @tombruijn
    @stuartellis yes, I'll try to have a look
    Tom de Bruijn
    @tombruijn
    @reedloden I've released version v5.0.0.beta.1 :tada: Can you install it and let me know if it works like you expect it?
    Reed Loden
    @reedloden
    @tombruijn just deployed it to all our instances :)
    Tom de Bruijn
    @tombruijn
    @reedloden that seems a little dangerous, but sure. Let me know if you run into problems
    Reed Loden
    @reedloden
    I did some testing first, of course
    seems to be working fine :)
    Tom de Bruijn
    @tombruijn
    great :+1:
    Alex Lion
    @lnalex

    @tombruijn

    Config::Error: Invalid Configuration File
    [2017/05/18 11:34:00][error]   The configuration file at '/etc/backups/config.rb'
    [2017/05/18 11:34:00][error]   does not appear to be a Backup v5.x configuration file.
    [2017/05/18 11:34:00][error]   If you have upgraded to v5.x from a previous version,
    [2017/05/18 11:34:00][error]   you need to upgrade your configuration file.
    [2017/05/18 11:34:00][error]   Please see the instructions for upgrading in the Backup documentation.

    My config.rb is just empty but works well on v4.4.0

    Tom de Bruijn
    @tombruijn
    ah this might be the version checker
    You need to add # Backup v5.x Configuration as a comment to your config file
    @lnalex :point_up:
    Alex Lion
    @lnalex
    @tombruijn Yeah! It is working! Thanks
    Tom de Bruijn
    @tombruijn
    @lnalex Great! thanks for the feedback!
    Omachonu Ogali
    @oogali
    Hi all, is there a style guide or document that illustrations the guidelines of technical contributions? (i.e. code coverage targets, what Ruby features to use or not use, etc)
    Tom de Bruijn
    @tombruijn
    Hi @oogali, we do have rubocop hooked up to the repo. I haven't tackled all the TODOs, but it gives a good guideline. Coverage targets, should be 100%, but the way some specs are written (too many mocks) we don't have a real 100%. Rubocop should also warn you about supported Ruby features due to the "TargetRubyVersion" setting
    Eric Hayes
    @hayesr
    Hi all, I'm looking to implement Backup for the first time. Is this a terrible idea? Does the project have enough maintainers yet that it might live past v5? I'm happy to help too as time allows.
    Stuart Ellis
    @stuartellis
    Hello @hayesr - I could not recommend it unless you have a specific reason. We are currently down to one guy “as time allows”, I’m afraid.
    Eric Hayes
    @hayesr
    Ok, makes sense, any similar projects that you could recommend?
    Stuart Ellis
    @stuartellis
    It definitely depends on your use case. What would you like to do?
    Eric Hayes
    @hayesr
    Mainly backup Postgres to S3.
    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.