Skip to content

v0.7.0: Cronjobs, Custom Routes, SSH wrappers, first Production Sites!

Compare
Choose a tag to compare
@Schnitzel Schnitzel released this 10 Jan 19:47
b0e545e

Whew! What a last couple of weeks. After 316 commits later we are super proud to present Lagoon Version 0.7.0. Here a short overview of the new goodies:

  1. The API learned more Objects. We have now a new Object called Environments which is automatically propagated by new deployments. It keeps track of the generated OpenShift Projects and the type of environment (development or production). They are also automatically removed when a Branch or PR is deleted.
  2. The API is now authenticated by User. JSON Web Tokens for Users include now the SSH Key of the user and with that we can figure out to which projects and customers a User belongs. Based on that the API will only show API Objects that should actually be seen by the User. (Authenticated Create, Delete and Update is still in the works)
  3. The varnish Image has been split up into varnish and varnish-drupal 🔀
  4. Drupal specific things of the php-cli image (drush, console) have been removed and moved into php-cli-drupal
  5. There is a new service called ssh which has magic powers 🎩! It can do two things:
    • Generate JSON Web Tokens for a user with the SSH Key of the connecting User
    • Provide remote shell access to a running container of an OpenShift Project. So it basically feels like you connect via ssh to the container even though you don't :) (this also provides possibilities for rsync and other tools that depend on rsync).
  6. A new lagoon type called cli-persistent which allows to mount an already existing persistent storage name into the cli container
  7. Refactored Drush Aliases that auto generate a JWT for the User and makes API calls with that token, plus it also uses the new ssh connection to run drush sql-sync, drush rsync and drush ssh.
  8. The php-cli-drupal images are shipped with an drushrc.php that tells Drush where it finds the Drupal root and what routes it currently has. This removes the need to cd into the correct drupal folder before running Drush commands! 💚
  9. Injecting the already existing ssh key into the cli containers so that the cli itself can make remote shell commands (needed to sync a remote environment with another remote environment)
  10. Updates to the nginx image:
    • Auto adding x-robots-tag if we are on a development environment
    • an easy redirect-map file that allows for easy redirects without the need to write actual nginx configs
    • an easy way to create basic auth via Environment Variables (auto generated the .htpasswd file! 💪)
  11. Solr 5 and 6 Images! Also with a Drupal Flavor.
  12. MongoDB Images!
  13. A fully function LAGOON_ENVIRONMENT_TYPE environment variable. Also production environments cannot be deleted automatically and need to beforced
  14. Mail Sending Support for php with an external Mail Relay (either provided by the hosting Infra, or something like Mailgun, etc.)
  15. Custom Routes per Environment definable in .lagoon.yml
  16. Cronjobs definable in .lagoon.yml
  17. Much much nicer shell and bash prompts
  18. Updated drupal-example with all the above mentioned changes: https://github.com/amazeeio/drupal-example
  19. Fought and conquered Spectre and Meltdown on the production servers. ⚔️

And probably the most exciting but not visible part of Lagoon:
We are running the first fully Dockerized Production environment sites (we always had sites that where hybrid of the new and old system, but now it's actually all in the new system).
If you are an amazee.io client we will contact you soon how we will migrate everybody over to Lagoon. Stay tuned!