/dapr_offline_install

A standalone dapr installation for offline, air-gapped, or disconnected use-cases.

Primary LanguageShell

Dapr Offline Installer

A standalone dapr installation for offline, air-gapped, or disconnected use-cases.

Deprecation Notice

As of the Dapr 1.7 release, Dapr officially supports offline, air-gapped installations. As such, this repository will no longer be supported or maintained. Please refer to official Dapr documentation with guidance and support for manual, binary installation procedure.

Usage

The basic flow for using this package is as follows:

  1. Pre-stage all dapr artifacts necessary for offline installation via prestage.sh
  2. Deploy the prestaged directory generated by prestage.sh and install.sh to the desired host
  3. Install dapr via install.sh

Pre-Staging

The provided prestage.sh script bundles all artifacts necessary to install dapr in a disconnected environment. This includes dapr binaries, which will be downloaded from their respective dapr github repositories, docker images for the dapr placement service, redis, and zipkin - each pulled from their respective public docker image registries, and dapr component and configuration files located in this repository (see the components directory and config.yaml).

By default prestage.sh collects the latest dapr artifacts matching the executing host's architecture, but users may optionally provide arguments to collect artifacts for a specific dapr version and architecture.

bash prestage.sh -a [ARCHITECTURE] -v [DAPR_VERSION]

Example:

bash prestage.sh -a amd64 -v 1.5.0

Any argument not supplied will default to the host's architecture or the latest dapr release.

All artifacts will be placed in a newly created prestaged directory created at the location where prestage.sh was executed. This behavior can be modified by editing the directory in prestage.sh according to your needs.

Slim Init Mode

Additionally, this package supports pre-staging for dapr init --slim installations. Slim init pre-staging can be activated by supplying the -s argument as follows:

bash prestage.sh -s -a [ARCHITECTURE] -v [DAPR_VERSION]

Example:

bash prestage.sh -s -a amd64 -v 1.5.0

Slim init pre-staging bundles only the Dapr CLI, daprd, and placement binaries for installation.

Installation

Once dapr artifacts have been collected via prestage.sh, dapr can be installed to a suitable host environment by transfering prestaged and install.sh to that host. By default, install.sh assumes the prestaged directory is present in the directory that install.sh is being executed from. However, that can be modified by editing the directory in install.sh to meet your needs.

Dapr may then be installed on that host, without any network connectivity, via:

bash install.sh

Slim Init Mode

Additionally, this package supports offline installation for dapr init --slim installations. Assuming slim init pre-staging has occurred, slim init installation may be activated by supplying the -s argument as follows:

bash install.sh -s

Slim init installation installs only the Dapr CLI, daprd, and placement binaries.

Supported Architectures

This package currently supports the following architectures:

aarch64
amd64
arm64
x86_64

Supported Operating Systems

This package currently supports the following operating systems:

linux

Issues and Feedback

Find something that isn't working quite right? Have a feature request? Please submit and issue and I'll see what I can do to address the concern.