You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Grant a deploy credential to a component-name pattern #3090
Deploy credentials for private sources are secret rows named deploy.<component>.<host> and granted to exact component names: components/componentSecrets.ts:342, :555 and :734 check row.grants.includes(componentName).
A PR preview is a new component for every PR. So the recipe in HarperFast/documentation#715 has an administrator do all of this by hand:
Run harper deploy setup=true provider=github project=my-app-pr-42 before each PR's preview can deploy from a private repository. The first run of every PR fails until that's done.
Rotate each active preview's own row when the token changes.
delete_secret each row after cleanup, because dropping the component leaves it behind.
Private registry builds have the same per-project step.
Proposal
Allow a deploy-credential grant to a component-name pattern, e.g. my-app-pr-*, so one dedicated, read-only preview token covers every preview of that app.
Problem
Deploy credentials for private sources are secret rows named
deploy.<component>.<host>and granted to exact component names:components/componentSecrets.ts:342,:555and:734checkrow.grants.includes(componentName).A PR preview is a new component for every PR. So the recipe in HarperFast/documentation#715 has an administrator do all of this by hand:
harper deploy setup=true provider=github project=my-app-pr-42before each PR's preview can deploy from a private repository. The first run of every PR fails until that's done.delete_secreteach row after cleanup, because dropping the component leaves it behind.Private registry builds have the same per-project step.
Proposal
my-app-pr-*, so one dedicated, read-only preview token covers every preview of that app.Done when
my-app-pr-42deploys from a private repository with a credential granted tomy-app-pr-*, with no per-PR setup.my-appdoesn't match the pattern.Part of #3042.