AWS Marketplace: License ID Injection for Standalone Helm Install?

tl;dr can I manually tell the SDK which license to use without pulling the chart from the replicated registry (and without duplicating the entire replicated injected payload)?

Today I’ve set up my application (GitHub - slackernews/slackernews) to publish a release to the AWS marketplace. My github action handles both pushing images to ecr as well as pushing the helm chart to ECR.

When installing, I’ve configured my Marketplace listing to display install instructions for several parameters

helm install slackernews \
    --namespace slackernews ./* \
    --set \
    --set slack.userToken=xoxp-REDACTED \
    --set slack.botToken=xoxb-REDACTED \
    --set slack.clientId=REDACTED \
    --set slack.clientSecret=REDACTED \
    --set slackernews.adminUserEmails=REDACTED

The issue is that Slackernews requires the replicated SDK to be running to function well, and without being installed via the Replicated registry, no license information is injected into the helm values payload.

If I were going to deliver a “Bring Your Own License” application, I could get by with just a single helm value that would inject the License ID, e.g.

    --set replicated.licenseId=$LICENSE_ID_I_GOT_FROM_SLACKERNEWS_TEAM

is something like this possible today?

Today, workflows of syncing the license or specific fields from the license without pulling the entire chart from the Replicated Registry isn’t supported.

The only workaround for this today would be to do something like the following:

  • helm pull the Helm chart using the SDK from the Replicated Registry
  • Take note of the values injected into the values.yaml by the Replicated Registry
  • Use these values in an override when installing that same chart from a different source registry

We understand this isn’t an ideal workflow, so feel free to submit a feature request for this at Replicated