A CLI tool to interact with Passbolt, a Open source Password Manager for Teams
Find a file
2021-09-10 09:28:18 +02:00
.github/workflows update archiveing 2021-09-10 09:28:18 +02:00
cmd rename executable, add goreleaser 2021-09-09 15:29:34 +02:00
folder fix list folder command 2021-09-10 08:45:26 +02:00
group add group commands 2021-09-08 11:13:29 +02:00
resource rename executable, add goreleaser 2021-09-09 15:29:34 +02:00
user add user commands 2021-09-08 14:51:26 +02:00
util add password prompt 2021-09-10 08:45:54 +02:00
.gitignore update archiveing 2021-09-10 09:28:18 +02:00
.goreleaser.yml update archiveing 2021-09-10 09:28:18 +02:00
go.mod add password prompt 2021-09-10 08:45:54 +02:00
go.sum add doc command 2021-09-09 09:19:33 +02:00
LICENSE Initial commit 2021-09-08 10:42:10 +02:00
main.go add basic operational commands 2021-09-08 10:54:20 +02:00
README.md update archiveing 2021-09-10 09:28:18 +02:00
staticcheck.conf add staticcheck config 2021-09-08 10:49:44 +02:00

go-passbolt-cli

A CLI tool to interact with Passbolt, a Open source Password Manager for Teams.

If you want to do something more complicated this Go Module to Interact with Passbolt from Go might Intrest you.

Install

Via Package:

Download the Package for your OS and architecture from the Latest Release.
Install via your Distros Package manager like `dpkg -i`

Via Archive:

Download and Extract the Archive for your OS and architecture

Note: tab completion and manpages will need to be installed manually.

Via Go:

go install github.com/speatzle/go-passbolt-cli

Note: this will install the binary as go-passbolt-cli, also tab completion and manpages will be missing.

Getting Started

First you need to Setup basic information: the Server Address, your Private Key and your Password. You have these options:

  • Save it in the config file using passbolt configure --serverAddress https://passbolt.example.org --userPrivateKey 'private' --userPassword '1234'
  • Setup Enviroment Variables
  • Provide the Flags manually every time

Note: you can also just store the serverAddress and your Private Key, if your Password is not set it will prompt you for it every time

Usage

Generally the Structure of Commands is like this:

go-passbolt-cli action entity [arguments]

Action is the Action you want to perform like Creating, Updating or Deleting a Entity. Entity is a Resource(Password), Folder, User or Group that you want to apply a action to.

In Passbolt a Password is Usually Refert to as a Resource.

To Create a Resource you can do this, it will return the ID of the newly created Resource:

go-passbolt-cli create resource --name "Test Resource" --password "Strong Password"

You can then list all users:

go-passbolt-cli list user

For sharing we will need to know how we want to share, for that there are these Permission Types:

Code Meaning
1 "Read-only"
7 "Can update"
15 "Owner"
-1 Delete existing permission

Now that we have a Resource ID, know the ID's of other Users and about know about Permission Types, we can share the Resource with them:

go-passbolt-cli share resource --id id_of_resource_to_share --type type_of_permission --users id_of_user_to_share_with

Note: you can supply the the users argument multiple times to share with multiple users

For sharing with groups the --groups argument exists.

Documentation

Usage for all Subcommands is here. And is also available via man passbolt