Deploy a charmed store in proxy mode

Proxy mode is the charm’s default mode. The unit must be able to reach the Snap Store to install the Enterprise Store snap and proxy device requests. For a deployment without internet access, see Deploy a charmed store in offline mode.

Prerequisites

You need Juju 3.x and a controller on a machine cloud, such as LXD. See the Juju documentation for controller setup. For a guided local deployment, follow Get started with a charmed Enterprise Store.

Register the store with store-admin against the domain that devices will use:

store-admin register https://store.example.com --output-file registration_bundle.b64

Supply the generated registration_bundle.b64 to the charm. See Registration for registration concepts.

Deploy with the Juju CLI

Charmhub currently publishes the Enterprise Store charm in the latest/edge channel. Deploy and configure it as follows:

juju deploy postgresql --channel 14/stable
juju config postgresql plugin_btree_gist_enable=true
juju deploy enterprise-store --channel edge
juju integrate postgresql:database enterprise-store:database
juju config enterprise-store \
    registration_bundle="$(cat registration_bundle.b64)"

.. note::

The charm requires PostgreSQL through the database integration. This is why btree_gist is enabled on the PostgreSQL charm so.

Run juju status --watch 5s until the Enterprise Store unit is active, then use Configure a device to use the Enterprise Store.

Deploy with a Juju bundle

Save the following as bundle.yaml, inserting the registration bundle value, and deploy it with juju deploy ./bundle.yaml:

applications:
  postgresql:
    charm: postgresql
    channel: 14/stable
    num_units: 1
    options:
      plugin_btree_gist_enable: true
  enterprise-store:
    charm: enterprise-store
    channel: edge
    num_units: 1
    options:
      registration_bundle: <registration_bundle.b64>

relations:
- - postgresql:database
  - enterprise-store:database

See the charm reference for configuration and integration details.