Gemfire modules for air gapped environments
search cancel

Gemfire modules for air gapped environments

book

Article ID: 446295

calendar_today

Updated On:

Products

VMware Tanzu Data Suite VMware Tanzu Gemfire

Issue/Introduction

Customers in an air-gapped environment will have network restrictions that prevent access to the Broadcom Gemfire repository. To workaround this, you can download all the required Gemfire components following instructions provided below.

Environment

All supported Gemfire versions.

Resolution

Prerequisites: 

  1. JDK 17 or higher
  2. Maven  
  3. Broadcom repository credentials(Broadcom e-mail and registry token)

 

Procedure:

Set up a parent folder with a pom file and configure maven(.m2/settings.xml) to access Broadcom repo as shown below.

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://apache.org" 
         xmlns:xsi="http://w3.org" 
         xsi:schemaLocation="http://apache.org https://apache.org">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.broadcom.internal</groupId>
    <artifactId>gemfire-offline-downloader</artifactId>
    <version>1.0.0</version>

    <properties>
        <gemfire.version>10.2.5</gemfire.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <repositories>
        <repository>
            <id>gemfire-repository</id>
            <name>Tanzu GemFire Release Repository</name>
            <url>https://packages.broadcom.com/artifactory/gemfire/</url>
        </repository>
    </repositories>

    <dependencies>
        <!-- Core Engine Dependency -->
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-core</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <!-- Logging Subsystem Dependency -->
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-logging</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <!-- Continuous Queries (CQ) Capability Dependency -->
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-cq</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-old-client-support</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-server-all</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-gfsh</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vmware.gemfire</groupId>
            <artifactId>gemfire-wan</artifactId>
            <version>${gemfire.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.6.1</version>
                <executions>
                    <execution>
                        <id>go-offline</id>
                        <phase>package</phase>
                        <goals>
                            <goal>go-offline</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

 

 

 

<settings xmlns="http://apache.org"
          xmlns:xsi="http://w3.org"
          xsi:schemaLocation="http://apache.org https://apache.org">
  <servers>
    <server>
      <id>gemfire-repository</id>
      <username>broadcom email</username>
      <password>registry token</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>gemfire-profile</id>
      <repositories>
        <repository>
          <id>gemfire-repository</id>
          <name>Tanzu GemFire Release Repository</name>
          <url>https://packages.broadcom.com/artifactory/gemfire/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>gemfire-profile</activeProfile>
  </activeProfiles>
</settings>

2. Run the command from the parent folder     

 mvn clean package -U -s ~/.m2/settings.xml\n

3. Navigate to your global local repository root

cd ~/.m2/repository

4. Package all extracted modules into a zip file. 

zip -r ~/Desktop/gemfire-<version>-offline-maven-repo.zip