Skip to main content

Run iambic inside a AWS Lambda with generic git provider that supports repository clone via https

Project description

iambic-plugin-generic-git-provider-integration

Run iambic in a AWS lambda function with any generic git provider

initial design

CEP 004 - Generic Git Provider Support

Champion

smoy

Summary

Quickly add support to other Git Provider that is not GitHub

Rationale

The GitHub integration took sometime because it uses GitHub App interaction model. Such app support is not universal in other Git providers. We want to maximize other Git provider support with minimum complexity.

The most supported mechanism is git checkout repository using https. For the sake of concrete examples, we will attempt to make this generic git provider at least support BitBucket, AWS CodeCommit and GitLab. It's not limited to just these 3 providers. A Git provider that supports git clone via https should be sufficient.

https git clone for private repository typically involves http basic auth. We recommend users use an repository scoped token for authentication. We strongly advise against using actual username, password combination. Access token is less prone to re-use across other services.

Road Map

  1. Launch import support with generic git provider.
  2. Recruit additional help to implement Git Provider specific interactions.

Git Provider specific interactions

  1. Each provider has different webhook event implementation details.
  2. Each provider has different REST API
  3. Each provider has different authentication + authorization model

Customer Experience

  1. User will still use iambic setup to install a lambda function
  2. The lambda function will be driven by AWS EventBridge to periodic import.
  3. During install, user will need to provide the following
  • username
  • token
  • clone url (must be https:// based)
  • repo full name (typically company_name/repo_name )
  • default branch name (typically main or master)

Alternative

Is there alternative considered?

Implementation

What's needed on the implementation?

Compatibility concern

Is there any compatibility concern?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file iambic_plugin_generic_git_provider-0.1.0.tar.gz.

File metadata

File hashes

Hashes for iambic_plugin_generic_git_provider-0.1.0.tar.gz
Algorithm Hash digest
SHA256 43695d9183e3c60947bc1cf5e5103b400dd19a9b0439117243fff7423e5450fe
MD5 8320185beeb9a0be81981d57fa6fb066
BLAKE2b-256 7357d89e6c490060cf37a21331a4dc4ce06c77029461db6418dd2ad5df6c30f2

See more details on using hashes here.

File details

Details for the file iambic_plugin_generic_git_provider-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iambic_plugin_generic_git_provider-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25aaec68fcfe81ef4ba1c7375b96f4510945ae2b04301da084f6a18327f44a64
MD5 556aab30e6c1aaf84d32f9e969c8b6e3
BLAKE2b-256 ef2e6a8b3ebf6d8b0171794ba562a85c07fd950be21b600769d3d1e68d9b6c1e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page