Skip to content

PiRogueToolSuite/pirogue-admin-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

pirogue-admin-client

Command line ecosystem

This CLI is organized as follows: pirogue-admin-cli <section> <action> [parameters].

The --help command can be used on every piece of the CLI, e.g:

$ pirogue-admin-client --help
# main level help
$ pirogue-admin-client system --help
# system section level help
$ pirogue-admin-client system get-configuration --help
# get-configuration command help

Available commands

Access section

pirogue-admin-client access reset-administration-token
pirogue-admin-client access get-administration-token
pirogue-admin-client access get-administration-certifcate
pirogue-admin-client access get-administration-clis
pirogue-admin-client access create-user-access
pirogue-admin-client access get-user-access <idx>
pirogue-admin-client access list-user-accesses
pirogue-admin-client access delete-user-access <idx>
pirogue-admin-client access reset-user-access-token <idx>
pirogue-admin-client access get-permission-list
pirogue-admin-client access set-user-access-permissions <idx> <permissions> [...<permissions>]

System section

pirogue-admin-client system get-configuration-tree
pirogue-admin-client system get-configuration
pirogue-admin-client system get-operating-mode
pirogue-admin-client system get-status
pirogue-admin-client system get-packages-info
pirogue-admin-client system get-hostname
pirogue-admin-client system set-hostname <hostname>
pirogue-admin-client system get-locale
pirogue-admin-client system set-locale <locale>
pirogue-admin-client system get-timezone
pirogue-admin-client system set-timezone <timezone>
pirogue-adminc-client system list-connected-devices

External network section

pirogue-admin-client external-network enable-public-access --domain <public_domain_name> --email <administration_email>
pirogue-admin-client external-network disable-public-access

VPN section

pirogue-admin-client vpn list-peers
pirogue-admin-client vpn get-peer <id>
pirogue-admin-client vpn add-peer [--comment <comment>] [--public-key <pubkey>]
pirogue-admin-client vpn delete-peer <id>

WiFi section

pirogue-admin-client wifi get-configuration
pirogue-admin-client wifi set-configuration [--ssid <ssid>] [--passphrase <password>] [--country-code <cc>]

Isolated network section

pirogue-admin-client isolated-network open-port <incoming-port> [--outgoing-port <port>]
pirogue-admin-client isolated-network close-port [--incoming-port <port>] 
pirogue-admin-client isolated-network list-open-ports

Suricata section

pirogue-admin-client suricate-rules add-source <name> <url>
pirogue-admin-client suricate-rules del-source <name>
pirogue-admin-client suricate-rules list-sources

Dashboard section

pirogue-admin-client dashboard get-configuration
pirogue-admin-client dashboard set-configuration --password <password>

Writing your own tool

pirogue-admin-client is available as python library. Here are examples to illustrate its usage.

On a pirogue system

If the tool you're writing will run directly on a PiRogue system, you to not need authentication information, PirogueAdminClientAdapter will found them for you:

from pirogue_admin_client import PirogueAdminClientAdapter

paca = PirogueAdminClientAdapter()

# Now, use it as you want
current_config_map = paca.get_configuration()

# etc ...

Remote usage

If you plan to run your tool directly, you will need administration authentication information:

from pirogue_admin_client import PirogueAdminClientAdapter

pirogue_host = 'my-pirogue-instance.pts-project.org'
pirogue_port = 50051
pirogue_admin_token = "a-long-token-to-retrieve-on-pirogue"

paca = PirogueAdminClientAdapter(
    host=pirogue_host,
    port=pirogue_port,
    token=pirogue_admin_token,)

# Then, use it as usual
current_config_map = paca.get_configuration()

# etc ...

About

PiRogue administration client

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages