Skip to content

Releases: kovshenin/sail

0.10.1

19 Nov 08:24
Compare
Choose a tag to compare

Some minor work around domains/DNS and support for .deployignore (docs here).

  • Changed: Postfix and postfix-related blueprints now support namespaces under the hood
  • Changed: sail destroy will now delete DNS records for all associated domains, use --skip-dns to bypass
  • Changed: sail domain delete will no longer delete orphaned subdomains when given a parent domain
  • Changed: sail domain delete will now attempt to delete the DNS zone only if no more records exist in that zone
  • Changed: sail domain delete now accepts a --zone flag which forces a DNS zone delete (and orphaned subdomains form config.json)
  • Added: Support for the Mailgun EU region in mailgun.yaml blueprint
  • Added: Support for a .deployignore file to remove certain patters from deployment

0.10.0

10 Nov 15:39
Compare
Choose a tag to compare

What's new?

Environments and namespaces are here! These allow users to deploy and work with multiple WordPress applications, sharing the same environment. Please refer to our namespaces and environments guide for usage information.

We've also overhauled a lot of the existing routines in Sail CLI, making them fully client-side, so you no longer have to rely on (or share secrets with) our API service. The only remaining thing powered by the API service is the DNS management for the internal .justsailed.io subdomains.

Note: This release contains breaking changes. If you have existing Sail projects, please refer to the upgrade notes at the end of the announcement.

Changelog

  • Added: Namespaces and environments to run multiple applications in the same environment. Use --namespace and --environment with init.
  • Added: New pre-deploy hooks in .sail, these will run every time deploy is invoked
  • Added: New sail diff command, shortcut for sail deploy --dry-run and sail download --dry-run
  • Added: A new install.sh script to install and update Sail CLI
  • Changed: New --skip-hooks or --no-verify options to sail deploy to skip running hooks
  • Changed: Blueprints now fully client-side
  • Changed: Provision and destroy are mostly client-side (API calls only to control justsailed.io DNS)
  • Changed: Sizes and regions now client-side
  • Changed: Domains, primary and HTTPS fully client-side, domains settings in .sail/config.json
  • Changed: Provision now uses cloud-config instead of a Docker image, removed --host option from ssh commands

Migrating 0.9.x projects to 0.10.0

If you have an existing 0.9.x project, don't rush to upgrade your Sail CLI yet. If you did, don't worry, you can install any version you like using our new installer.

  • Go to your existing 0.9.x project, and run sail backup to perform a full site backup
  • Run sail domain list and note down the list of all domains associated with your project
  • Backup any custom configs/hacks/etc. you might have made on the 0.9.x server
  • Upgrade Sail CLI to 0.10.x using any of the install methods
  • Create a new directory for your project and run sail init
  • Copy the new wp-config.php to a safe place, this will contain new database credentials
  • Restore the backup from step 1: sail restore /path/to/old/project/.backups/backup-filename.tar.gz
  • After the restore is successful, run sail download to make sure your local copy in fresh
  • Update wp-config.php with the database credentials you stored in a safe place
  • Deploy the new wp-config.php and verify that it's working: sail wp option get home
  • Add your domains to the new project sail domain add
  • Set the primary domain with sail domain make-primary example.org --no-replace
  • After the DNS changes have propagated, you can request new SSL certificates for the domains with sail domain make-https example.org www.example.org

After your site has been successfully migrated and is live, you can shutdown the old 0.9.x project with sail destroy.

If you need any assistance with migrating existing projects to this new release, please join the #help channel on our Slack community and we'll be happy to help you out!

0.9.18

26 Oct 09:53
Compare
Choose a tag to compare

Some housekeeping.

  • Added: New sail ssh run command
  • Added: New apt section for blueprints
  • Added: New site-verification.yaml blueprint to add TXT records
  • Changed: Deploys, rollbacks and release-tracking are now 100% client-side
  • Changed: Split --host and --root arguments for sail ssh shell
  • Changed: Use Fabric instead of SSH subprocess in db and full backups
  • Changed: Some overall refactoring

0.9.17

13 Oct 08:38
Compare
Choose a tag to compare
  • Added: New sail ssh key group of commands to list, add and delete SSH keys
  • Added: sail info command to show some basic project information
  • Change: Add a default 1G swap file for new provisions
  • Fixed: Rsync/SSH not working on project paths with spaces

0.9.16

07 Oct 10:13
Compare
Choose a tag to compare
  • Added: New profile clean command to delete local and remove profiling data
  • Added: php-xml and php-zip packages to the core image
  • Added: Support for the newer justsailed.io internal subdomains
  • Fixed: When deleting a parent domain orphaned subdomains were not deleted
  • Fixed: Poor performance navigating the profile browser with > 5k entries

0.9.15

05 Oct 11:10
Compare
Choose a tag to compare

Profiling is here!

  • Added: New profile command group for performance profiling
  • Added: New gmail-dns.yaml blueprint to add Google Mail / Workspace MX records
  • Changed: Remove associated sailed.io DNS record on destroy

0.9.14

23 Sep 09:25
Compare
Choose a tag to compare
  • Added: New mailgun.yaml and mailgun-dns.yaml blueprints to deploy a working Mailgun configuration
  • Added: New postfix blueprint component and postfix.yaml default BP
  • Added: New fail2ban blueprint component and fail2ban.yaml default BP
  • Added: A new type attribute to vars in blueprints, supports bool, int, float, str
  • Added: New --postfix or --mail flags to sail logs to query postfix items in syslog
  • Added: New dns blueprint component to add DNS records to your application domains
  • Fixed: Plugin activation error when no custom plugins specified
  • Fixed: Theme activation mismatch in blueprints, when custom theme above wporg themes

0.9.13

17 Sep 17:29
Compare
Choose a tag to compare
  • Added: Blueprints are here! sail blueprint path/to/blueprint.yaml to apply
  • Added: End-to-end tests around blueprints, tweaked testing a bit, added GitHub workflows to run tests on push/PR
  • Changed: Fixed system journal requiring a restart for sail logs to work
  • Changed: Fixed .com.br and .com.tr now treated as TLDs when working with domains
  • Changed: Make sure new Droplet is assigned an actual IP address prior to using it
  • Changed: Updated readme to reflect BPs, added push-to-deploy links

0.9.12

12 Sep 09:24
Compare
Choose a tag to compare
  • Added: New --skip-dns flag for domain add and domain delete which skips making any DNS changes
  • Added: Long-awaited sail restore command, to restore complete site backups to production
  • Added: New --skip-replace argument for domain make-primary, to skip the search-replace ops
  • Added: Sparse deploys via an optional path argument for deploy, to specify one or more subtrees to process
  • Added: Sparse downloads, similar to deploys with optional path argument for download
  • Changed: deploy now prepares the new release directory with a copy from the live release
  • Changed: Added a new util.rsync() function to standardize usage across all commands
  • Changed: End-to-end test now includes multiple scenarios for deploy and download routines
  • Changed: Slight refactoring, regrouping of commands, simpler ones went to a new misc.py instead of their own files
  • Removed: --delete argument from deploy since it was not really implemented (in a correct way) anyway

0.9.11

06 Sep 10:56
Compare
Choose a tag to compare
  • Added: New destroy command to shutdown and delete a droplet
  • Added: First couple unit tests and a short end-to-end test
  • Added: New --dry-run flag for deploy and download commands
  • Added: New db export and db import commands
  • Changed: Renamed mysql command to db group, shell with sail db cli now
  • Changed: Lots of moving files around and reorganizing code
  • Changed: Shorthand -v flag to display version
  • Changed: The backup command now uses a database export routine similar to db export