Skip to content

mittwald/cli

Repository files navigation

mw — the mittwald command-line tool

Synposis

mw is the command-line tool for interacting with the mittwald mStudio v2 API.

Getting started

Installation

macOS, using Homebrew

Installation using Homebrew is the recommended way of installation on macOS.

$ brew tap mittwald/cli
$ brew install mw

Windows, using the Installer

Find the appropriate Windows installer from the releases page and run the installer. After running the installer, you should be able to use the mw command on either the CMD prompt or PowerShell.

Any OS, using Node.js+NPM

Installing the CLI via NPM will work on any OS; however we cannot guarantee stability, because functionality of the CLI may depend on the Node.js runtime already installed on your system. Also, the automatic upgrade will not work when using NPM; remember to run npm upgrade -g @mittwald/cli occasionally.

$ npm install -g @mittwald/cli

Any OS, using Docker

There is also the mittwald/cli Docker image that you can use instead of installing the CLI on your system. In case of the Docker container, authentication works a bit differently than described below: Make sure that there is an environment variable MITTWALD_API_TOKEN present on your system; you can then pass that environment variable into your container:

$ export MITTWALD_API_TOKEN=<enter token here>
$ docker run --rm -it -e MITTWALD_API_TOKEN mittwald/cli help

Authentication

To use the CLI, you will need an mStudio API token. With your token in your clipboard, run the mw login token command:

$ mw login token
Enter your mStudio API token: ****************
token saved to '/Users/mhelmich/.config/mw/token'

Setting up shell autocompletion

The mw CLI offers a lot of commands and flags, and it can be hard to remember all of them. To make your life easier, the CLI offers autocompletion for the Bash and ZSH shells. To enable autocompletion, run the following command:

$ mw autocomplete

After that, follow the instructions printed by that command (those are specific to your shell -- Bash, ZSH and Powershell are supported).

Contributing

If you are a developer (either at @mittwald or an external contributor) and want to contribute to the CLI, please refer to the CONTRIBUTING.md document.

Usage

$ npm install -g @mittwald/cli
$ mw COMMAND
running command...
$ mw (--version)
@mittwald/cli/1.0.0 darwin-arm64 node-v18.11.0
$ mw --help [COMMAND]
USAGE
  $ mw COMMAND
...

Command Topics

  • mw app - Manage apps, and app installations in your projects
  • mw autocomplete - Display autocomplete installation instructions.
  • mw backup - Manage backups of your projects
  • mw context - Save certain environment parameters for later use
  • mw conversation - Manage your support cases
  • mw cronjob - Manage cronjobs of your projects
  • mw database - Manage databases (like MySQL and Redis) in your projects
  • mw ddev - Integrate your mittwald projects with DDEV
  • mw domain - Manage domains, virtual hosts and DNS settings in your projects
  • mw help - Display help for mw.
  • mw login - Manage your client authentication
  • mw mail - Manage mailboxes and mail addresses in your projects
  • mw org - Manage your organizations, and also any kinds of user memberships concerning these organizations.
  • mw project - Manage your projects, and also any kinds of user memberships concerning these projects.
  • mw server - Manage your servers
  • mw sftp-user - Manage SFTP users of your projects
  • mw ssh-user - Manage SSH users of your projects
  • mw update - update the mw CLI
  • mw user - Manage your own user account