Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(builder): add feature flag to restrict app updates #160

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dogonthehorizon
Copy link
Contributor

@dogonthehorizon dogonthehorizon commented Apr 4, 2022

Summary

Dinghy runs withs service account permissions that cannot be changed at
runtime. This can create situations where permissions for a given app
restrict actions in the UI that can be changed by Dinghy.

For this reason, we're introducing a new feature flag that, when
enabled, will restrict application and pipeline updates to the
repository that created the app/pipeline combo first. This prevents the
scenario where Team A defines a pipeline for their application, and Team
B copy/pastes their pipeline definition into a separate repository. If
not careful, this could clobber Team A's work and cause
confusion/friction in the deployment process.

This feature flag is currently only implemented for GitHub providers.

Still TODO before we can merge this PR:

  • Add tests
  • Publish Plank changes necessary for this PR to work
  • Implement permissions lock flag Not in scope for this PR
  • Upgrade dependency in armory-io/dinghy
  • Add documentation to github.com/armory/docs
  • Coordinate w/ release team

@andrewbackes
Copy link

After talking to Jason a bit about it, pipeline 'runAs' and 'Permissions' will probably also need to be ignored after all. Otherwise, any user with access to the dinghy repo can set any permission level (service account) for the pipeline.

@dogonthehorizon dogonthehorizon force-pushed the exp/lock-pipeline-updates branch 4 times, most recently from de1a657 to 9105577 Compare May 9, 2022 17:00
Dinghy runs withs service account permissions that cannot be changed at
runtime. This can create situations where permissions for a given app
restrict actions in the UI that can be changed by Dinghy.

For this reason, we're introducing a new feature flag that, when
enabled, will restrict application and pipeline updates to the
repository that created the app/pipeline combo first. This prevents the
scenario where Team A defines a pipeline for their application, and Team
B copy/pastes their pipeline definition into a separate repository. If
not careful, this could clobber Team A's work and cause
confusion/friction in the deployment process.

This feature flag is currently only implemented for GitHub providers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants