Skip to main content

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?

Metadata

Release files for iambic-plugin-generic-git-provider 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iambic-plugin-generic-git-provider 0.1.0
File Size Uploaded
iambic_plugin_generic_git_provider-0.1.0.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iambic-plugin-generic-git-provider 0.1.0
File Interpreter ABI Platform
iambic_plugin_generic_git_provider-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.1 kB

Release files / iambic_plugin_generic_git_provider-0.1.0.tar.gz

Download URL iambic_plugin_generic_git_provider-0.1.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
43695d9183e3c60947bc1cf5e5103b400dd19a9b0439117243fff7423e5450fe
BLAKE2b-256 checksum
How to use checksums
7357d89e6c490060cf37a21331a4dc4ce06c77029461db6418dd2ad5df6c30f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.9.18 Darwin/22.5.0

Release files / iambic_plugin_generic_git_provider-0.1.0-py3-none-any.whl

Download URL iambic_plugin_generic_git_provider-0.1.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25aaec68fcfe81ef4ba1c7375b96f4510945ae2b04301da084f6a18327f44a64
BLAKE2b-256 checksum
How to use checksums
ef2e6a8b3ebf6d8b0171794ba562a85c07fd950be21b600769d3d1e68d9b6c1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.9.18 Darwin/22.5.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page