Package: ramp-packer
RAMPRedis Automatic Module PackagingSimilar tonpm init, this packer bundles Redis Modules for later distribution.It gathers information from modules e.g.
module's name, command list, version and additional metadata.PrerequisitesMake sure redis-server is on your PATH. GitHub actions install this automatically.exportPATH=$PATH:<PATH_TO_REDIS>InstallYou can either use pip install or the setup.py scriptpipinstallramp-packerpythonsetup.pyinstallUsageManifest moderamppack<PATH_TO_RedisModule.so>-m<PATH_TO_Manifest.yml>manifest.yml should specify your module's attributes, the ones you would specify manualy if you were to use
the Command line mode, see Full usage options and manifest.yml for a reference.Command line moderamppack<PATH_TO_RedisModule.so>-a<author>-e<email>-A<architecture>-d<description>-h<homepage>-l<license>-c<cmdargs>-r<redis-min-version>Full usage optionsUsage:ramp[OPTIONS]COMMAND[ARGS]...

Options:--helpShowthismessageandexit.

Commands:packunpackvalidateversionPackingUsage:ramppack[OPTIONS]MODULE

Options:-o,--outputTEXToutputfilename-v,--verboseverbosemode:printtheresultingmetadata-m,--manifestFILENAMEgeneratepackagefrommanifest-d,--display-nameTEXTnamefordisplaypurposes-a,--authorTEXTmoduleauthor-e,--emailTEXTauthorsemail-A,--architectureTEXTmodulecompiledoni386/x86_64arch-D,--descriptionTEXTshortdescription-h,--homepageTEXTmodulehomepage-l,--licenseTEXTlicense-c,--cmdargsTEXTmodulecommandlinearguments-r,--redis-min-versionTEXTredisminimumversion-R,--redis-pack-min-versionTEXTredispackminimumversion-cc,--config-commandTEXTcommandtoconfiguremoduleatruntime-O,--osTEXTbuildtargetOS(Darwin/Linux)-C,--capabilitiesTEXTcommaseperatedlistofmodulecapabilities--helpShowthismessageandexit.Module CapabilitiesFollowing is a list of capabilities which can be specified for a modulecapabilitydescriptiontypesmodule has its own types and not only operate on existing redis typesno_multi_keymodule has no methods that operate on multiple keysreplica_ofmodule can work with replicaof capability when it is loaded into a source or a destination databasebackup_restoremodule can work with import/export capabilityeviction_expirymodule is able to handle eviction and expiry without an issuereshard_rebalancemodule is able to operate in a database that is resharded and rebalancedfailover_migratemodule is able to operate in a database that is failing over and migratingpersistence_aofmodule is able to operate in a database when database chooses AOF persistence optionpersistence_rdbmodule is able to operate in a database when database chooses SNAPSHOT persistence optionhash_policymodule is able to operate in a database with a user defined HASH POLICYflashmodule is able to operate in a database with Flash memory is enabled or changed over timecrdbmodule is able to operate in a database with crdt for the default redis data typesclusteringmodule is able to operate in a database that is sharded and shards can be migratedintershard_tlsmodule supports two-way encrypted communication between shardsintershard_tls_passmodule supportsintershard_tlswhich requires passwordipv6module supports ipv6 communication between shardsOutputramp pack generates module.zipWhich contains:1. RedisModule.so - original module
2. Module.json - module's metadata
3. deps/ - a dir with bundle dependencies (optional)TestMake sure redis-server is on your PATHexportPATH=$PATH:<PATH_TO_REDIS>Install RAMPpythonsetup.pyinstallCompile RedisGraph for your OS v1.0.12 (https://github.com/RedisLabsModules/RedisGraph/tree/v1.0.12)Copyredisgraph.sointest_moduledirectory in the root of this project.Run testspythontest.py