From 5ff4afa44dd4cdfc65b127bbd3b8bf09a60b11a2 Mon Sep 17 00:00:00 2001 From: daisy-jump <88658844+daisy-jump@users.noreply.github.com> Date: Fri, 28 Feb 2025 12:18:07 +0000 Subject: [PATCH] usync.commandline documentation --- usync/04.command/01.getStarted/01.getCom.md | 0 usync/04.command/01.getStarted/02.instCom.md | 0 .../04.command/01.getStarted/03.configCom.md | 0 .../04.command/01.getStarted/_category_.json | 8 -- usync/04.command/01.index.md | 21 +++++ usync/04.command/02.commands/01.comBasics.md | 39 --------- usync/04.command/02.commands/02.list.md | 66 ---------------- usync/04.command/02.commands/03.run.md | 74 ------------------ usync/04.command/02.commands/04.ping.md | 46 ----------- usync/04.command/02.commands/05.keyGen.md | 29 ------- usync/04.command/02.commands/_category_.json | 8 -- usync/04.command/03.coreRemote/01.info.md | 26 ------ usync/04.command/03.coreRemote/02.RebCache.md | 14 ---- usync/04.command/03.coreRemote/03.rebIndex.md | 8 -- usync/04.command/03.coreRemote/04rebMem.md | 8 -- usync/04.command/03.coreRemote/05.test.md | 0 .../04.command/03.coreRemote/_category_.json | 8 -- .../04.usyncCommands/01.usyncImp.md | 0 .../04.command/04.usyncCommands/02.usyncEx.md | 0 .../04.usyncCommands/03.usyncRep.md | 0 .../04.usyncCommands/_category_.json | 8 -- usync/04.command/05.APIuser.md | 43 ++++++++++ usync/04.command/10.Commands.md | 47 +++++++++++ usync/04.command/add-api-user.png | Bin 0 -> 6461 bytes usync/04.command/client-secret.png | Bin 0 -> 7328 bytes usync/04.command/create-api-user.png | Bin 0 -> 28368 bytes usync/04.command/secret-id-tab.png | Bin 0 -> 15414 bytes 27 files changed, 111 insertions(+), 342 deletions(-) delete mode 100644 usync/04.command/01.getStarted/01.getCom.md delete mode 100644 usync/04.command/01.getStarted/02.instCom.md delete mode 100644 usync/04.command/01.getStarted/03.configCom.md delete mode 100644 usync/04.command/01.getStarted/_category_.json create mode 100644 usync/04.command/01.index.md delete mode 100644 usync/04.command/02.commands/01.comBasics.md delete mode 100644 usync/04.command/02.commands/02.list.md delete mode 100644 usync/04.command/02.commands/03.run.md delete mode 100644 usync/04.command/02.commands/04.ping.md delete mode 100644 usync/04.command/02.commands/05.keyGen.md delete mode 100644 usync/04.command/02.commands/_category_.json delete mode 100644 usync/04.command/03.coreRemote/01.info.md delete mode 100644 usync/04.command/03.coreRemote/02.RebCache.md delete mode 100644 usync/04.command/03.coreRemote/03.rebIndex.md delete mode 100644 usync/04.command/03.coreRemote/04rebMem.md delete mode 100644 usync/04.command/03.coreRemote/05.test.md delete mode 100644 usync/04.command/03.coreRemote/_category_.json delete mode 100644 usync/04.command/04.usyncCommands/01.usyncImp.md delete mode 100644 usync/04.command/04.usyncCommands/02.usyncEx.md delete mode 100644 usync/04.command/04.usyncCommands/03.usyncRep.md delete mode 100644 usync/04.command/04.usyncCommands/_category_.json create mode 100644 usync/04.command/05.APIuser.md create mode 100644 usync/04.command/10.Commands.md create mode 100644 usync/04.command/add-api-user.png create mode 100644 usync/04.command/client-secret.png create mode 100644 usync/04.command/create-api-user.png create mode 100644 usync/04.command/secret-id-tab.png diff --git a/usync/04.command/01.getStarted/01.getCom.md b/usync/04.command/01.getStarted/01.getCom.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/01.getStarted/02.instCom.md b/usync/04.command/01.getStarted/02.instCom.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/01.getStarted/03.configCom.md b/usync/04.command/01.getStarted/03.configCom.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/01.getStarted/_category_.json b/usync/04.command/01.getStarted/_category_.json deleted file mode 100644 index 6259a3c..0000000 --- a/usync/04.command/01.getStarted/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Get Started", - "link": { - "type": "generated-index", - "title": "Get Started", - "description": "Get started with uSync.Commandline" - } -} \ No newline at end of file diff --git a/usync/04.command/01.index.md b/usync/04.command/01.index.md new file mode 100644 index 0000000..bcc02fa --- /dev/null +++ b/usync/04.command/01.index.md @@ -0,0 +1,21 @@ +--- +title: Welcome to uSync.CommandLine +--- + +# uSync.CommandLine for Umbraco v15+ + +v15 of the uSync.CommandLine utility uses the ManagementAPI (and the uSync Management API) to do the funky stuff without you having to install anything on the server. + +To install it, run this command: + +``` +dotnet tool install uSync.Cli --version 15.0.0-beta1 +``` + +To install this tool globally add -g to the command: + +``` +dotnet tool install -g uSync.Cli --version 15.0.0-beta1 +``` +Then it's time to [Create an API User](APIuser) + diff --git a/usync/04.command/02.commands/01.comBasics.md b/usync/04.command/02.commands/01.comBasics.md deleted file mode 100644 index 0e5730e..0000000 --- a/usync/04.command/02.commands/01.comBasics.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Command Basics ---- - -The uSync command has some things that are the same regardless of the commands you use. - -## Command line - -uSync commands all follow the same pattern. - -``` -uSync [command] [options] -``` - -Running `uSync -h` will give you a list of available commands. - -## Remote commands -Commands that connect to a remote server always need a way to authenticate with that server. - -At the moment there are two ways to authenticate a command: - -### Basic -Basic authentication uses an Umbraco username and password to connect to the remote server. - -``` -uSync [command] [options] -user -pass -``` - -The uSync commandline will use the supplied username and password to login to the Umbraco website. - -### HMAC -HMAC authentication uses a shared key to sign all communications between the command line and the site, this will be used to authorize the command on the Umbraco site. - -``` -uSync [command] [options] -key -``` - -The HMAC key needs to exist in the `appsettings.json` of the target site, and can be generated with the -`usync key-gen` command. \ No newline at end of file diff --git a/usync/04.command/02.commands/02.list.md b/usync/04.command/02.commands/02.list.md deleted file mode 100644 index 395744d..0000000 --- a/usync/04.command/02.commands/02.list.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: List ---- - -The List command lists all the available commands on a remote server. - -## Operation -The List command connects to a remote Umbraco installation and retrieves a list of commands that are avalible. - -## Options -*Remote connection options require a server address `-s` and ether a username `-user` and password `-pass` for basic auth or the Key `-key` if you are using HMAC auth.* - -Option | Note -|-|-| --s | URL of the server to connect to --user | Username to connect with --pass | Password of user --key | HMAC key to use for authentication - -## Example -``` -uSync list -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` - -Output -``` - *** uSync Command Line *** - -Remote commands available for https://my-server.com/umbraco : - - Info : Information about the Umbraco installation - Ping : Ping a server, returns true when server is ready - Rebuild-DbCache : Rebuilds the database cache (Expensive) - Rebuild-Index : Rebuilds an examine index - Reload-MemCache : Reloads the in-memory cache - Test : A test command, to check things work - uSync-Export : Run an uSync export - uSync-Import : Run an uSync import - uSync-Report : Run a uSync report - -For specific information on a single command : - > uSync list ... -To run a command : - > uSync run ... -``` - - -## Help - -``` -Description: - List server commands - -Usage: - uSync list [] [options] - -Arguments: - Command to get information about [] - -Options: - -s, --server (REQUIRED) Name or URL of server to connect to - -k, --key AuthKey to use when connecting to the server - -user, --username Username to use when logging into server - -pass, --password Password to use when logging into server - -?, -h, --help Show help and usage information -``` \ No newline at end of file diff --git a/usync/04.command/02.commands/03.run.md b/usync/04.command/02.commands/03.run.md deleted file mode 100644 index 03ec07f..0000000 --- a/usync/04.command/02.commands/03.run.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Run ---- - -# Operation -The Run command connects to the remote Umbraco instance and executes the given command. -It passes any parameters (supplied with the `-p` options) to the command. - -# Options -*Remote connection options require a server address `-s` and ether a username `-user` and password `-pass` for basic auth or the Key `-key` if you are using HMAC auth.* - -Option | Note -|-|-| -command | Name of the command to run --p | Parameters to add to the command --s | URL of the server to connect to --user | Username to connect with --pass | Password of user --key | HMAC key to use for authentication - -Parameters are passed either with multiple -p options or one -p option with spaces between the parameters. - -for example: - -``` --p option=value other=value2 -``` - -or -``` --p option=value -p other=value2 -``` - -# Example -``` -uSync run info -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` - -Output -``` - *** uSync Command Line *** - -{ - "version": "10.2.0", - "level": "Run", - "role": 1, - "servers": "https://localhost:44315/", - "environment": "Development", - "applicatioName": "UmbracoTenTwo", - "contentRootPath": "C:\\Source\\Testing\\Umbraco\\10\\UmbracoTenTwo" -} -``` - -# Help -``` - *** uSync Command Line *** - -Description: - Run a command against a server - -Usage: - uSync run [options] - -Arguments: - Command to issue to server - -Options: - -s, --server (REQUIRED) Name or URL of server to connect to - -p, --parameters Parameters to pass to server command - -k, --key AuthKey to use when connecting to the server - -user, --username Username to use when logging into server - -pass, --password Password to use when logging into server - -?, -h, --help Show help and usage information -``` \ No newline at end of file diff --git a/usync/04.command/02.commands/04.ping.md b/usync/04.command/02.commands/04.ping.md deleted file mode 100644 index b50d473..0000000 --- a/usync/04.command/02.commands/04.ping.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Ping ---- - -# Operation -The Ping command pings an Umbraco instance until it responds to the command (effectively the site is ready to accept more commands). - -# Options -|Option|Note -|-|-| --w | wait (timeout) between requests - -# Example -``` -uSync ping -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` - -Output -``` - *** uSync Command Line *** - -1...Timeout No connection could be made because the target machine actively refused it. (localhost:44315) -2...Timeout No connection could be made because the target machine actively refused it. (localhost:44315) -3...Timeout No connection could be made because the target machine actively refused it. (localhost:44315) -4...Successfully connected to https://localhost:44315/umbraco/ -``` - -# Help - -``` - *** uSync Command Line *** - -Description: - Ping a server until Umbraco is responding - -Usage: - uSync ping [options] - -Options: - -s, --server (REQUIRED) Name or URL of server to connect to - -w Timeout wait for each reply - -k, --key AuthKey to use when connecting to the server - -user, --username Username to use when logging into server - -pass, --password Password to use when logging into server - -?, -h, --help Show help and usage information -``` diff --git a/usync/04.command/02.commands/05.keyGen.md b/usync/04.command/02.commands/05.keyGen.md deleted file mode 100644 index 15af346..0000000 --- a/usync/04.command/02.commands/05.keyGen.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Key Gen ---- - -# Operation -Key Gen will generate a new HMAC key value that you can enter into your appsettings.json file if you want to use HMAC based authentication between your commandline and the Umbraco instance. - -``` -usync key-gen -``` - -Output -``` - *** uSync Command Line *** - -Key: iQi/kIMp5ggCc5DxOORVaA5kvuvaE8NRkB7uFxTRRLo= - -You will need to set this key in your servers appsetting.json file - -"uSync": { - "Commands": { - "Enabled": "hmac", - "key": "iQi/kIMp5ggCc5DxOORVaA5kvuvaE8NRkB7uFxTRRLo=" - } -} - -When running commands this value should make up the -key part of the command e.g - > uSync run info -s servername -k iQi/kIMp5ggCc5DxOORVaA5kvuvaE8NRkB7uFxTRRLo= -``` \ No newline at end of file diff --git a/usync/04.command/02.commands/_category_.json b/usync/04.command/02.commands/_category_.json deleted file mode 100644 index 644615c..0000000 --- a/usync/04.command/02.commands/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Commands", - "link": { - "type": "generated-index", - "title": "Commands", - "description": "Commands to run with uSync and how they work." - } -} \ No newline at end of file diff --git a/usync/04.command/03.coreRemote/01.info.md b/usync/04.command/03.coreRemote/01.info.md deleted file mode 100644 index 19e0ed6..0000000 --- a/usync/04.command/03.coreRemote/01.info.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Info ---- - -# Info -Returns information about the Umbraco installation. - -Usage : -``` -uSync run info -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` - -Output : -``` -{ - "version": "10.2.0", - "level": "Run", - "role": 1, - "servers": "https://localhost:44315/", - "environment": "Development", - "applicatioName": "UmbracoTenTwo", - "contentRootPath": "C:\\Source\\Testing\\Umbraco\\10\\UmbracoTenTwo" -} -``` - - diff --git a/usync/04.command/03.coreRemote/02.RebCache.md b/usync/04.command/03.coreRemote/02.RebCache.md deleted file mode 100644 index cf3ec6c..0000000 --- a/usync/04.command/03.coreRemote/02.RebCache.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Rebuild-DbCache ---- -Rebuild the Umbraco DbCache. - -Usage: -``` -uSync run rebuild-dbcache -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` - -Output: -``` - Database cache is ok. ContentStore contains 30 items and has 0 generation and 0 snapshot. MediaStore contains 23 items and has 0 generation and 0 snapshot. -``` \ No newline at end of file diff --git a/usync/04.command/03.coreRemote/03.rebIndex.md b/usync/04.command/03.coreRemote/03.rebIndex.md deleted file mode 100644 index 3c8755a..0000000 --- a/usync/04.command/03.coreRemote/03.rebIndex.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Rebuild-Index ---- -Rebuild an Examine index. - -``` -uSync run rebuild-Index -p index=ExternalIndex -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` \ No newline at end of file diff --git a/usync/04.command/03.coreRemote/04rebMem.md b/usync/04.command/03.coreRemote/04rebMem.md deleted file mode 100644 index 1c13500..0000000 --- a/usync/04.command/03.coreRemote/04rebMem.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Reload-MemCache ---- -Refreshes the memory cache. - -``` -uSync run Reload-MemCache -s https://my-server.com/umbraco -user user@jumoo.co.uk -pass somepassword -``` diff --git a/usync/04.command/03.coreRemote/05.test.md b/usync/04.command/03.coreRemote/05.test.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/03.coreRemote/_category_.json b/usync/04.command/03.coreRemote/_category_.json deleted file mode 100644 index ab3df51..0000000 --- a/usync/04.command/03.coreRemote/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Core Remote Commands", - "link": { - "type": "generated-index", - "title": "Core Remote Commands", - "description": " " - } -} \ No newline at end of file diff --git a/usync/04.command/04.usyncCommands/01.usyncImp.md b/usync/04.command/04.usyncCommands/01.usyncImp.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/04.usyncCommands/02.usyncEx.md b/usync/04.command/04.usyncCommands/02.usyncEx.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/04.usyncCommands/03.usyncRep.md b/usync/04.command/04.usyncCommands/03.usyncRep.md deleted file mode 100644 index e69de29..0000000 diff --git a/usync/04.command/04.usyncCommands/_category_.json b/usync/04.command/04.usyncCommands/_category_.json deleted file mode 100644 index b98f421..0000000 --- a/usync/04.command/04.usyncCommands/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "uSync.Commands", - "link": { - "type": "generated-index", - "title": "uSync.Commands", - "description": " " - } -} \ No newline at end of file diff --git a/usync/04.command/05.APIuser.md b/usync/04.command/05.APIuser.md new file mode 100644 index 0000000..df0f755 --- /dev/null +++ b/usync/04.command/05.APIuser.md @@ -0,0 +1,43 @@ +--- +title: Setting Up Umbraco for Commandline +--- + +In order to use uSync.CommandLine you have to make an API user. You can do this in the users section of Umbraco. + +![The create button in Users, showing the User and API User options in the dropdown.](add-api-user.png) + +Create the API user and add them to the relevant group! + +![Create API user tab in the users tab.](create-api-user.png) + +## Add a Client Secret and Key + +Once you have created an API user, you will need to give them a Client ID and Secret. + +![The client credentials tab.](client-secret.png) + +You will need both the Client ID and a Secret to connect via the CommandLine. + +![The create client credential window.](secret-id-tab.png) + +## Add an appsetting.json File + +You can add an appsettings.json file to the root of the folder where you are running uSync.CommandLine: + +``` +{ + "uSync": { + "Command": { + "Secret": "[CLIENT_SECRET]", + "ClientId": "[CLIENT_ID]" + } + } +} +``` +## Or Use the -k -i Settings + +Alternatively, you can pass these on the CommandLine. eg. + +`usynccli usync-ping -s https://localhost:44359 -s [client_secret] -k [client_id]` + +Once this is set up, you can use all the [Commands!](Commands) \ No newline at end of file diff --git a/usync/04.command/10.Commands.md b/usync/04.command/10.Commands.md new file mode 100644 index 0000000..6ee36c7 --- /dev/null +++ b/usync/04.command/10.Commands.md @@ -0,0 +1,47 @@ +--- +title: Available Commands +--- + +In this version we have plugged in the useful things you might need from the CommandLine. + +Rebuild indexes, models or caches, or run uSync imports or exports. + +```bash +uSync CommandLine: 15.0.0-beta1 + +Description: + +Usage: + `uSync [command] [options]` + +Options: + `--version Show version information` + `-?, -h, --help Show help and usage information` + ``` + +## What are the Commands? + +| Command | Description | +|--|--| + test | Test command + user-current | Fetch the user executing the commands + user-list | List all users + cache-rebuild | Rebuild the cache on the server + cache-reload | Reload the cache on the server + models-rebuild | Rebuild the models on the server + models-status | Get the status of the models on the server + indexer-rebuild | Rebuild the index on the server + indexer-list | List the indexes on the server + healthcheck-list | List the health checks on the server + healthcheck-group-list | List the health check groups on the server + healthcheck-group-check | Run a health check on the server + usync-settings | List all settings + usync-import | Import all items + usync-export | Export all items + usync-ping | Ping the Umbraco server until it responds + +e.g running an import: + +``` +uSyncCli usync-import -s https://myserver.com/ --force +``` diff --git a/usync/04.command/add-api-user.png b/usync/04.command/add-api-user.png new file mode 100644 index 0000000000000000000000000000000000000000..85ed4888441468164deb4499c7ac8a1d6b1a1de7 GIT binary patch literal 6461 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 X`=7@ZumRvN50I|5q1HzY$JqY?kX%vU literal 0 HcmV?d00001 diff --git a/usync/04.command/client-secret.png b/usync/04.command/client-secret.png new file mode 100644 index 0000000000000000000000000000000000000000..421c9c261a971115fbf2e8e9b0625fcb7e6038e0 GIT binary patch literal 7328 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 literal 0 HcmV?d00001 diff --git a/usync/04.command/create-api-user.png b/usync/04.command/create-api-user.png new file mode 100644 index 0000000000000000000000000000000000000000..e03ce3973467d57b3e773c62346d0e3142b05bf6 GIT binary patch literal 28368 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 literal 0 HcmV?d00001 diff --git a/usync/04.command/secret-id-tab.png b/usync/04.command/secret-id-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..213416ff34cb4a1c504f4b735a77f4b3f20aa431 GIT binary patch literal 15414 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 literal 0 HcmV?d00001