Skip to main content

termix snippets and termix credentials

Manage saved commands and saved logins.

termix snippets

Snippets are commands you saved so you do not have to retype them. See Snippets.

List snippets

termix snippets
termix snippets list

Create a snippet

termix snippets create --name "Restart nginx" --content "systemctl restart nginx"
termix snippets create --name "Deploy" --content-file ./deploy.sh
OptionWhat it does
--name <name>Name. Required
--content <content>The command itself
--content-file <path>Read the command from a file
--description <text>Description
--folder <folder>Folder to file it under

Give either --content or --content-file, not both. --content-file is much easier for anything more than one line.

Update a snippet

termix snippets update 5 --content "systemctl reload nginx"

Only what you pass changes. Same options as create.

Delete a snippet

termix snippets delete 5

Run a snippet

termix snippets run 5 --host 3
OptionWhat it does
--host <hostId>Host to run it on. Required
--input <NAME=VALUE>Fill in a snippet input. Repeat for more than one
termix snippets run 5 --host 3 --input ENVIRONMENT=production --input VERSION=1.4.0

Inputs must be written NAME=VALUE. The exit code is the one from the server, same as termix exec.

termix credentials

Credentials are saved logins you can attach to several hosts, so a password lives in one place. See Credentials.

List credentials

termix credentials
termix credentials list

Show one credential

termix credentials get 4

Create a credential

TERMIX_CREDENTIAL_PASSWORD='secret' termix credentials create \
--name "Deploy user" --auth-type password --username deploy
OptionWhat it does
--name <name>Name. Required
--auth-type <type>password or key. Required
--username <username>Username. Required
--description <text>Description
--folder <folder>Folder
--tags <tags>Comma separated tags
--key-file <path>Private key file, for key type
--password <password>Password. Prefer the environment variable
--key-password <passphrase>Passphrase for the key

Pass secrets with TERMIX_CREDENTIAL_PASSWORD and TERMIX_CREDENTIAL_KEY_PASSWORD instead of flags, so they stay out of your shell history and the process list.

With a key:

termix credentials create --name "Deploy key" --auth-type key \
--username deploy --key-file ~/.ssh/id_ed25519

Update and delete

termix credentials update 4 --name "Deploy user (prod)"
termix credentials delete 4

Update changes only the fields you pass.

Using a credential on a host

termix hosts create --ip 10.0.0.5 --username deploy --credential-id 4

Better than putting the password on each host, since changing it once updates every host that uses it.