https://github.com/awslabs/cfn-ecr-aws-soci-index-builder

https://github.com/awslabs/cfn-ecr-aws-soci-index-builder

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.8%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: Go
  • Default Branch: main
  • Size: 7.71 MB
Statistics
  • Stars: 32
  • Watchers: 16
  • Forks: 21
  • Open Issues: 11
  • Releases: 0
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Codeowners

README.md

AWS SOCI Index Builder

This AWS solution automates the generation of Seekable OCI (SOCI) index artifacts and stores them in Amazon ECR. It provides an easy way for customers to try SOCI technology to lazily load container images.

Overview

The AWS SOCI Index Builder solution consists of the following components:

  1. EventBridge Rule: Triggers when an image is pushed to ECR
  2. ECR Image Action Event Filtering Lambda: Filters ECR image push events based on repository and tag patterns
  3. SOCI Index Generator Lambda: Generates SOCI index artifacts for the image and pushes them back to ECR

SOCI Index Versions

The solution supports two versions of SOCI index:

  • V1: The original SOCI index format based on the OCI referrers API
  • V2: An improved format that attaches the SOCI index to an image directly

Configuration Parameters

SociRepositoryImageTagFilters

Comma-separated list of SOCI repository image tag filters. Each filter is a repository name followed by a colon, ":" and followed by a tag. Both repository names and tags may contain wildcards denoted by an asterisk, "*".

Examples: - prod*:latest: Matches all images tagged with "latest" that are pushed to any repositories that start with "prod" - dev:*: Matches all images pushed to the "dev" repository - *:*: Matches all images pushed to all repositories in your private registry

SociIndexVersion

The version of SOCI index to generate: - V1: Original SOCI Index format - V2: Latest SOCI Index format (Recommended)

Taskcat Configuration

The solution uses taskcat for testing CloudFormation deployments across multiple regions. The .taskcat.yml file configurable options:

  • Regions: List of AWS regions where you want to deploy the stack
  • SociRepositoryImageTagFilters: Filter pattern for ECR repositories and image tags

Example configuration: ```yaml regions: - us-east-1 - us-west-2 - eu-west-1

parameters: SociRepositoryImageTagFilters: ":" ```

How It Works

  1. When an image is pushed to ECR, an EventBridge rule triggers the ECR Image Action Event Filtering Lambda
  2. The Lambda checks if the image matches the configured filters
  3. If there's a match, it invokes the SOCI Index Generator Lambda
  4. The SOCI Index Generator Lambda:
    • Pulls the image from ECR
    • Generates SOCI index artifacts using the specified version (V1 or V2)
    • Pushes the SOCI index artifacts back to ECR

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Issues event: 11
  • Watch event: 2
  • Delete event: 16
  • Issue comment event: 37
  • Push event: 16
  • Pull request review event: 42
  • Pull request review comment event: 31
  • Pull request event: 70
  • Fork event: 3
  • Create event: 17
Last Year
  • Issues event: 11
  • Watch event: 2
  • Delete event: 16
  • Issue comment event: 37
  • Push event: 16
  • Pull request review event: 42
  • Pull request review comment event: 31
  • Pull request event: 70
  • Fork event: 3
  • Create event: 17

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 4
  • Total pull requests: 39
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 2 months
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.41
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 25
Past Year
  • Issues: 4
  • Pull requests: 37
  • Average time to close issues: 2 days
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.35
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 25
Top Authors
Issue Authors
  • yusuke-takikawa-s (3)
  • sudoudaisuke (1)
Pull Request Authors
  • dependabot[bot] (25)
  • swagatbora90 (9)
  • coderbirju (3)
  • abdulrahman911 (1)
  • sondavidb (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (25) go (23) github_actions (2)