Warden is a CLI utility for orchestrating Docker based developer environments

Overview

Warden

Warden is a CLI utility for orchestrating Docker based developer environments, and enables multiple local environments to run simultaneously without port conflicts via the use of a few centrally run services for proxying requests into the correct environment's containers.

Features

  • Traefik for SSL termination and routing/proxying requests into the correct containers.
  • Portainer for quick visibility into what's running inside the local Docker host.
  • Dnsmasq to serve DNS responses for .test domains eliminating manual editing of /etc/hosts
  • An SSH tunnel for connecting from Sequel Pro or TablePlus into any one of multiple running database containers.
  • Warden issued wildcard SSL certificates for running https on all local development domains.
  • Full support for Magento 1, Magento 2, Laravel, Symfony 4, Shopware 6 on both macOS and Linux.
  • Ability to override, extend, or setup completely custom environment definitions on a per-project basis.

Contributing

All contributions to the Warden project are welcome: use-cases, documentation, code, patches, bug reports, feature requests, etc. Any and all contributions may be made by submitting Issues and Pull Requests here on Github.

Please note that by submitting a pull request or otherwise contributing to the Warden project, you warrant that each of your contributions is an original work and that you have full authority to grant rights to said contribution and by so doing you grant the owners of the Warden project, and those who receive the contribution directly or indirectly, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to make, have made, use, offer to sell, sell and import or otherwise dispose of the contributions alone or with the Warden project in it's entirety.

License

This work is licensed under the MIT license. See LICENSE file for details.

Author Information

This project was started in 2019 by David Alger.

Comments
  • WSL2 - Issue with upgrading

    WSL2 - Issue with upgrading

    After running brew upgrade davidalger/warden/warden (upgrade from 0.9.0 to 0.9.1) and warden svc up I got the following message: image

    Everything else works fine

    Here is end of the output of bash -x warden install

    + [[ -f /home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1/commands/install.cmd ]]
    + WARDEN_CMD_VERB=install
    + WARDEN_CMD_EXEC=/home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1/commands/install.cmd
    + WARDEN_CMD_HELP=/home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1/commands/install.help
    + shift
    + ((  0  ))
    + [[ -n '' ]]
    + source /home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1/commands/install.cmd
    ++ [[ ! -n /home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1 ]]
    ++ source /home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1/utils/install.sh
    +++ [[ ! -n /home/linuxbrew/.linuxbrew/Cellar/warden/0.9.1 ]]
    ++ [[ ! -d /home/ihor/.warden/ssl/rootca ]]
    ++ [[ ! -f /home/ihor/.warden/ssl/rootca/private/ca.key.pem ]]
    ++ [[ ! -f /home/ihor/.warden/ssl/rootca/certs/ca.cert.pem ]]
    ++ [[ linux-gnu =~ ^linux ]]
    ++ [[ -d /etc/pki/ca-trust/source/anchors ]]
    ++ [[ linux-gnu =~ ^linux ]]
    ++ [[ -d /usr/local/share/ca-certificates ]]
    ++ [[ ! -f /usr/local/share/ca-certificates/warden-proxy-local-ca.crt ]]
    ++ [[ linux-gnu == \d\a\r\w\i\n* ]]
    ++ [[ linux-gnu =~ ^linux ]]
    ++ [[ ! -f /home/ihor/.warden/nodnsconfig ]]
    ++ systemctl status NetworkManager
    ++ grep 'active (running)'
    System has not been booted with systemd as init system (PID 1). Can't operate.
    Failed to connect to bus: Host is down
    ++ [[ ! -f /home/ihor/.warden/tunnel/ssh_key ]]
    ++ [[ ! -d /home/ihor/.composer ]]
    ++ [[ linux-gnu =~ ^linux ]]
    +++ stat -c %U /home/ihor/.warden/tunnel/ssh_key.pub
    ++ [[ root != \r\o\o\t ]]
    ++ installSshConfig
    ++ grep '## WARDEN START ##' /etc/ssh/ssh_config
    
    bug 
    opened by ihor-sviziev 26
  • Customize PHP-FPM container with some additional PHP Extensions

    Customize PHP-FPM container with some additional PHP Extensions

    How to customize php-fpm container so that I can load additional PHP extensions like MongoDB, etc.?

    I can see that you can customize the PHP ini-settings via ./.warden/warden-env.yml. But how to install the custom PHP extensions is my requirement.

    Thanks

    stale 
    opened by MagePsycho 19
  • Varnish and Elasticsearch don't start on Apple M1

    Varnish and Elasticsearch don't start on Apple M1

    Hello, i'm trying to create a magento 2 enviroment but Varnish (6.0) and Elasticsearch (7.6, 7.10, 7.12) don't start. There are the logs.

    Elasticsearch
    Exception in thread "main" java.io.IOException: Cannot run program "/usr/share/elasticsearch/jdk/bin/java": error=0, Failed to exec spawn helper: pid: 232, exit value: 1
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1142)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
    at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:114)
    at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:88)
    at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:59)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:137)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:95)
    Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 232, exit value: 1
    at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
    at java.base/java.lang.ProcessImpl.(ProcessImpl.java:313)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1109)
    ... 6 more
    
    Varnish
    Error:
    Running VCC-compiler failed, signal 5
    VCL compilation failed
    
    arm64 
    opened by antonio-vitale 17
  • could not validate a connection to Elasticsearch. No alive nodes found in your cluster

    could not validate a connection to Elasticsearch. No alive nodes found in your cluster

    I am using warden for magento 2.4 in shell when I run bin/magento s:up I am facing following error: could not validate a connection to Elasticsearch. No alive nodes found in your cluster following is mu .env file

    `WARDEN_ENV_NAME=project-levo-m2 WARDEN_ENV_TYPE=magento2 WARDEN_WEB_ROOT=/ TRAEFIK_DOMAIN=project-levo-m2.test TRAEFIK_SUBDOMAIN=app

    WARDEN_DB=1 WARDEN_ELASTICSEARCH=1 WARDEN_VARNISH=1 WARDEN_RABBITMQ=1 WARDEN_REDIS=1 ELASTICSEARCH_VERSION=7.9 MARIADB_VERSION=10.4 NODE_VERSION=10 COMPOSER_VERSION=1 PHP_VERSION=7.4 PHP_XDEBUG_3=1 RABBITMQ_VERSION=3.8 REDIS_VERSION=5.0 VARNISH_VERSION=6.0

    WARDEN_SYNC_IGNORE=

    WARDEN_ALLURE=0 WARDEN_SELENIUM=0 WARDEN_SELENIUM_DEBUG=0 WARDEN_BLACKFIRE=0 WARDEN_SPLIT_SALES=0 WARDEN_SPLIT_CHECKOUT=0 WARDEN_TEST_DB=0 WARDEN_MAGEPACK=0

    BLACKFIRE_CLIENT_ID= BLACKFIRE_CLIENT_TOKEN= BLACKFIRE_SERVER_ID= BLACKFIRE_SERVER_TOKEN= `

    opened by hassanas 14
  • M2 - Add instruction how to run jasmine tests

    M2 - Add instruction how to run jasmine tests

    I just tried to execute js unit tests with following instruction, but it actually failed on npm install. https://devdocs.magento.com/guides/v2.4/test/js/jasmine.html

    Do anyone tried to run them? Is there any instruction?

    documentation 
    opened by ihor-sviziev 14
  • mail() - Unable to send email

    mail() - Unable to send email

    Did a fresh install Ubuntu 21.04

    • docker 20.10.8, build 3967b7d
    • docker-compose 1.29.2, build 5becea4c
    • nameserver added 127.0.0.1
    • warden - 0.11.0

    Can't send emails from container. Tested on new Magneto 2 env https://docs.warden.dev/environments/magento2.html When installed try reset admin password.

    Error message is displayed "We're unable to send the password reset email."

    php-fpm_1 logs

    sendmail_path = "/usr/local/bin/mhsendmail --smtp-addr='mailhog:1025'",
    .
    [25-Aug-2021 09:21:22] WARNING: [pool www] child 55 said into stderr: "error sending mail",
    [25-Aug-2021 09:21:22] WARNING: [pool www] child 55 said into stderr: "2021/08/25 09:21:22 dial tcp 184.168.221.27:1025: getsockopt: connection timed out",
    
    

    Mailhog logs

    2021/08/25 08:59:04 [SMTP] Binding to address: 0.0.0.0:1025
    [HTTP] Binding to address: 0.0.0.0:8025
    2021/08/25 08:59:04 Serving under http://0.0.0.0:8025/
    

    dig from php-fpm container

    dig mailhog
    
    ; <<>> DiG 9.11.26-RedHat-9.11.26-4.el8_4 <<>> mailhog
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62202
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;mailhog.			IN	A
    
    ;; ANSWER SECTION:
    mailhog.		600	IN	A	172.23.0.4
    

    curl from php-fpm

    curl mailhog:1025
    220 mailhog.example ESMTP MailHog
    500 Unrecognised command
    500 Unrecognised command
    500 Unrecognised command
    500 Unrecognised command
    500 Unrecognised command
    
    stale 
    opened by ivan-veres 13
  • PHPStorm remote docker-compose based PHP interpreter configuration for integration testing

    PHPStorm remote docker-compose based PHP interpreter configuration for integration testing

    In order to develop Magento extensions and core patches efficiently I want to be able to run integration tests in PHPStorm.

    PHPStorm allows configuration of remote, docker-compose based, PHP interpreters. Here is what I've done so far:

    • Service: php-debug
    • docker-compose files:
      • /usr/local/Cellar/warden/0.1.10/environments/magento2.base.yml
      • /usr/local/Cellar/warden/0.1.10/environments/magento2.darwin.yml
    • environment variables from .env:
      • WARDEN_ENV_NAME
      • WARDEN_ENV_TYPE
      • TRAEFIK_DOMAIN
      • TRAEFIK_SUBDOMAIN
      • WARDEN_WEB_ROOT (this one isn't from .env but I thought it might help)

    With this configuration PHPStorm allows saving the interpreter even though it says it's unable to parse the validation script output.

    Nevertheless, PHPStorm allows me to continue, even though PHPStorm can not determine the PHP version.

    Then I add a path mapping to the interpreter configuration from <Project root> -> /var/www/html manually, however, PHPStorm also read an invalid mapping from the yaml:
    /usr/local/Cellar/warden/0.1.10/environments/.${WARDEN_WEB_ROOT:-}/pub/media -> /var/www/html/pub/media
    It seems PHPStorm doesn't like the config in magento2.darwin.yaml: .${WARDEN_WEB_ROOT:-}/pub/media:/var/www/html/pub/media:delegated

    Next I changed .${WARDEN_WEB_ROOT:-} to ${WARDEN_WEB_ROOT:-} (removed the leading .) and it indeed allowed PHPStorm to find the PHP interpreter correctly. I'm not sure why the . is here, I'll test shortly if warden seems to work without it, too.

    When I then try to set up a PHPUnit configuration with this remote interpreter, I get the message:

    Can not parse PHPUnit version output: Could not open input file: vendor/phpunit/phpunit/phpunit`
    

    I tried setting the composer autoload.php file path to

    • vendor/autoload.php
    • /var/www/html/vendor/autoload.php
    • /Volumes/CaseSensitive/Workspace/php-sites/m2-training/vendor/autoload.pnp (my local path because of the path mapping config)

    No luck. This might be an issue with PHPStorm, I don't know, but it would be wonderful to get integration tests working in the IDE.

    opened by Vinai 13
  • Mount ssh directory as separate volume

    Mount ssh directory as separate volume

    This PR fixes a similar issue to https://github.com/davidalger/warden/issues/289, but with ssh known_hosts file. Basically it does the same as https://github.com/davidalger/warden/pull/304 and https://github.com/davidalger/warden/pull/308

    Steps to reproduce:

    1. start the environment and connect to GitHub:
    warden env up
    warden shell -T -c 'ssh [email protected]'
    
    first time it will ask you to confirm fingerprint, like this:
    
      The authenticity of host 'github.com (140.82.121.3)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'github.com,140.82.121.3' (RSA) to the list of known hosts.
    PTY allocation request failed on channel 0
    Hi ihor-sviziev! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    
    1. try again to run warden shell -T -c 'ssh [email protected]' - there should not be any additional confirmations
    PTY allocation request failed on channel 0
    Hi ihor-sviziev! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    
    1. Stop the environment, run it again and try the same command again:
    warden env down
    warden env up
    warden shell -T -c 'ssh [email protected]'
    

    Actual result: (Before) ❌ known_hosts file is missing, it's asking again for confirming GitHub host:

      The authenticity of host 'github.com (140.82.121.4)' can't be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'github.com,140.82.121.4' (RSA) to the list of known hosts.
    PTY allocation request failed on channel 0
    Hi ihor-sviziev! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    

    Expected result: (After) ✔ known_hosts file is present, it already trusts to GitHub host:

    PTY allocation request failed on channel 0
    Hi ihor-sviziev! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    
    opened by ihor-sviziev 12
  • Shopware 6 watchers

    Shopware 6 watchers

    Hi,

    Using the development or production template of Shopware 6 it's possible to use watchers to build your frontend and administration. The ports used by this watcher are not open, therefore they can not be used in warden.

    You can see the ports used in the docker-compose.override in the development repository: https://github.com/shopware/development/blob/6.2/dev-ops/docker/docker-compose.override.yml

    Is this something that can be implemented? I would love to use warden to develop on Shopware 6, but without the watchers it's a bit harder.

    Kind regards Brent

    bug stale env-shopware 
    opened by BrentRobert 12
  • Problems with multiple websites with multiple top level domains

    Problems with multiple websites with multiple top level domains

    I followed https://docs.warden.dev/configuration/multipledomains.html?highlight=multiple#multiple-domains to make sure that my domains app.base.test and app.alternative.test are handled correctly.

    Step 2 of this documentation links both domains to the same warden project as far as I understand.

    Now I want to set the proper MAGE_RUN_CODE in Magento1 resp. Magento2 based on the incoming domain. In Magento 1 I try to use a custom nginx.conf file to set the correct code.

    This is included in images/nginx/context/etc/nginx/conf.d/default.conf inside the server block. But whatever I do there, I can not add a new server in my custom configuration to handle the traffic accordingly and with location blocks I'm not able to get the top level domains, as I only have access to the URI there. Is there a way to solve that, which I did not get yet? If not, it would be great to have the possibility to add a custom server block for that issue. So maybe we could add a new include statement outside the server block?

    In Magento2 I followed the approach including app/etc/stores.php. Unfortunately the host is already app.base.test, when I call app.alternative.test at this point. So it seems as if this has been changed already by the .warden/warden-env.yml adaption. Am I missing something here as well or does the Magento2 approach only work for domains like domain1.exampleproject.test and never for completely different top level domains?

    stale 
    opened by norgeindian 11
  • How can I add custom routes to traefik?

    How can I add custom routes to traefik?

    When I use NGROK, or localtunnel, to create a tunnel between my docker environment, and the internet, I always get a 404 page

    This page seems to belong to traefik I get the same page when I hit https://localhost:443

    I want to ensure that when I use a service like localtunnel, and I set the local-host to the same as my local site, that I reach it and not a 404

    an example command below

    lt --local-host mysite.test --subdomain mysite --port 443
    
    opened by WinstonN 11
  • Getting ERR_NAME_NOT_RESOLVED after docker update

    Getting ERR_NAME_NOT_RESOLVED after docker update

    Hello

    Recently, my docker was updated to the latest version and after that my all magento 2 projects are not working on the browser.

    Getting this error: ERR_NAME_NOT_RESOLVED

    Screenshot 2022-12-30 at 10 13 06 AM

    opened by VivekShingala 8
  • Xdebug 3 and PHP 8.1 - not working

    Xdebug 3 and PHP 8.1 - not working

    When running a brand new install on Magento 2 using the below conifg, xdebug fails to break.

    ELASTICSEARCH_VERSION=7.17 MARIADB_VERSION=10.4 NODE_VERSION=16 COMPOSER_VERSION=2 PHP_VERSION=8.1 PHP_XDEBUG_3=1 RABBITMQ_VERSION=3.9 REDIS_VERSION=6.2 VARNISH_VERSION=7.0

    When downgrading the PHP version to 7.4 then the breakpoints work correct without changing any other config settings in the IDE.

    This makes me believe it's a 8.1 Image specific problem, debugging is out my remit but hopefully someone can shed some light.

    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
    [164] [Config] INFO: No shared secret: Activating
    [164] [Step Debug] INFO: Checking for client discovery headers: 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] INFO: Checking header 'HTTP_X_DEBUG_HOST'.
    [164] [Step Debug] WARN: Could not discover client host through HTTP headers, connecting to configured address/port: localhost:9003.
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', poll success, but error: Operation now in progress (29).
    [164] [Step Debug] WARN: Creating socket for 'localhost:9003', connect: Cannot assign requested address.
    [164] [Step Debug] ERR: Could not connect to debugging client. Tried: localhost:9003 (fallback through xdebug.client_host/xdebug.client_port).
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_TRACE'
    [164] [Config] INFO: Trigger value for 'XDEBUG_TRACE' not found, so not activating
    [164] Log closed at 2022-12-25 23:07:23.224448
    
    
    bug 
    opened by mattgrul 3
  • Integrate Den changes in a backwards compatible way

    Integrate Den changes in a backwards compatible way

    • [ ] Migrate PHP building to a GitHub actions matrix
    • [ ] Add env variable to choose between Alpine and classic images. Default to alpine for new env inits
    • [ ] Backport composer and node build implementations to classic Warden PHP builds
    • [ ] Document migration path from Drpayyne and Den back to Warden proper
    • [ ] Backport SSL certificate generation from Den for Den projects
    • [ ] Backport documentation updates while ensuring it remains "Warden"
    enhancement documentation docker-images arm64 
    opened by navarr 0
  • Not able to generate ssl certificate for new M2 installation

    Not able to generate ssl certificate for new M2 installation

    vader@Timurs-MacBook exampleproject % warden sign-certificate exampleproject.test
    Warning: Certificate for exampleproject.test already exists! Overwriting...
    
    ==> Generating private key exampleproject.test.key.pem
    Generating RSA private key, 2048 bit long modulus
    .................................................................+++++
    ............................+++++
    e is 65537 (0x10001)
    ==> Generating signing req exampleproject.test.crt.pem
    ==> Generating certificate exampleproject.test.crt.pem
    Signature ok
    subject=/C=US/O=Warden.dev/CN=exampleproject.test
    Getting CA Private Key
    unable to load number from /Users/vader/.warden/ssl/rootca/serial
    8776656128:error:0DFFF096:asn1 encoding routines:CRYPTO_internal:short line:/AppleInternal/Library/BuildRoots/810eba08-405a-11ed-86e9-6af958a02716/Library/Caches/com.apple.xbs/Sources/libressl/libressl-3.3/crypto/asn1/f_int.c:196:
    ERROR: Command `openssl x509 -req -days 365 -sha256 -extensions v3_req -extfile <(cat                                                      "${WARDEN_DIR}/config/openssl/certificate.conf"                   <(printf "extendedKeyUsage = serverAuth,clientAuth 
                   subjectAltName = " "${CERTIFICATE_SAN_LIST}")               ) -CA "${WARDEN_SSL_DIR}/rootca/certs/ca.cert.pem" -CAkey "${WARDEN_SSL_DIR}/rootca/private/ca.key.pem" -CAserial "${WARDEN_SSL_DIR}/rootca/serial" -in "${WARDEN_SSL_DIR}/certs/${CERTIFICATE_NAME}.csr.pem" -out "${WARDEN_SSL_DIR}/certs/${CERTIFICATE_NAME}.crt.pem"` at /opt/homebrew/Cellar/warden/0.12.0/commands/sign-certificate.cmd:52 failed with exit code 1
    

    When running command warden sign-certificate exampleproject.test getting above response. Not sure why. Its brand new install and a first time I am installing warden environment on this laptop. Also site works fine without ssl but does give me a warning at the start. Also looks like warden does not create directories that it needs and errors out if its missing for some of its operations which I think should be automatic. This happened when I ran warden svc up creating manually missing directory fixed the issue. Also worth noting that directory /Users/vader/.warden/ssl/rootca/serial I created manually as it was erroring out on that too.

    bug 
    opened by TimurGafarovR 0
  • Livereload not reflect change

    Livereload not reflect change

    I guys, I'm trying to use LiveReload on a Magento 2 env. I followed this guide: https://docs.warden.dev/configuration/livereload.html

    Everything seems OK but when I save a less file the browser not reflect the change until do a manual f5.

    I tested it on chrome and firefox with same result.

    In chrome I used this plugin in https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei

    This is a network snapshot with the correct request for livereload

    Schermata del 2022-09-27 11-38-11

    opened by apomili 2
Releases(0.12.0)
  • 0.12.0(Aug 28, 2021)

    Enhancements:

    • Added Elastic HQ support available at elastichq.mydomain.test for viewing Elasticsearch data (#350 by @Den4ik)
    • Update selenium to standalone latest version resolving issues with old hub/chrome image combinations (#349 by @Den4ik)
    • Environment and image build improvements (#363 by @Den4ik)
    • Introduces new redis sub-command for easy access to the running redis container (#413 by @werfu)
    • SSH known hosts will now be persisted via an additional sshdirectory:/home/www-data/.ssh volume on php-fpm containers (#315 by @ihor-sviziev)
    • Docker images for Nginx 1.18 are now available (#414 by @darrakurt)

    Bug Fixes:

    • Fixed loadEnvConfig inability to parse .env with CRLF line endings (issue #380)
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Apr 22, 2021)

    Upgrade Notes:

    PHP and Varnish images have been rebuilt on a CentOS 8 base image (previously used a CentOS 7 base image). This eliminates the need for IUS for installing Git and MariaDB clients as these can now be installed from the default EL RPMs. This also allows for constants supported by more recent versions of Curl to be used in PHP code, latest calendar / locale features available in newer versions of ICU libraries to be used, etc.

    Please note that builds for PHP versions 5.5, 5.6, 7.0 and 7.1 have been dropped. Images will remain on Docker Hub so they'll continue to be available for existing projects actively using them, they simply will see no further enhancements or maintenance.

    To ensure you have the latest re-builds of Warden images and update your projects: warden env pull && warden env up

    For full details on what went into these rebuilds, please see #345.

    Huge shout out to @tdgroot who helped with updating the builds, testing, etc.

    Enhancements:

    • Shopware and Symfony environments will now use Composer v2 by default (issue #359)
    Source code(tar.gz)
    Source code(zip)
  • 0.10.2(Apr 3, 2021)

    Big Fixes:

    • Fixed bug where Live Reload might not work when Varnish was disabled due to routing priorities (#337 by @alinalexandru)

    Enhancements:

    • Magento 1 and Magento 2 environments now set developer environment variables by default (#332 by @norgeindian)
    • SSH Agent forwarding will no longer use socat except when needed (#334 by @alinalexandru)
    Source code(tar.gz)
    Source code(zip)
  • 0.10.1(Mar 1, 2021)

    Bug Fixes:

    • Fixed a bug where SSH Agent forwarding would break following container restart (#307 by @ihor-sviziev)
    • Fixed a issue where Xdebug 3 images would generate excessive profile data when running CLI commands in debug container (#309 by @Den4ik)

    Please note that you must pull the latest php-fpm images via warden env pull to get these bug fixes relating to configuration in the pre-built images.

    Enhancements:

    • There is now a warden db dump command available to run mysqldump on the db container (#310 by @Den4ik)
    • Bash history will now be persisted via an additional bashhistory:/bash_history volume on php-fpm containers (#304 by @Den4ik)
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Feb 14, 2021)

    Upgrade Notes:

    • Various updates to PHP images have occurred since the last major release including a transition to using Remi vs IUS for RPMs. It's highly recommended you re-pull to get the latest images and update your projects: warden env pull && warden env up
    • Warden now requires mutagen 0.11.8 or later for environments leveraging sync sessions on Mac OS. Reference issue #235 for details. This is to resolve an incompatibility between earlier versions of Mutagen and Docker Desktop 2.3.0.5 and later.
    • There is a new docs page on DNS resolver configuration thanks to @Skullsneeze
    • The docs page on Installing Warden includes a new section titled Trusted CA Root Certificate with additional post-install information largely relevant to Linux users.
    • Images for Varnish 6.4 and 6.5 are now available in addition to 6.0 LTS and 4.1 to support users who desire to remain closer to the bleeding edge.
    • Redis 6 and Elasticsearch 7.11 images have recently been made available.
    • When updating to Composer v2 using the new COMPOSER_VERSION=2 setting, make sure you remove hirak/prestissimo from global (if present) composer global remove hirak/prestissimo
    • Warden will no longer attempt to auto-configure DNS resolution for *.test on non-Darwin systems due to a combination of security reasons, lack of per-TLD resolver configuration (as is used on Darwin/Mac OS) and the myriad permutations of resolver configuration across various Linux based distros. The dnsmasq container will still be started, but a warning will now be emitted on Linux directing users to the new docs page on DNS resolver configuration.

    Bug Fixes:

    • The .idea directory is no longer ignored from Mutagen sync allowing bin/magento dev:urn-catalog:generate to be generate metadata the IDE uses (issue #291)
    • Installing on WSL will no longer report innocuous errors related to lack of systemd support on WSL as the install routine no longer makes calls to systemctl on Linux systems (issue #220)

    Enhancements:

    • Added opt-in support for Xdebug 3 (see docs for details; new environments will set PHP_XDEBUG_3=1) (#279 by @Den4ik)
    • Added ability to provide persistent additional configuration to dnsmasq service (issue #214)
    • Added ability to easily specify alternate nameservers for dnsmasq to use (issue #214)
    • Added ability to customize bundled environment compositions by overriding them in the Warden home dir (#228 by @k4emic)
    • Added ability to override sync configuration on a per-project basis or provide one on env types such as local where default one does not exist (#246 by @Den4ik)
    • Updated version of Portainer from 1.24.X to 2.0.X (#245 by @MarcoFaul)
    • Added support for COMPOSER_VERSION in .env to configure composer to run the newer Composer v2. At this time the default remains Composer v1 for compatibility reasons (issue #296)
    • Added modman support for magento1 environment type (#290 by @norgeindian)
    Source code(tar.gz)
    Source code(zip)
  • 0.9.1(Aug 25, 2020)

  • 0.9.0(Aug 6, 2020)

    Upgrade Notes:

    • Removed deprecated first-class commands warden start, warden stop, warden up, warden down, and warden restart; please use warden svc <verb> to manage global services such as Traefik, Portainer, Mailhog, etc (#205 by @davidalger)

    Enhancements:

    • Added a new wordpress environment type pre-configured for running the Wordpress application (#206 by @jamescowie)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.2(Aug 3, 2020)

    Enhancements:

    • Changed all :delegated mounts to :cached mounts to preserve existing behavior of mounts when new behavior in Docker Desktop Edge 2.3.2.0 is promoted to stable channel (#204 by @davidalger)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Jul 30, 2020)

    Enhancements:

    • Updated default version of PHP for new magento2 environments to PHP 7.4
    • Updated default version of Elasticsearch for new magento2 environments to Elasticsearch 7.6
    • Updated default version of Elasticsearch where unspecified in project's .env file to Elasticsearch 7.8
    • Dropped Elasticsearch image builds for versions prior to 6.8 and versions 7.0 through 7.5

    Bug Fixes:

    • Fixed issue where nginx would unexpectedly exit on Linux due to incorrect default value for XDEBUG_CONNECT_BACK_HOST in base nginx configuration (issue #200)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Jul 27, 2020)

    Upgrade Notes:

    • To ensure Traefik 2.2 version update takes effect, run warden svc up after updating.
    • Pre-existing projects may need to be re-created to avoid warnings from docker-compose regarding unused named volumes.
    • The BYPASS_VARNISH flag (deprecated in 0.5.0) has been removed. Use toggle WARDEN_VARNISH=0 to disable Varnish.
    • Recently updated php-fpm images now include the crontabs package with crond running in the background. Be sure you have the latest images by running warden env pull in the project directory followed by warden env up to use this functionality.

    Enhancements:

    • Added warden vnc command to launch VNC tunnel via SSH or (when installed) launch Remmina (#116 by @lbajsarowicz)
    • Updated warden env, warden svc and warden db to print help text when called without any parameters specified
    • Updated volume declarations for RabbitMQ and Redis services to use named volumes (avoid use of anonymous volumes)
    • Updated version of Traefik from 2.1 to 2.2
    • Updated warden debug to also pass host.docker.internal into the php-debug container for the XDEBUG_REMOTE_HOST value on WSL when Microsoft is present in /proc/sys/kernel/osrelease (#196 by @LeeSaferite)
    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Jul 22, 2020)

    Upgrade Notes:

    • With mailhog being changed from running on a per-project basis to running as a global service (see issue #175) you will need to ensure warden svc up has been run after updating Warden. On pre-existing projects that already had their own Mailhog container running, warden env up --remove-orphans will clean it up.

    Enhancements:

    • Added warden blackfire command for easily running profiles via the CLI tool (#188 by @navarr)
    • Changed mailhog service to run as a single global service rather than as a per-project service (issue #175)
    • Updated warden db import to strip usages of @@GLOBAL.GITD_PURGED and @@SESSION.SQL_LOG_BIN from database dumps during import process to avoid failures importing databases originating from Amazon RDS (issue #162)
    • Added Mutagen sync configuration for magento1 environment type (issue #97)
    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Jul 2, 2020)

    Upgrade Notes:

    • Warden now requires docker-compose 1.25.0 or later; see issue #165
    • Warden now requires mutagen 0.11.4 or later for environments leveraging sync sessions on Mac OS (currently Magento 2 and Shopware 6 use Mutagen).

    Enhancements:

    • Added warden svc command to control global services replacing warden start, warden stop, warden up, warden down, and warden restart and offering further flexibility as this works similar to warden env in that any verb known to docker-compose may be used in orchestrating global services such as traefik, dnsmasq and portainer; for example, warden svc up does what warden up did previously.
    • Updated warden env to report an error if Docker does not appear to be running.
    • Updated warden env up to imply -d (--detach) to work in like manner to warden svc up (formerly warden up)
    • The warden sync command now allows use of mutagen sub-commands flush and reset
    • The following version defaults were updated (these defaults apply when versions remain unspecified in a project's .env file; new project .env files may differ by environment type)
      • PHP-FPM default updated from 7.3 to 7.4
      • Elasticsearch default updated from 6.8 to 7.7
      • RabbitMQ default updated from 3.7 to 3.8
      • MariaDB default updated from 10.3 to 10.4
    • Updated warden env-init command to prompt user before overwriting an existing .env file in a project directory (#166 by @Lunaetic)
    • Updated warden env-init command to prompt user for required arguments when missing (#170 by @Lunaetic)
    • Added support for Magepack advanced JS bundling (#138 by @vbuck)
    • Added a new shopware environment type including Mutagen configuration for file sync on macOS (issue #169)
    • Added support for implementing custom commands in ~/.warden/commands or <project>/.warden/commands (#172 by @davidalger)
    • Added new feature flag WARDEN_NGINX to enable/disable service on per-project basis. This will allow (for example) using a local env type for a static site by adding WARDEN_NGINX=1 to the project's .env file.
    • Added ability to pass arguments to and override the database name db connect and db import operate on (issue #22)

    Bug Fixes:

    • Fixed issue where specifying -v flag would short circuit argument parsing (this flag was removed; previously was only used with warden sync list where warden sync list -l now accomplishes the same thing by passing the -l flag to mutagen to list in detail)
    • Fixed bug where quoted arguments like "foo bar" would be passed into sub-route as two arguments, foo and bar (technical detail of argument parsing; no known cases where this caused an issue)
    • Fixed incorrect var name in output of warden env-init for Laravel env type

    Deprecated Functionality:

    • The warden start command has been deprecated and will be removed in the 0.7.0 release; please use warden svc start instead.
    • The warden stop command has been deprecated and will be removed in the 0.7.0 release; please use warden svc stop instead.
    • The warden up command has been deprecated and will be removed in the 0.7.0 release; please use warden svc up instead.
    • The warden down command has been deprecated and will be removed in the 0.7.0 release; please use warden svc down instead.
    • The warden restart command has been deprecated and will be removed in the 0.7.0 release; please use warden svc restart instead.
    Source code(tar.gz)
    Source code(zip)
  • 0.5.3(Jun 23, 2020)

  • 0.5.2(Jun 11, 2020)

    Enhancements:

    • Fixed inability to run warden debug -c '<command>' in like manner to warden shell -c ...
    • Fixed issue where GTID related SET statements in a database dump failed the import (issue #162)
    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(May 28, 2020)

    Upgrade Notes:

    All docker images have been re-located to a new Docker Hub organization created specifically for use with Warden. All built-in environment types having been updated to reference the images on docker.io/wardenenv rather than quay.io/warden. Images currently on Quay will remain available (for at least the next 90-days) in order to preserve functionality of Warden prior to the 0.5.1 release, but these will no longer be updated and are considered deprecated immediately. Where references to quay.io/warden exist in per-project configuration within the .warden directory, it is strongly recommended these references be updated to use images from docker.io/wardenenv. You can quickly check an environment's configuration for references to images on Quay via the following command:

    warden env config | grep quay.io
    

    The backstory, and reason for moving the images, is that in Warden 0.2.0 (circa January 2020) images were relocated from a single Docker Hub repository to individual repositories on Quay.io both as a means of breaking down a mon-repo and also to leverage images scanning of Quay.io. Since that time, Quay.io has had multiple outages, including a recent one which lasted for 19 hours with intermittent inability to pull images as even read-only operations were failing as the service failed to be scaled. This morning Quay.io is down yet again, prompting all-out inability to pull images. Given the saddening instability of Quay.io and the inability to setup a local mirror as you can with Docker Hub it has become painstakingly obvious that the images must be moved back to Docker Hub for a long-term and stable home, with the added benefit that you will now be able to use a local registry service as a pass-through mirror for reducing network bandwidth and/or ensuring you have a copy of all images local to your network should at any time Docker Hub encounter issues in the future.

    The new long-term home for Warden docker images can be found here at https://hub.docker.com/u/wardenenv.

    Change Summary:

    • Updated images to reside in the docker.io/wardenenv registry on Docker Hub
    • Removed usages of images previously on quay.io/warden
    • Deprecated images on quay.io/warden for planned removal at some point in the future (to be not less than 90-days from today)
    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(May 21, 2020)

    Upgrade Notes:

    If PHP_VERSION is not defined in a project's .env type the default version is now 7.3 across the board for all environment types. This should not pose any issues for recent magento1 or magento2 setups, but laravel environments will likely require an update to the project's .env to continue using PHP 7.2 or rather than 7.3 for local development.

    There is a breaking change where custom environment config specific to Linux has been used in the form of placing a .warden/warden-env.linux-gnu.yml file in the project directory. The value used for WARDEN_ENV_SUBT on Linux is now linux rather than linux-gnu. After upgrading, these files will need to be re-named from .warden/warden-env.linux-gnu.yml to .warden/warden-env.linux.yml. Where continued compatibility with prior versions of Warden is desired (for example, to not require the entire team to upgrade Warden at once), a symlink may be placed to point the old file name to the new one allowing Warden to load the definition correctly on both new and old implementations: warden-env.linux-gnu.yml -> warden-env.linux.yml

    The BYPASS_VARNISH flag will continue to work as before but has been deprecated to be removed in a future release. It will no longer be included in the .env file created for new magento2 environments.Please use the new feature toggle WARDEN_VARNISH=0 to disable Varnish instead.

    Enhancements:

    • Added symfony environment type for use with Symfony 4+ (#146 by @lbajsarowicz)
    • Added COMPOSER_MEMORY_LIMIT=-1 to env on all php-* containers (#154 by @navarr)
    • Added new feature flag WARDEN_DB to enable/disable service on per-project basis.
    • Added new feature flag WARDEN_ELASTICSEARCH to enable/disable service on per-project basis.
    • Added new feature flag WARDEN_VARNISH to enable/disable service on per-project basis.
    • Added new feature flag WARDEN_RABBITMQ to enable/disable service on per-project basis.
    • Added new feature flag WARDEN_REDIS to enable/disable service on per-project basis.
    • Added new feature flag WARDEN_MAILHOG to enable/disable service on per-project basis.
    • Updated WARDEN_ALLURE to now enable Allure container on any environment type.
    • Updated WARDEN_SELENIUM to now enable Selenium containers on any environment type.
    • Updated WARDEN_BLACKFIRE to now enable Blackfire containers on any environment type.
    • Updated env-init command to include locked values for MARIADB_VERSION, NODE_VERSION, PHP_VERSION, and REDIS_VERSION for laravel environment types.
    • Updated local env type so it can now include common services by adding the above feature flags to the project .env file.
    Source code(tar.gz)
    Source code(zip)
  • 0.4.4(May 14, 2020)

    Enhancements:

    • Updated php-fpm images to use fpm-loaders variant of base image to include IonCube & SourceGuardian from upstream images
    • Updated php-fpm images fix for directory ownership of mounted volume paths for future flexibility by moving it to the docker-entrypoint script with an env var CHOWN_DIR_LIST to specify what directories to chown on container startup

    Bug Fixes:

    • Fixed missing SSH agent forwarding in php-blackfire container
    • Fixed lack of extra_hosts in php-blackfire and blackfire-agent containers (issue #145)
    • Fixed missing extra_hosts line for non-subdomain entry in /etc/hosts on selenium container
    • Fixed $OSTYPE check for compatibility with OpenSUSE which uses linux rather than linux-gnu (#149 by @Den4ik)
    Source code(tar.gz)
    Source code(zip)
  • 0.4.3(May 2, 2020)

    Enhancements:

    • Updated init routine allowing WARDEN_HOME_DIR and WARDEN_COMPOSER_DIR to be overriden via environment variables
    • Updated environment configuration to reference WARDEN_SSL_DIR eliminating hard-coded ~/.warden/ssl references
    • Updated warden global docker config to reference WARDEN_HOME_DIR eliminating hard-coded ~/.warden references
    • Updated warden up to return an error when docker is not running rather than blindly attempt to start global services
    Source code(tar.gz)
    Source code(zip)
  • 0.4.2(Apr 15, 2020)

    Enhancements:

    • Added WARDEN_SYNC_IGNORE to support passing a comma-separated list of additional per-session-ignores to Mutagen when sync sessions are started (#142 by @davidalger)
    • Added pause, resume and monitor to warden sync command (#141 by @fooman)
    • Changed Mutagen sync to pause on warden env stop and resume on warden env up -d (#141 by @fooman)

    Bug Fixes:

    • Removed exclusion of (commonly large) files types (*.sql, *.gz, *.zip, *.bz2) from sync sessions (as introduced in 0.4.0) because it broke the ability to use artifact repositories with composer (#142 by @davidalger)
    Source code(tar.gz)
    Source code(zip)
  • 0.4.1(Apr 11, 2020)

  • 0.4.0(Apr 2, 2020)

    Upgrade Notes:

    The introduction of SSH Agent Forwarding support in PR #121 results in Warden now requiring Docker Desktop 2.2.0.0 or later for macOS clients. Please upgrade Docker Desktop prior to upgrading to the latest Warden release to avoid errors relating to unauthorized mounts.

    Enhancements:

    • Added MySQL 5.6 and 5.7 images to Quay repository for use with Warden environments
    • Added support for Integration, Unit and API Tests leveraging a MySQL 5.7 container running on tempfs memory disk (#115 by @lbajsarowicz)
    • Added WARDEN_ALLURE setting to control Allure separately from Selenium for use reporting on Integration and Unit tests (#117 by @lbajsarowicz)
    • Added ssh agent forwarding support on both macOS and Linux hosts (#121 by @davidalger)
    • Updated entrypoint in php-fpm images to support mounting PEM files into /etc/pki/ca-trust/source/anchors (3a841b7d)
    • Updated config for Mutagen sync to exclude large files (*.sql, *.gz, *.zip, *.bz2) from sync sessions

    Bug Fixes:

    • Fixed issue where - in WARDEN_ENV_NAME would results in 0.0.0.0 being used in extra_hosts passed to containers
    • Fixed race condition caused by docker-compose starting two containers with identical mounts simultaneously (issue #110)
    • Fixed issue with incorrect network name reference when uppercase characters are present in WARDEN_ENV_NAME (issue #127)
    • Fixed issue where Mutagen sync autostart would attempt to start when php-fpm container was not running (ex: when executing warden env up -d db to start only the db service)
    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Mar 7, 2020)

    Upgrade Notes:

    If you're upgrading from version 0.2.x to 0.3.x for the first time, please reference upgrade notes for Warden 0.3.0 and plan accordingly.

    Bug Fixes:

    • Fixed issue where env up and env start would exit with an error on env types not using Mutagen sessions
    • Fixed issue where env down and env stop would exit with an error on env types not using Mutagen sessions
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Mar 7, 2020)

    Upgrade Notes:

    The fix for issue #65 required removing the warden network from each environment's services (see commit 36cb0174) and as a result environments referencing the warden network in per-project .warden/*.yml configuration files may need to be updated for compatibility with Warden 0.3.0.

    Should you see an error like the following when running warden env ... then this applies to you:

    ERROR: Service "nginx" uses an undefined network "warden"
    

    To resolve this issue, simply remove the following from each service defined in .warden/*.yml files on the project similar to what was done in commit 36cb0174 on the base environment definitions:

    networks:
      - warden
      - default
    

    Bug Fixes:

    • Updated to no longer connect environment containers to warden network and instead peer traefik and tunnel containers with each project when it is started (issue #65)

    Enhancements:

    • Added automatic start of Mutagen sync on env up and env start when sync is not connected (issue #90)
    • Added automatic stop of Mutagen sync on env down and env stop (issue #90)
    • Updated routing rules so Traefik will now by default route both example.com and *.example.com to application (#111 by davidalger)
    Source code(tar.gz)
    Source code(zip)
  • 0.2.4(Mar 1, 2020)

    Bug Fixes:

    • Updated environment path (WARDEN_ENV_PATH in scripts) to use physical vs logical current working directory to resolve issues with using symlinked file paths (issue #101)
    • Removed confusingly quoted placeholder values related to Blackfire from env file generated by env-init
    • Removed timeout for Selenium Hub, increased timeout for MFTF's command.php endpoint to 10 minutes (#107 by lbajsarowicz)
    • Fixed issue where warden sync start would infinitely wait when Mutagen encountered an error (#100 by Lunaetic)
    Source code(tar.gz)
    Source code(zip)
  • 0.2.3(Feb 14, 2020)

  • 0.2.2(Feb 9, 2020)

    Enhancements:

    • Updated sign-certificates command to specify "O" value and "extendedKeyUsage" to comply with stricter SSL guidelines (issue #85)

    Bug Fixes:

    • Fixed missing CN value on CA used to sign SSL certificates (issue #85)
    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(Jan 30, 2020)

    Upgrade Notes:

    If you're upgrading from version 0.1.x to 0.2.x for the first time, please reference upgrade notes for Warden 0.2.0 and plan accordingly.

    Enhancements:

    • Added support for using ~/.warden/.env to configure aspects of Global Services (see docs for details) (issue #13)
    • Updated sync start to no longer call mutagen daemon start as Mutagen now does this automatically.
    • Updated warden install to include short hostname in the common name used when signing the Root CA used by Warden allowing easier identification and interoperability when a single user is running Warden across multiple workstations.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jan 28, 2020)

    Highlights

    • Traefik upgraded from v1.7 to v2.1; details in upgrade notes
    • LiveReload now supported in magento2 environment type; docs page
    • All images used by environments are now hosted on Quay.io; details in docs
    • Native support for multi-domain projects in form of wildcard routing in new Traefik v2 labeling overhaul; more info here
    • Added BYPASS_VARNISH flag for simple means of sending requests directly to Nginx if need be.
    • Updated default PHP version for magento2 environments from 7.2 to 7.3 (issue #75)
    • Updated default Varnish version for magento2 environments from 4.1 to 6.0 (LTS)
    • env-init now dumps all version variables to .env file to lock them so future updates to Warden won't change versions on existing project configurations.
    • Updated minimal Mutagen version requirement to 0.10.3 and upgraded Mutagen config to YAML format.

    Full Details For complete details, please see the change log: https://docs.warden.dev/changelog.html#version-0-2-0-2020-01-27

    Many thanks to the individuals contributing to the creation of the Warden 0.2.0 release including @wcrb15, @lbajsarowicz and @molotovbliss.

    Source code(tar.gz)
    Source code(zip)
  • 0.1.12(Dec 10, 2019)

  • 0.1.11(Nov 26, 2019)

Owner
David Alger
Principal SRE, Software Engineer, Infrastructure, DevOps, Magento Master, Cloud Architect, AWS, GCP, Terraform, Ansible, Kubernetes
David Alger
It allows frontend developer to send ajax requests and return a custom information from the server without a php developer help

[Magento 1 Extension] It allows frontend developer to send ajax requests and return a custom information from the server without a php developer help (without any php code).

Vladimir Fishchenko 62 Apr 1, 2022
The Pantheon CLI — a standalone utility for performing operations on the Pantheon Platform

terminus : Pantheon's Command-Line Interface Status About Terminus is Pantheon's Command Line Interface (CLI), providing at least equivalent functiona

Pantheon 290 Dec 26, 2022
Envbar allows you to differentiate between environments by adding a custom colored bar above the top navigation.

Envbar Envbar allows you to differentiate between environments by adding a custom colored bar above the top navigation. This should help backend users

Magenizr 6 Oct 7, 2022
Sspak - Tool for managing bundles of db/assets from SilverStripe environments

SSPak SSPak is a SilverStripe tool for managing database and assets content, for back-up, restoration, or transfer between environments. The file form

Silverstripe CMS 45 Dec 14, 2022
SlimJim was born out of a need for a simple auto update script which would update multiple development/test environments every time someone

SlimJim WHY? SlimJim was born out of a need for a simple auto update script which would update multiple development/test environments every time someo

Jesal Gadhia 100 Apr 22, 2022
Create and update progress bars in different environments

Create and update progress bars in different environments

Laminas Project 8 Jul 28, 2022
A complete stack for running Symfony 5 into Docker containers using docker-compose tool and with Certbot for the HTTPS certificate.

?? Docker + PHP 7.4 + MySQL8.0 + Nginx + Certbot(HTTPS) + Symfony 5 Boilerplate ?? Edited from https://github.com/ger86/symfony-docker version -> http

null 6 Nov 9, 2022
Docker-magento - Docker image for Magento 1.6 to 1.9

Docker image for Magento 1.x This repo creates a Docker image for Magento 1.x. Please note The primary goal of this repo is to create Docker images fo

Fu Cheng 144 Nov 18, 2022
🐋 This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

?? This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

Anton Kliek 1 Jan 26, 2022
Developer-friendly framework heavily inspired by Laravel and based on Timber and Wpemerge solutions for WordPress themes development with Bedrock folder structure

Lightweight Brocooly (Brocket) Improved Controllers, Middleware and Routers, but slightly less powerful Container Open beta. Package in development Cr

Ihar Aliakseyenka 3 Mar 4, 2022
Easy to use utility functions for everyday PHP projects. This is a port of the Lodash JS library to PHP

Lodash-PHP Lodash-PHP is a port of the Lodash JS library to PHP. It is a set of easy to use utility functions for everyday PHP projects. Lodash-PHP tr

Lodash PHP 474 Dec 31, 2022
Utility that helps you switch git configurations with ease.

git-profile Utility that helps you switch git configurations with ease Preface It is possible that you have multiple git configurations. For example:

Zeeshan Ahmad 240 Jul 18, 2022
[READ-ONLY] CakePHP Utility classes such as Inflector, Text, Hash, Security and Xml. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp

CakePHP Utility Classes This library provides a range of utility classes that are used throughout the CakePHP framework What's in the toolbox? Hash A

CakePHP 112 Feb 15, 2022
Small utility library that handles metadata minification and expansion.

composer/metadata-minifier Small utility library that handles metadata minification and expansion.

Composer 134 Dec 26, 2022
A utility package that helps inspect functions in PHP.

A utility package that helps inspect functions in PHP. This package provides some utilities for inspecting functions (callables) in PHP. You can use i

Ryan Chandler 14 May 24, 2022
m4b-tool is a command line utility to merge, split and chapterize audiobook files such as mp3, ogg, flac, m4a or m4b

m4b-tool m4b-tool is a is a wrapper for ffmpeg and mp4v2 to merge, split or and manipulate audiobook files with chapters. Although m4b-tool is designe

Andreas 798 Jan 8, 2023
Php-timer - Utility class for timing

phpunit/php-timer Utility class for timing things, factored out of PHPUnit into a stand-alone component. Installation You can add this library as a lo

Sebastian Bergmann 7.4k Jan 5, 2023
Xr - Lightweight debug server utility built on ReactPHP.

XR ?? Subscribe to the newsletter to don't miss any update regarding Chevere. XR is a dump server utility built on top of ReactPHP. Features ✨ Dump si

Chevere 195 Dec 17, 2022
An utility component for XML usage and best practices in PHP

An utility component for XML usage and best practices in PHP

Laminas Project 13 Nov 26, 2022