@mittwald/cli 1.0.0-alpha.42 → 1.0.0-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +425 -47
  2. package/dist/BaseCommand.js +2 -0
  3. package/dist/commands/app/download.d.ts +2 -0
  4. package/dist/commands/app/download.js +9 -2
  5. package/dist/commands/app/list-upgrade-candidates.d.ts +40 -0
  6. package/dist/commands/app/list-upgrade-candidates.js +37 -0
  7. package/dist/commands/app/ssh.d.ts +2 -0
  8. package/dist/commands/app/ssh.js +22 -10
  9. package/dist/commands/app/upgrade.d.ts +17 -0
  10. package/dist/commands/app/upgrade.js +108 -0
  11. package/dist/commands/app/upload.d.ts +1 -0
  12. package/dist/commands/app/upload.js +4 -2
  13. package/dist/commands/database/mysql/dump.d.ts +2 -0
  14. package/dist/commands/database/mysql/dump.js +4 -1
  15. package/dist/commands/database/mysql/import.d.ts +2 -0
  16. package/dist/commands/database/mysql/import.js +4 -1
  17. package/dist/commands/database/mysql/port-forward.d.ts +2 -0
  18. package/dist/commands/database/mysql/port-forward.js +9 -11
  19. package/dist/commands/database/mysql/shell.d.ts +3 -0
  20. package/dist/commands/database/mysql/shell.js +14 -15
  21. package/dist/commands/database/redis/shell.d.ts +3 -0
  22. package/dist/commands/database/redis/shell.js +15 -4
  23. package/dist/commands/ddev/init.js +5 -3
  24. package/dist/commands/domain/dnszone/list.js +1 -1
  25. package/dist/commands/domain/dnszone/update.js +1 -1
  26. package/dist/commands/domain/virtualhost/create.js +1 -1
  27. package/dist/commands/mail/address/create.d.ts +1 -1
  28. package/dist/commands/mail/address/create.js +6 -6
  29. package/dist/commands/mail/address/get.js +1 -1
  30. package/dist/commands/mail/address/list.js +1 -1
  31. package/dist/commands/mail/address/update.d.ts +35 -0
  32. package/dist/commands/mail/address/update.js +169 -0
  33. package/dist/commands/mail/deliverybox/get.js +1 -1
  34. package/dist/commands/mail/deliverybox/list.js +1 -1
  35. package/dist/commands/project/ssh.d.ts +5 -0
  36. package/dist/commands/project/ssh.js +12 -12
  37. package/dist/lib/api_logging.d.ts +8 -0
  38. package/dist/lib/api_logging.js +20 -0
  39. package/dist/lib/app/Installer.js +2 -2
  40. package/dist/lib/app/upgrade.d.ts +1 -0
  41. package/dist/lib/app/upgrade.js +1 -0
  42. package/dist/lib/app/uuid.d.ts +8 -0
  43. package/dist/lib/app/uuid.js +13 -4
  44. package/dist/lib/app/versions.d.ts +4 -0
  45. package/dist/lib/app/versions.js +38 -2
  46. package/dist/lib/app/wait.d.ts +1 -1
  47. package/dist/lib/app/wait.js +2 -2
  48. package/dist/lib/context.d.ts +1 -1
  49. package/dist/lib/database/redis/connect.d.ts +1 -1
  50. package/dist/lib/database/redis/connect.js +5 -6
  51. package/dist/lib/ddev/config_builder.js +5 -18
  52. package/dist/lib/ddev/flags.js +2 -0
  53. package/dist/lib/ddev/init_projecttype.d.ts +32 -0
  54. package/dist/lib/ddev/init_projecttype.js +102 -0
  55. package/dist/lib/mail/flags.d.ts +1 -0
  56. package/dist/lib/mail/flags.js +20 -0
  57. package/dist/lib/ssh/connection.d.ts +22 -0
  58. package/dist/lib/ssh/connection.js +19 -0
  59. package/dist/lib/ssh/doc.d.ts +10 -0
  60. package/dist/lib/ssh/doc.js +14 -0
  61. package/dist/lib/ssh/exec.d.ts +2 -1
  62. package/dist/lib/ssh/exec.js +7 -4
  63. package/dist/lib/ssh/flags.d.ts +6 -1
  64. package/dist/lib/ssh/flags.js +11 -0
  65. package/package.json +1 -1
package/README.md CHANGED
@@ -136,8 +136,10 @@ USAGE
136
136
  * [`mw app install typo3`](#mw-app-install-typo3)
137
137
  * [`mw app install wordpress`](#mw-app-install-wordpress)
138
138
  * [`mw app list`](#mw-app-list)
139
+ * [`mw app list-upgrade-candidates [INSTALLATION-ID]`](#mw-app-list-upgrade-candidates-installation-id)
139
140
  * [`mw app ssh [INSTALLATION-ID]`](#mw-app-ssh-installation-id)
140
141
  * [`mw app uninstall [INSTALLATION-ID]`](#mw-app-uninstall-installation-id)
142
+ * [`mw app upgrade [INSTALLATION-ID]`](#mw-app-upgrade-installation-id)
141
143
  * [`mw app upload [INSTALLATION-ID]`](#mw-app-upload-installation-id)
142
144
  * [`mw app versions [APP]`](#mw-app-versions-app)
143
145
  * [`mw autocomplete [SHELL]`](#mw-autocomplete-shell)
@@ -204,6 +206,7 @@ USAGE
204
206
  * [`mw mail address delete ID`](#mw-mail-address-delete-id)
205
207
  * [`mw mail address get ID`](#mw-mail-address-get-id)
206
208
  * [`mw mail address list`](#mw-mail-address-list)
209
+ * [`mw mail address update MAILADDRESS-ID`](#mw-mail-address-update-mailaddress-id)
207
210
  * [`mw mail deliverybox get ID`](#mw-mail-deliverybox-get-id)
208
211
  * [`mw mail deliverybox list`](#mw-mail-deliverybox-list)
209
212
  * [`mw org delete [ORG-ID]`](#mw-org-delete-org-id)
@@ -562,28 +565,51 @@ Download the filesystem of an app within a project to your local machine
562
565
 
563
566
  ```
564
567
  USAGE
565
- $ mw app download [INSTALLATION-ID] --target <value> [-q] [--ssh-user <value>] [--dry-run] [--delete]
568
+ $ mw app download [INSTALLATION-ID] --target <value> [-q] [--ssh-user <value>] [--ssh-identity-file <value>]
569
+ [--dry-run] [--delete]
566
570
 
567
571
  ARGUMENTS
568
572
  INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
569
573
  in the context
570
574
 
571
575
  FLAGS
572
- -q, --quiet suppress process output and only display a machine-readable summary.
573
- --delete delete local files that are not present on the server
574
- --dry-run do not actually download the app installation
575
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
576
- --target=<value> (required) target directory to download the app installation to
576
+ -q, --quiet suppress process output and only display a machine-readable summary.
577
+ --delete delete local files that are not present on the server
578
+ --dry-run do not actually download the app installation
579
+ --target=<value> (required) target directory to download the app installation to
580
+
581
+ SSH CONNECTION FLAGS
582
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
583
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
577
584
 
578
585
  DESCRIPTION
579
586
  Download the filesystem of an app within a project to your local machine
580
587
 
588
+ This command downloads the filesystem of an app installation to your local machine via rsync.
589
+
590
+ For this, rsync needs to be installed on your system.
591
+
592
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
593
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
594
+
595
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
596
+ authenticated mStudio user or the user specified with the --ssh-user flag.
597
+
598
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
599
+
581
600
  FLAG DESCRIPTIONS
582
601
  -q, --quiet suppress process output and only display a machine-readable summary.
583
602
 
584
603
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
585
604
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
586
605
 
606
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
607
+
608
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
609
+ authenticate the connection to the server.
610
+
611
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
612
+
587
613
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
588
614
 
589
615
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -1727,28 +1753,74 @@ FLAG DESCRIPTIONS
1727
1753
  to persistently set a default project for all commands that accept this flag.
1728
1754
  ```
1729
1755
 
1756
+ ## `mw app list-upgrade-candidates [INSTALLATION-ID]`
1757
+
1758
+ List upgrade candidates for an app installation.
1759
+
1760
+ ```
1761
+ USAGE
1762
+ $ mw app list-upgrade-candidates [INSTALLATION-ID] [--columns <value> | -x] [--no-header | [--csv | --no-truncate]] [-o
1763
+ txt|json|yaml|csv | | ] [--no-relative-dates]
1764
+
1765
+ ARGUMENTS
1766
+ INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
1767
+ in the context
1768
+
1769
+ FLAGS
1770
+ -o, --output=<option> [default: txt] output in a more machine friendly format
1771
+ <options: txt|json|yaml|csv>
1772
+ -x, --extended show extra columns
1773
+ --columns=<value> only show provided columns (comma-separated)
1774
+ --csv output is csv format [alias: --output=csv]
1775
+ --no-header hide table header from output
1776
+ --no-relative-dates show dates in absolute format, not relative
1777
+ --no-truncate do not truncate output to fit screen
1778
+
1779
+ DESCRIPTION
1780
+ List upgrade candidates for an app installation.
1781
+ ```
1782
+
1730
1783
  ## `mw app ssh [INSTALLATION-ID]`
1731
1784
 
1732
1785
  Connect to an app via SSH
1733
1786
 
1734
1787
  ```
1735
1788
  USAGE
1736
- $ mw app ssh [INSTALLATION-ID] [--ssh-user <value>] [--cd] [--info] [--test]
1789
+ $ mw app ssh [INSTALLATION-ID] [--ssh-user <value>] [--ssh-identity-file <value>] [--cd] [--info] [--test]
1737
1790
 
1738
1791
  ARGUMENTS
1739
1792
  INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
1740
1793
  in the context
1741
1794
 
1742
1795
  FLAGS
1743
- --[no-]cd change to installation path after connecting
1744
- --info only print connection information, without actually connecting
1745
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1746
- --test test connection and exit
1796
+ --[no-]cd change to installation path after connecting
1797
+ --info only print connection information, without actually connecting
1798
+ --test test connection and exit
1799
+
1800
+ SSH CONNECTION FLAGS
1801
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
1802
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1747
1803
 
1748
1804
  DESCRIPTION
1749
1805
  Connect to an app via SSH
1750
1806
 
1807
+ Establishes an interactive SSH connection to an app installation.
1808
+
1809
+ This command is a wrapper around your systems SSH client, and will respect your SSH configuration in ~/.ssh/config.
1810
+
1811
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
1812
+ authenticated mStudio user or the user specified with the --ssh-user flag.
1813
+
1814
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
1815
+
1751
1816
  FLAG DESCRIPTIONS
1817
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
1818
+
1819
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
1820
+ authenticate the connection to the server.
1821
+
1822
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
1823
+
1752
1824
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1753
1825
 
1754
1826
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -1783,39 +1855,96 @@ FLAG DESCRIPTIONS
1783
1855
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
1784
1856
  ```
1785
1857
 
1858
+ ## `mw app upgrade [INSTALLATION-ID]`
1859
+
1860
+ Upgrade app installation to target version
1861
+
1862
+ ```
1863
+ USAGE
1864
+ $ mw app upgrade [INSTALLATION-ID] [--target-version <value>] [-w] [-f] [-p <value>] [-q]
1865
+
1866
+ ARGUMENTS
1867
+ INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
1868
+ in the context
1869
+
1870
+ FLAGS
1871
+ -f, --force Do not ask for confirmation.
1872
+ -p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
1873
+ context
1874
+ -q, --quiet suppress process output and only display a machine-readable summary.
1875
+ -w, --wait wait for the upgrade process to finish
1876
+ --target-version=<value> target version to upgrade app to; if omitted, target version will be prompted
1877
+ interactively
1878
+
1879
+ DESCRIPTION
1880
+ Upgrade app installation to target version
1881
+
1882
+ FLAG DESCRIPTIONS
1883
+ -p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
1884
+
1885
+ May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
1886
+ to persistently set a default project for all commands that accept this flag.
1887
+
1888
+ -q, --quiet suppress process output and only display a machine-readable summary.
1889
+
1890
+ This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
1891
+ scripts), you can use this flag to easily get the IDs of created resources for further processing.
1892
+ ```
1893
+
1786
1894
  ## `mw app upload [INSTALLATION-ID]`
1787
1895
 
1788
1896
  Upload the filesystem of an app to a project
1789
1897
 
1790
1898
  ```
1791
1899
  USAGE
1792
- $ mw app upload [INSTALLATION-ID] --source <value> [-q] [--ssh-user <value>] [--dry-run] [--delete]
1900
+ $ mw app upload [INSTALLATION-ID] --source <value> [-q] [--ssh-user <value>] [--ssh-identity-file <value>]
1901
+ [--dry-run] [--delete]
1793
1902
 
1794
1903
  ARGUMENTS
1795
1904
  INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
1796
1905
  in the context
1797
1906
 
1798
1907
  FLAGS
1799
- -q, --quiet suppress process output and only display a machine-readable summary.
1800
- --delete delete remote files that are not present locally
1801
- --dry-run do not actually upload the app installation
1802
- --source=<value> (required) source directory from which to upload the app installation
1803
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1908
+ -q, --quiet suppress process output and only display a machine-readable summary.
1909
+ --delete delete remote files that are not present locally
1910
+ --dry-run do not actually upload the app installation
1911
+ --source=<value> (required) source directory from which to upload the app installation
1912
+
1913
+ SSH CONNECTION FLAGS
1914
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
1915
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1804
1916
 
1805
1917
  DESCRIPTION
1806
1918
  Upload the filesystem of an app to a project
1807
1919
 
1808
1920
  Upload the filesystem of an app from your local machine to a project.
1809
1921
 
1922
+ For this, rsync needs to be installed on your system.
1923
+
1810
1924
  CAUTION: This is a potentially destructive operation. It will overwrite files on the server with the files from your
1811
1925
  local machine. This is NOT a turnkey deployment solution. It is intended for development purposes only.
1812
1926
 
1927
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
1928
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
1929
+
1930
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
1931
+ authenticated mStudio user or the user specified with the --ssh-user flag.
1932
+
1933
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
1934
+
1813
1935
  FLAG DESCRIPTIONS
1814
1936
  -q, --quiet suppress process output and only display a machine-readable summary.
1815
1937
 
1816
1938
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
1817
1939
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
1818
1940
 
1941
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
1942
+
1943
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
1944
+ authenticate the connection to the server.
1945
+
1946
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
1947
+
1819
1948
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
1820
1949
 
1821
1950
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -1868,7 +1997,7 @@ EXAMPLES
1868
1997
  $ mw autocomplete --refresh-cache
1869
1998
  ```
1870
1999
 
1871
- _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.0.15/src/commands/autocomplete/index.ts)_
2000
+ _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.0.17/src/commands/autocomplete/index.ts)_
1872
2001
 
1873
2002
  ## `mw backup create`
1874
2003
 
@@ -2583,7 +2712,8 @@ Create a dump of a MySQL database
2583
2712
 
2584
2713
  ```
2585
2714
  USAGE
2586
- $ mw database mysql dump DATABASE-ID -o <value> [-q] [-p <value>] [--temporary-user] [--ssh-user <value>] [--gzip]
2715
+ $ mw database mysql dump DATABASE-ID -o <value> [-q] [-p <value>] [--temporary-user] [--ssh-user <value>]
2716
+ [--ssh-identity-file <value>] [--gzip]
2587
2717
 
2588
2718
  ARGUMENTS
2589
2719
  DATABASE-ID The ID or name of the database
@@ -2593,9 +2723,25 @@ FLAGS
2593
2723
  -p, --mysql-password=<value> the password to use for the MySQL user (env: MYSQL_PWD)
2594
2724
  -q, --quiet suppress process output and only display a machine-readable summary.
2595
2725
  --gzip compress the dump with gzip
2596
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2597
2726
  --[no-]temporary-user create a temporary user for the dump
2598
2727
 
2728
+ SSH CONNECTION FLAGS
2729
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2730
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2731
+
2732
+ DESCRIPTION
2733
+ Create a dump of a MySQL database
2734
+
2735
+ This command creates a dump of a MySQL database via mysqldump and saves it to a local file.
2736
+
2737
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
2738
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
2739
+
2740
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
2741
+ authenticated mStudio user or the user specified with the --ssh-user flag.
2742
+
2743
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
2744
+
2599
2745
  FLAG DESCRIPTIONS
2600
2746
  -o, --output=<value> the output file to write the dump to ("-" for stdout)
2601
2747
 
@@ -2621,6 +2767,13 @@ FLAG DESCRIPTIONS
2621
2767
  Compress the dump with gzip. This is useful for large databases, as it can significantly reduce the size of the
2622
2768
  dump.
2623
2769
 
2770
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2771
+
2772
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
2773
+ authenticate the connection to the server.
2774
+
2775
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
2776
+
2624
2777
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2625
2778
 
2626
2779
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -2662,7 +2815,8 @@ Imports a dump of a MySQL database
2662
2815
 
2663
2816
  ```
2664
2817
  USAGE
2665
- $ mw database mysql import DATABASE-ID -i <value> [-q] [-p <value>] [--temporary-user] [--ssh-user <value>] [--gzip]
2818
+ $ mw database mysql import DATABASE-ID -i <value> [-q] [-p <value>] [--temporary-user] [--ssh-user <value>]
2819
+ [--ssh-identity-file <value>] [--gzip]
2666
2820
 
2667
2821
  ARGUMENTS
2668
2822
  DATABASE-ID The ID or name of the database
@@ -2672,9 +2826,25 @@ FLAGS
2672
2826
  -p, --mysql-password=<value> the password to use for the MySQL user (env: MYSQL_PWD)
2673
2827
  -q, --quiet suppress process output and only display a machine-readable summary.
2674
2828
  --gzip uncompress the dump with gzip
2675
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2676
2829
  --[no-]temporary-user create a temporary user for the dump
2677
2830
 
2831
+ SSH CONNECTION FLAGS
2832
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2833
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2834
+
2835
+ DESCRIPTION
2836
+ Imports a dump of a MySQL database
2837
+
2838
+ This command imports a mysqldump file from your local filesystem into a MySQL database.
2839
+
2840
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
2841
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
2842
+
2843
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
2844
+ authenticated mStudio user or the user specified with the --ssh-user flag.
2845
+
2846
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
2847
+
2678
2848
  FLAG DESCRIPTIONS
2679
2849
  -i, --input=<value> the input file from which to read the dump ("-" for stdin)
2680
2850
 
@@ -2699,6 +2869,13 @@ FLAG DESCRIPTIONS
2699
2869
  Uncompress the dump with gzip while importing. This is useful for large databases, as it can significantly reduce
2700
2870
  the size of the dump.
2701
2871
 
2872
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2873
+
2874
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
2875
+ authenticate the connection to the server.
2876
+
2877
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
2878
+
2702
2879
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2703
2880
 
2704
2881
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -2764,15 +2941,32 @@ Forward the TCP port of a MySQL database to a local port
2764
2941
 
2765
2942
  ```
2766
2943
  USAGE
2767
- $ mw database mysql port-forward DATABASE-ID [-q] [--ssh-user <value>] [--port <value>]
2944
+ $ mw database mysql port-forward DATABASE-ID [-q] [--ssh-user <value>] [--ssh-identity-file <value>] [--port <value>]
2768
2945
 
2769
2946
  ARGUMENTS
2770
2947
  DATABASE-ID The ID or name of the database
2771
2948
 
2772
2949
  FLAGS
2773
- -q, --quiet suppress process output and only display a machine-readable summary.
2774
- --port=<value> [default: 3306] The local TCP port to forward to
2775
- --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2950
+ -q, --quiet suppress process output and only display a machine-readable summary.
2951
+ --port=<value> [default: 3306] The local TCP port to forward to
2952
+
2953
+ SSH CONNECTION FLAGS
2954
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2955
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2956
+
2957
+ DESCRIPTION
2958
+ Forward the TCP port of a MySQL database to a local port
2959
+
2960
+ This command forwards the TCP port of a MySQL database to a local port on your machine. This allows you to connect to
2961
+ the database as if it were running on your local machine.
2962
+
2963
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
2964
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
2965
+
2966
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
2967
+ authenticated mStudio user or the user specified with the --ssh-user flag.
2968
+
2969
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
2776
2970
 
2777
2971
  FLAG DESCRIPTIONS
2778
2972
  -q, --quiet suppress process output and only display a machine-readable summary.
@@ -2780,6 +2974,13 @@ FLAG DESCRIPTIONS
2780
2974
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
2781
2975
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
2782
2976
 
2977
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
2978
+
2979
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
2980
+ authenticate the connection to the server.
2981
+
2982
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
2983
+
2783
2984
  --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
2784
2985
 
2785
2986
  This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
@@ -2794,7 +2995,7 @@ Connect to a MySQL database via the MySQL shell
2794
2995
 
2795
2996
  ```
2796
2997
  USAGE
2797
- $ mw database mysql shell DATABASE-ID [-q] [-p <value>]
2998
+ $ mw database mysql shell DATABASE-ID [-q] [--ssh-user <value>] [--ssh-identity-file <value>] [-p <value>]
2798
2999
 
2799
3000
  ARGUMENTS
2800
3001
  DATABASE-ID The ID or name of the database
@@ -2803,6 +3004,23 @@ FLAGS
2803
3004
  -p, --mysql-password=<value> the password to use for the MySQL user (env: MYSQL_PWD)
2804
3005
  -q, --quiet suppress process output and only display a machine-readable summary.
2805
3006
 
3007
+ SSH CONNECTION FLAGS
3008
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
3009
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
3010
+
3011
+ DESCRIPTION
3012
+ Connect to a MySQL database via the MySQL shell
3013
+
3014
+ This command opens an interactive mysql shell to a MySQL database.
3015
+
3016
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
3017
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
3018
+
3019
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
3020
+ authenticated mStudio user or the user specified with the --ssh-user flag.
3021
+
3022
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
3023
+
2806
3024
  FLAG DESCRIPTIONS
2807
3025
  -p, --mysql-password=<value> the password to use for the MySQL user (env: MYSQL_PWD)
2808
3026
 
@@ -2816,6 +3034,20 @@ FLAG DESCRIPTIONS
2816
3034
 
2817
3035
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
2818
3036
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
3037
+
3038
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
3039
+
3040
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
3041
+ authenticate the connection to the server.
3042
+
3043
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
3044
+
3045
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
3046
+
3047
+ This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
3048
+ will be used for this.
3049
+
3050
+ You can also set this value by setting the MITTWALD_SSH_USER environment variable.
2819
3051
  ```
2820
3052
 
2821
3053
  ## `mw database mysql user delete USER-ID`
@@ -3014,7 +3246,7 @@ Connect to a Redis database via the redis-cli
3014
3246
 
3015
3247
  ```
3016
3248
  USAGE
3017
- $ mw database redis shell DATABASE-ID [-q]
3249
+ $ mw database redis shell DATABASE-ID [-q] [--ssh-user <value>] [--ssh-identity-file <value>]
3018
3250
 
3019
3251
  ARGUMENTS
3020
3252
  DATABASE-ID The ID of the database (when a project context is set, you can also use the name)
@@ -3022,11 +3254,42 @@ ARGUMENTS
3022
3254
  FLAGS
3023
3255
  -q, --quiet suppress process output and only display a machine-readable summary.
3024
3256
 
3257
+ SSH CONNECTION FLAGS
3258
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
3259
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
3260
+
3261
+ DESCRIPTION
3262
+ Connect to a Redis database via the redis-cli
3263
+
3264
+ This command opens an interactive redis-cli shell to a Redis database.
3265
+
3266
+ This command relies on connecting to your hosting environment via SSH. For this, it will use your systems SSH client
3267
+ under the hood, and will respect your SSH configuration in ~/.ssh/config.
3268
+
3269
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
3270
+ authenticated mStudio user or the user specified with the --ssh-user flag.
3271
+
3272
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
3273
+
3025
3274
  FLAG DESCRIPTIONS
3026
3275
  -q, --quiet suppress process output and only display a machine-readable summary.
3027
3276
 
3028
3277
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
3029
3278
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
3279
+
3280
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
3281
+
3282
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
3283
+ authenticate the connection to the server.
3284
+
3285
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
3286
+
3287
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
3288
+
3289
+ This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
3290
+ will be used for this.
3291
+
3292
+ You can also set this value by setting the MITTWALD_SSH_USER environment variable.
3030
3293
  ```
3031
3294
 
3032
3295
  ## `mw database redis versions`
@@ -3066,19 +3329,23 @@ Initialize a new ddev project in the current directory.
3066
3329
 
3067
3330
  ```
3068
3331
  USAGE
3069
- $ mw ddev init [INSTALLATION-ID] [-q] [--override-type <value>] [--without-database | --database-id <value>]
3070
- [--project-name <value>] [--override-mittwald-plugin <value>]
3332
+ $ mw ddev init [INSTALLATION-ID] [-q] [--override-type
3333
+ backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|python|shopware6|silverstripe|typo3|wo
3334
+ rdpress|auto] [--without-database | --database-id <value>] [--project-name <value>] [--override-mittwald-plugin
3335
+ <value>]
3071
3336
 
3072
3337
  ARGUMENTS
3073
3338
  INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
3074
3339
  in the context
3075
3340
 
3076
3341
  FLAGS
3077
- -q, --quiet suppress process output and only display a machine-readable summary.
3078
- --database-id=<value> ID of the application database
3079
- --override-type=<value> [default: auto] Override the type of the generated DDEV configuration
3080
- --project-name=<value> DDEV project name
3081
- --without-database Create a DDEV project without a database
3342
+ -q, --quiet suppress process output and only display a machine-readable summary.
3343
+ --database-id=<value> ID of the application database
3344
+ --override-type=<option> [default: auto] Override the type of the generated DDEV configuration
3345
+ <options: backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|
3346
+ python|shopware6|silverstripe|typo3|wordpress|auto>
3347
+ --project-name=<value> DDEV project name
3348
+ --without-database Create a DDEV project without a database
3082
3349
 
3083
3350
  DEVELOPMENT FLAGS
3084
3351
  --override-mittwald-plugin=<value> [default: mittwald/ddev] override the mittwald plugin
@@ -3118,7 +3385,9 @@ FLAG DESCRIPTIONS
3118
3385
  This flag allows you to override the mittwald plugin that should be installed by default; this is useful for testing
3119
3386
  purposes
3120
3387
 
3121
- --override-type=<value> Override the type of the generated DDEV configuration
3388
+ --override-type=backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|python|shopware6|silverstripe|typo3|wordpress|auto
3389
+
3390
+ Override the type of the generated DDEV configuration
3122
3391
 
3123
3392
  The type of the generated DDEV configuration; this can be any of the documented DDEV project types, or 'auto' (which
3124
3393
  is also the default) for automatic discovery.
@@ -3141,16 +3410,20 @@ Generate a DDEV configuration YAML file for the current app.
3141
3410
 
3142
3411
  ```
3143
3412
  USAGE
3144
- $ mw ddev render-config [INSTALLATION-ID] [--override-type <value>] [--without-database | --database-id <value>]
3413
+ $ mw ddev render-config [INSTALLATION-ID] [--override-type
3414
+ backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|python|shopware6|silverstripe|typo3|wo
3415
+ rdpress|auto] [--without-database | --database-id <value>]
3145
3416
 
3146
3417
  ARGUMENTS
3147
3418
  INSTALLATION-ID ID or short ID of an app installation; this argument is optional if a default app installation is set
3148
3419
  in the context
3149
3420
 
3150
3421
  FLAGS
3151
- --database-id=<value> ID of the application database
3152
- --override-type=<value> [default: auto] Override the type of the generated DDEV configuration
3153
- --without-database Create a DDEV project without a database
3422
+ --database-id=<value> ID of the application database
3423
+ --override-type=<option> [default: auto] Override the type of the generated DDEV configuration
3424
+ <options: backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|pyth
3425
+ on|shopware6|silverstripe|typo3|wordpress|auto>
3426
+ --without-database Create a DDEV project without a database
3154
3427
 
3155
3428
  DESCRIPTION
3156
3429
  Generate a DDEV configuration YAML file for the current app.
@@ -3166,7 +3439,9 @@ FLAG DESCRIPTIONS
3166
3439
  Setting a database ID (either automatically or manually) is required. To create a DDEV project without a database,
3167
3440
  set the --without-database flag.
3168
3441
 
3169
- --override-type=<value> Override the type of the generated DDEV configuration
3442
+ --override-type=backdrop|craftcms|django4|drupal6|drupal7|drupal|laravel|magento|magento2|php|python|shopware6|silverstripe|typo3|wordpress|auto
3443
+
3444
+ Override the type of the generated DDEV configuration
3170
3445
 
3171
3446
  The type of the generated DDEV configuration; this can be any of the documented DDEV project types, or 'auto' (which
3172
3447
  is also the default) for automatic discovery.
@@ -3550,7 +3825,7 @@ FLAGS
3550
3825
  -q, --quiet suppress process output and only display a machine-readable summary.
3551
3826
  --catch-all make this a catch-all mail address
3552
3827
  --[no-]enable-spam-protection enable spam protection for this mailbox
3553
- --forward-to=<value>... forward mail to another address
3828
+ --forward-to=<value>... forward mail to other addresses
3554
3829
  --password=<value> mailbox password
3555
3830
  --quota=<value> [default: 1024] mailbox quota in mebibytes
3556
3831
  --random-password generate a random password
@@ -3597,11 +3872,12 @@ FLAG DESCRIPTIONS
3597
3872
  This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
3598
3873
  scripts), you can use this flag to easily get the IDs of created resources for further processing.
3599
3874
 
3600
- --forward-to=<value>... forward mail to another address
3875
+ --forward-to=<value>... forward mail to other addresses
3601
3876
 
3602
- This flag will cause the mailbox to forward all incoming mail to the given address.
3877
+ This flag will cause the mailbox to forward all incoming mail to the given addresses. This will replace any
3878
+ forwarding addresses, that have already been set.
3603
3879
 
3604
- Note: This flag is exclusive with --catch-all, --enable-spam-protection, --quota, --password and --random-password.
3880
+ Note: This flag is exclusive with --catch-all, --quota, --password and --random-password.
3605
3881
 
3606
3882
  --password=<value> mailbox password
3607
3883
 
@@ -3691,6 +3967,80 @@ FLAG DESCRIPTIONS
3691
3967
  to persistently set a default project for all commands that accept this flag.
3692
3968
  ```
3693
3969
 
3970
+ ## `mw mail address update MAILADDRESS-ID`
3971
+
3972
+ Update a mail address
3973
+
3974
+ ```
3975
+ USAGE
3976
+ $ mw mail address update MAILADDRESS-ID [-q] [-a <value>] [--catch-all] [--quota <value>] [--password <value>]
3977
+ [--random-password] [--forward-to <value>]
3978
+
3979
+ ARGUMENTS
3980
+ MAILADDRESS-ID ID or mail address of a mailaddress
3981
+
3982
+ FLAGS
3983
+ -a, --address=<value> mail address
3984
+ -q, --quiet suppress process output and only display a machine-readable summary.
3985
+ --[no-]catch-all Change this from or to a catch-all mail address; omit to leave unchanged
3986
+ --forward-to=<value>... forward mail to other addresses
3987
+ --password=<value> mailbox password
3988
+ --quota=<value> mailbox quota in mebibytes
3989
+ --random-password generate a random password
3990
+
3991
+ DESCRIPTION
3992
+ Update a mail address
3993
+
3994
+ This command can be used to update a mail address in a project.
3995
+
3996
+ A mail address is either associated with a mailbox, or forwards to another address.
3997
+
3998
+ To set forwarding addresses, use the --forward-to flag.
3999
+
4000
+ Use the --catch-all flag to make the mailbox a catch-all mailbox.
4001
+ Use the --no-catch-all flag to make the mailbox a regular mailbox.
4002
+
4003
+ When running this command with --generated-password the output will be the newly generated and set password.
4004
+
4005
+ EXAMPLES
4006
+ Update non-interactively with password
4007
+
4008
+ $ read -s PASSWORD && \
4009
+ mw mail address update --password $PASSWORD --address foo@bar.example
4010
+
4011
+ Update non-interactively with random password
4012
+
4013
+ $ mw mail address update --random-password --address foo@bar.example
4014
+
4015
+ Set forwarding addresses
4016
+
4017
+ $ mw mail address update --address foo@bar.example --forward-to bar@bar.example --forward-to baz@bar.example
4018
+
4019
+ FLAG DESCRIPTIONS
4020
+ -q, --quiet suppress process output and only display a machine-readable summary.
4021
+
4022
+ This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
4023
+ scripts), you can use this flag to easily get the IDs of created resources for further processing.
4024
+
4025
+ --forward-to=<value>... forward mail to other addresses
4026
+
4027
+ This flag will cause the mailbox to forward all incoming mail to the given addresses. This will replace any
4028
+ forwarding addresses, that have already been set.
4029
+
4030
+ Note: This flag is exclusive with --catch-all, --no-catch-all, --quota, --password and --random-password.
4031
+
4032
+ --password=<value> mailbox password
4033
+
4034
+ If set, the mailbox will be updated to this password. If omitted, the password will remain unchanged.
4035
+
4036
+ CAUTION: providing this flag may log your password in your shell history!
4037
+
4038
+ --random-password generate a random password
4039
+
4040
+ This flag will cause the command to generate a random 32-character password for the mailbox; when running with
4041
+ --quiet, the password will be printed to stdout.
4042
+ ```
4043
+
3694
4044
  ## `mw mail deliverybox get ID`
3695
4045
 
3696
4046
  Get a specific delivery box
@@ -4634,13 +4984,41 @@ Connect to a project via SSH
4634
4984
 
4635
4985
  ```
4636
4986
  USAGE
4637
- $ mw project ssh [PROJECT-ID]
4987
+ $ mw project ssh [PROJECT-ID] [--ssh-user <value>] [--ssh-identity-file <value>]
4638
4988
 
4639
4989
  ARGUMENTS
4640
4990
  PROJECT-ID ID or short ID of a project; this argument is optional if a default project is set in the context
4641
4991
 
4992
+ SSH CONNECTION FLAGS
4993
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
4994
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
4995
+
4642
4996
  DESCRIPTION
4643
4997
  Connect to a project via SSH
4998
+
4999
+ Establishes an interactive SSH connection to a project.
5000
+
5001
+ This command is a wrapper around your systems SSH client, and will respect your SSH configuration in ~/.ssh/config.
5002
+
5003
+ An exception to this is the 'User' configuration, which will be overridden by this command to either your
5004
+ authenticated mStudio user or the user specified with the --ssh-user flag.
5005
+
5006
+ See https://linux.die.net/man/5/ssh_config for a reference on the configuration file.
5007
+
5008
+ FLAG DESCRIPTIONS
5009
+ --ssh-identity-file=<value> the SSH identity file (private key) to use for public key authentication.
5010
+
5011
+ The SSH identity file to use for the connection. This file should contain an SSH private key and will be used to
5012
+ authenticate the connection to the server.
5013
+
5014
+ You can also set this value by setting the MITTWALD_SSH_IDENTITY_FILE environment variable.
5015
+
5016
+ --ssh-user=<value> override the SSH user to connect with; if omitted, your own user will be used
5017
+
5018
+ This flag can be used to override the SSH user that is used for a connection; be default, your own personal user
5019
+ will be used for this.
5020
+
5021
+ You can also set this value by setting the MITTWALD_SSH_USER environment variable.
4644
5022
  ```
4645
5023
 
4646
5024
  ## `mw project ssh-user list`
@@ -4887,7 +5265,7 @@ EXAMPLES
4887
5265
  $ mw update --available
4888
5266
  ```
4889
5267
 
4890
- _See code: [@oclif/plugin-update](https://github.com/oclif/plugin-update/blob/v4.2.6/src/commands/update.ts)_
5268
+ _See code: [@oclif/plugin-update](https://github.com/oclif/plugin-update/blob/v4.2.11/src/commands/update.ts)_
4891
5269
 
4892
5270
  ## `mw user api-token create`
4893
5271