diff --git a/Design.md b/Design.md new file mode 100644 index 0000000..d4d1b75 --- /dev/null +++ b/Design.md @@ -0,0 +1,13 @@ +# Design + +## Objective + +The objective is to provide a simple capability to create a secure +archive file containiung documents to be restored and reconciled at the destination. + +The design artefacts must provide all the tools required to pack, +secure, unpack and reconcile the restored/cloned documents. + +## Technology + +PeterDocs is written as a PowerShell module and uses a 7ZIP and AWS modules. diff --git a/Install.md b/Install.md index 36ebc3f..cc1bbaa 100644 --- a/Install.md +++ b/Install.md @@ -9,37 +9,20 @@ PowerShell must be installed before you can use the PeterDocs module. ## Automated install -A generic script is available to allow you to install the required -modules. The same script can be used to exceute as a sample to -execute the actual packing, unpacking and reconciliation. +When you install ```PeterDocs``` from the PowerShell Gallery, the +required dependencies are installed for you -You can get the generic script from [Github as ptrDocs.ps1](https://raw.githubusercontent.com/meerkat-manor/ptrFiles/main/ptrDocs.ps1) - -After downloading the file, execute the script as follows to install the modules +Execute the following command to install the module under the current user ```powershell -.\ptrDocs.ps1 -Action install -Path .\ + Install-Module -Name PeterDocs -Scope CurrentUser ``` -## Manual install - -Execute the following commands to install the module under the current user - -```powershell - Install-Module -Name 7Zip4Powershell -Scope CurrentUser - Install-Module -Name AWS.Tools.Installer -Scope CurrentUser - Install-Module -Name AWS.Tools.S3 -Scope CurrentUser - Install-Module -Name Meerkat.PeterDocs -Scope CurrentUser -``` - -Execute the following commands to install the module for all users. You will +Execute the following command to install the module for all users. You will need administrator rights. ```powershell - Install-Module -Name 7Zip4Powershell -Scope AllUsers - Install-Module -Name AWS.Tools.Installer -Scope AllUsers - Install-Module -Name AWS.Tools.S3 -Scope AllUsers - Install-Module -Name Meerkat.PeterDocs -Scope AllUsers + Install-Module -Name PeterDocs -Scope AllUsers ``` ## Compress Usage diff --git a/PeterDocs/PeterDocs.psd1 b/PeterDocs/PeterDocs.psd1 index 8173f0c..d784c74 100644 Binary files a/PeterDocs/PeterDocs.psd1 and b/PeterDocs/PeterDocs.psd1 differ diff --git a/README.md b/README.md index 10e9e69..218cf56 100644 --- a/README.md +++ b/README.md @@ -76,3 +76,11 @@ You will need to have installed the 7Zip4Powershell PowerShell cmdlet before using the pack or unpack actions. You can install the cmdlet by executing .\ptrDocs.ps1 -Action install -Path ".\" + +## Further Reading + +[Design](Design.md) + +[Install](Install.md) + +[Compress](Compress.md) diff --git a/ReceiveArchive.md b/ReceiveArchive.md index 44a6c1d..f8a763d 100644 --- a/ReceiveArchive.md +++ b/ReceiveArchive.md @@ -5,6 +5,8 @@ Once the archive file is sent, you need to download it from its intermediate location if the source and destination locations are not directky connected. +You can user other tools you have available to download the archive file. + ## When The archive is received after it sent. The assunmption is that cloud storage @@ -35,7 +37,7 @@ The "s3" prefix is to download from AWS S3. The "b2" prefix is to download from Backblaze. If you are dowloading from AWS you can specify the AWS profile name -in parameter ```SourceProfile```. In this situtation the profile +in parameter ```SourceProfile```. In this situtation the profile needs to exist in the AWS credentials on your local device and user profile. If you are downloading from Backblaze you specify the ```AccountId``` and the @@ -55,7 +57,7 @@ use other tools to download the archive file and the key file. The function will not expand or reconcile the restore at the destination. -Please ensure you have sufficent storage to accomodate the local copy of the +Please ensure you have sufficent storage to accomodate the local copy of the archive and space to unpack it. ## Expand Usage diff --git a/SendArchive.md b/SendArchive.md index d89fa4b..6512e7f 100644 --- a/SendArchive.md +++ b/SendArchive.md @@ -2,8 +2,19 @@ ## Why +You need to send the archive file to the destination where it is to be restored. + +If the destination is directly accessible from your current location, and you +don't need reconciliation, then consider using other tools such as +```Robocopy``` or ```rsync```. + +You can use other tools you have available to upload the archive file to +cloud storage. + ## When +Send the archive file once it is created. + ## How To send the archive file you use the ```Send-Peter``` function. It is your choice @@ -19,11 +30,34 @@ Send-Peter -AccountId -AccountKey -LogPath - ``` +The ```ArchiveFile`` is the name of the 7ZIP archive file you created. + +The ```TargetPath``` is specified as follows: + +* s3://bucketname/path/path/archivefile.7z +* b2://bucketname/path/path/archivefile.7z + +The "s3" prefix is to upload to AWS S3. The "b2" prefix +is to upload to Backblaze. + +If you are uploading to AWS you can specify the AWS profile name +in parameter ```TargetProfile```. In this situtation the profile +needs to exist in the AWS credentials on your local device and user profile. + +If you are uploading to Backblaze you specify the ```AccountId``` and the +```AccountKey```. For better security you can save the Account Key as an +environment variable named ```PETERDOCS_ACCOUNTKEY``` + +You override the ```SecretFile``` file name location on the local device, +if it is not the default name and location. + ## What +The function will upload the archive file and key file (if applicable) to +cloud storage. + ## Receive Usage Please read next the documentation on [receiving the archive](ReceiveArchive.md)