User Bundle Repos
In addition to PadogGrid's bundle repos, you can also include your own GitHub repos and other users' GitHub repos as part of the PadoGrid's catalog service. This allows PadoGrid users to share their bundles with other users.
There are two (2) ways to include GitHub repos to the bundle catalog service.
List the GitHub user names in the ~/.padogrid/setenv.sh
file found in your home directory.
vi ~/.padogrid/setenv.sh
Set the GITHUB_USERS
environment variable to a space-separated list of GitHub user names.
GITHUB_USERS="user1 user2"
You can also specify the -user
option when you run the show_bundle
and install_bundle
commands.
Show all bundles maintained by the GitHub user, user1
:
show_bundle -all -user user1
Install a bundle maintained by the GitHub user, user1
:
install_bundle -download -user user1 bundle-hazelcast-4-app-myapp-cluster-mycluster
To properly add your bundle repos to the bundle catalog service, you must follow the naming conventions described in this section. There are two (2) sets of conventions supported by PadoGrid: relaxed and predated. Staring PadoGrid 0.9.7, the relaxed conventions are the first choice and strictly enforced. The predated conventions remain fully supported till further notice but it is recommended that all predated bundles should be migrated to the relaxed conventions.
With the addition of multi-cluster support, starting from PadoGrid 0.9.7, product information must be defined in the file named, required_products.txt
and is no longer required as part of the bundle name. The bundle name, however, must start with the prefix bundle-<product_name>-
as described below.
bundle-<product_name>-<label>
where
-
<product_name>
is required and must be one ofcoherence
,computedb
,gemfire
,geode
,hadoop
,hazelcast
,jet
,kafka
,none
,redis
,snappydata
,spark
. If the bundle contains more than one (1) product then either usenone
or choose the one that is the primary product.none
is for bundles that do not emphasize products. -
<label>
is any text that uniquely and meaningfully identifies your bundle. This field can also be used to list the additional products if the bundle has more than one (1) product.
The required_products.txt
file must list the products required and their versions. If no products are required to run the bundle then this file should be empty. If this file does not exist and the version number is not part of the bundle name, then the install_bundle
command defaults to none
requiring no products. The file contents must follow the conventions shown below.
# Comments start with '#".
<product1>=<version1>,<version2>,...
<product2>=<version1>,<version2>,...
...
where
-
<product1>
is one of the following supported products names. All product names must be in lower case.
Product Name | For |
---|---|
coherence | Oracle Coherence |
computedb | TIBCO ComputeDB |
gemfire | VMWare Tanzu GemFire |
geode | Apache Geode |
hadoop | Apache Hadoop |
hazelcast | Hazelcast IMDG OSS or Enterprise |
hazelcast-enterprise | Hazelcast IMDG Enterprise |
jet | Hazelcast Jet OSS or Enterprise |
jet-enterprise | Hazelcast Jet Enterprise |
kafka | Apache Kafka |
mosquitto | Mosquitto MQTT Broker (OSS) |
none | Product not required or emphasized |
pado | Netcrest Pado |
redis | Redis |
snappydata | TIBCO SnappyData |
spark | Apache Spark |
-
<version1>
is a list of comma separated versions. A version number must start with the major version number and should include only the version part numbers that are required.
Examples - required_products.txt
# Run on all Hazelcast IMDG OSS or Enterprise 4.x.x
hazelcast=4
# Run on Hazelcast IMDG Enpterprise 3.x.x and 4.x.x
hazelcast-enterprise=3,4
# Run on Hazelcast IMDG specific versions
hazelast=3.12,4.1.1,4.2
# Run without products installed or checked. By convention, set the version number
# to 1 but it can be any positive number.
none=1
If the bundle requires more than one product then list them with versions in separate lines.
The Relaxed Conventions overrides the Predated Conventions. If the required_products.txt
file described in the previous section is not found, then PadoGrid defaults to the Predated Conventions described in this section.
❗ The naming conventions described in this section are not enforced but still supported by PadoGrid until further notice.
Each bundle must be in their own repo. The repo name must begin with the prefix bundle-
followed by the product name and a hyphen in all lower case.
bundle-<product_name>-<version>-<type>-<names>-<type>-<names>...
where
-
<product_name>
is required and must be one ofcoherence
,computedb
,gemfire
,geode
,hazelcast
,hadoop
,jet
,kafka
,none
,redis
,snappydata
,spark
.none
is for bundles that do not require a product or require more than one product. -
<version>
- Product version. It can be a major, minor, full version or combo number. For example,1
,1.12
,1.12.0
,3n4
,3.12n4.0
,3.12n4.0n4.1
etc. Use the lettern
if the bundle runs on multiple versions. If a major version is used then it is assumed that the bundle runs on all minor versions. Similarly, if a minor version is used then it is assumed that that the bundle runs on all update versions. -
<type>
is a component type. PadoGrid supported component types areapp
,cluster
,docker
,k8s
, andpod
. You can also include your own types as needed. Component types should be listed in the alphanumerical order, i.e.,app
comes beforecluster
,cluster
comes beforedocker
, and etc. -
<names>
is a hyphen separated list of the names of the component type included in the bundle. Names should not include hyphens. Use underscore to separate words if lower case is used. Names can be in mixed case.
bundle-geode-1-app-perf_test_wan-cluster-ln-ny
-
bundle-geode-1- app-perf_test_wan-cluster-ln-ny
- Geode version 1.x bundle
- bundle-geode-1- app-perf_test_wan- cluster-ln-ny
- An app named,
perf_test_wan
- An app named,
- bundle-geode-1-app-perf_test_wan- cluster-ln-ny
- Two (2) clusters named,
ln
andny
- Two (2) clusters named,
To install this bundle maintained by the GitHub user, user1
, you run the following:
install_bundle -user user1 bundle-geode-1-app-perf_test_wan-cluster-ln-ny
bundle-hazelcast-3-app-pado_dbsched-perf_test_dbsched-cluster-dbsched
-
bundle-hazelcast-3- app-pado_dbsched-perf_test_dbsched-cluster-dbsched
- Hazelcast IMDG version 3.x
- bundle-hazelcast-3- app-pado_dbsched-perf_test_dbsched- cluster-dbsched
- Two (2) apps named,
pado_dbsched
andperf_test_dbsched
- Two (2) apps named,
- bundle-hazelcast-3-app-pado_dbsched-perf_test_dbsched- cluster-dbsched
- A cluster named,
dbsched
- A cluster named,
To install this bundle maintained by the GitHub user, user1
, you run the following:
install_bundle -user user1 bundle-hazelcast-3-app-pado_dbsched-perf_test_dbsched-cluster-dbsched
PadoGrid Manual
Overview
- Home
- PadoGrid in 5 Minutes
- Quick Start
- Introduction
- Bundle Catalogs
- Building PadoGrid
- Supported Data Grid Products and Downloads
- PadoGrid Components
- Installing PadoGrid
- Root Workspaces Environments (RWEs)
- Initializing PadoGrid
- Bash Auto-Completion
- Viewing PadoGrid Summaries
- Updating Products
- Upgrading PadoGrid
- Migrating Workspaces
- PadoGrid Pods
- Kubernetes
- Docker
- Apps
- Software List
Operations
- Workspace Lifecycle Management
- Creating RWE
- Creating Workspace and Starting Cluster
- Managing Workspaces
- Understanding Workspaces
- Understanding Clusters
- Running Clusters
- Default Port Numbers
- Running Clusters Independent of PadoGrid
- Running Apps
- Understanding Groups
- Running Groups
- Understanding Bundles
- User Bundle Repos
- Using Bundle Templates
- Bundle Repo Guidelines
- User Bundle Catalogs
- Private Bundle Repos
- Gitea Repos
- Running Bundles in Container
- PadoGrid Addon Jars
- Understanding PadoGrid Pods
- Tested Vagrant Boxes
- VM-Enabled Pods
- Multitenancy
- Multitenancy Best Practices
- PadoGrid Configuration Files
Tools
Platforms
Clouds
Pado
Geode/GemFire
- Geode CLASSPATH
- Geode Kubernetes
- Geode Minikube
- Geode Minikube on WSL
- Geode Docker Compose
- Geode Grafana App
- Geode
perf_test
App - Geode WAN Example
- Geode Workspaces on VMs
- Geode on AWS EC2
- Reactivating Geode Workspaces on AWS EC2
Hazelcast/Jet
- Hazelcast CLASSPATH
- Creating Jet Workspace
- Configuring Hazelcast Addon
- HQL Query
- Hazelcast Kubernetes
- Hazelcast GKE
- Hazelcast Minikube
- Hazelcast Minikube on WSL
- Hazelcast Minishift/CDK
- Hazelcast OpenShift
- Hazelcast Docker Compose
- Hazelcast Desktop App
- Hazelcast Grafana App
- Hazelcast
jet_demo
App - Hazelcast
perf_test
App - Hazelcast WAN Example
- Hazelcast Workspaces on VMs
- Hazelcast on AWS EC2
- Reactivating Hazelcast Workspaces on AWS EC2
ComputeDB/SnappyData
Coherence
Hadoop
Kafka/Confluent
Mosquitto
- Mosquitto CLASSPATH
- Mosquitto Overview
- Installing/Building Mosquitto
- Clustering MQTT
- Cluster Archetypes
- Enabling Mosquitto SSL/TLS
- Mosquitto Docker Compose
- MQTT perf_test App
Redis
Spark