Package: rastless-cli
Rastless-CLIA cli for managing data and user access for the cloud application rastlessTable of ContentInstallationRunning the CLICommands OverviewAccomplishing a running systemPublish and ReleaseInstallationRequires: Python >=3.8, <4.0$pipinstallrastless-cliRastLess has to be configured before you can check if everything works. Make sure that your aws account is configured
and has access to DynamoDb and S3.You can check if everything works correctly by running:$rastlesscheck-aws-connectionIf it is not working, make sure to configure the aws connection by configuring the aws cli. You need an Access ID and a
Secret ID from aws to configure. Please check
theofficial instructionsfor further
help.Developer Installation$pipinstallpoetry
$gitclonehttps://github.com/EomapCompany/rastless-cli
$cdrastless-cli
$poetryinstallRun testspoetryrunpytesttests/-vRunning the CLIAfter installation you can run the ClI by using:$rastless--helpYou can decide if you want to upload data to the production, development or test environment.
By using the "dev" flag you upload it to development environment. By using the "test" flag you upload it to the test
environment and without a flag you upload it to the production environment.# Example development$rastless--devlist-layers# Example test$rastless--testlist-layers# Example production$rastlesslist-layersCommands OverviewCommandsadd-colormapAdd a SLD fileadd-permissionAdd a role to one or multiple layerscheck-aws-connectionCheck if cli can connect to awscreate-layerCreate layercreate-timestepCreate timestep entry and upload layer to S3 bucketdelete-colormapRemove a SLD filedelete-layerDelete a layer with all timestep entriesdelete-permissionDelete one or multiple permissionslist-layersList all layersAccomplishing a running system1. Check if you have access to the system$rastlesscheck-aws-connection2. Create a new layerAll inputs are strings. You have to take care, that the element exists in the database e.g. the colormap name.Multiple permissions can be set by using multiple -pe flags$rastlesscreate-layer-clhypos-prtur-tTurbidity-cmlog75_C2S8_32bit-uFTU-b<rgbuuid>-d"Some description"-r1-peuser#marcel-perole#hypos:full-accessIt will return a new uuid which you need to store, in order to upload timesteps to the particular layer3. Upload Timesteps for layer$rastlesscreate-timestep-d2020-01-01T15:00:00-sSENT2-l<layeruuid>-tdaily-pdeflateBreaking changesVersion 0.3The command "create-timestep" changed. Files need to be set as flag instead of normal inputNow it is possible to set multiple files per timestep by setting multiple file flags -fTo override a timestep which already exists you have to set the flag -o, otherwise you will be asked during uploading
if you really want to override itTo append new files to an existing timestep you have to set the flag -aAttention:If you append a file to an existing timestep and the filename already exists, it will be automatically
overridden
without further actionVersion 1.0.0Small naming changes:fixing naming differences timestamp => timestepdelete_layer_timestampscommand changed to =>delete_layer_timesteppermission parameter in all cli commands-pchange affectedcreate_layercommand (before: -pe)singular and plural inconsistencies (all create/ delete commands named singular)delete_layer_timesteps=>delete_layer_timestep# Before. Filepath without flagrastlesscreate-timestepfile1.tif-d2020-01-01T15:00:00-sSent2-layer-id1234-tdaily-pdeflate# Now: Single file. Flag: -frastlesscreate-timestep-ffile1.tif-d2020-01-01T15:00:00-sSent2-layer-id1234-tdaily-pdeflate# Now: Multi file. Flag: -f <file1> -f <file1>rastlesscreate-timestep-ffile1.tif-ffile2.tif-d2020-01-01T15:00:00-sSent2-layer-id1234-tdaily-pdeflate# Now: Override existing timestep. Flag: -orastlesscreate-timestep-ffile1.tif-ffile2.tif-d2020-01-01T15:00:00-sSent2-layer-id1234-tdaily-pdeflate-o# Now: Append file to existing timestep. Flag: -arastlesscreate-timestep-ffile2.tif-d2020-01-01T15:00:00-layer-id1234-pdeflate-aPublish and ReleaseWhen releasing we usesemantic versioningto define the new version tag.When pushing to master any commit message that includes #major, #minor, #patch will add a tag to the commit
with the respective version bump. If #none is contained in the merge commit message, it will skip the version bump.
When none of the above types is provided the default version bump (minor) is triggered. After the tagging a package
built and release to Pypi is triggered. If all steps were successfully a new GitHub release is created.