Skip to content

keboola/cf-tag-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Keboola Component Tag Tracker

Tracks changes to Keboola component tags over time. Data is automatically synced hourly from the public /v2/storage endpoint and served via GitHub Pages.

API Endpoints

Base URL: https://keboola.github.io/cf-tag-tracker

Get all components (current state)

https://keboola.github.io/cf-tag-tracker/components.json

Get changes for a specific component

GET https://keboola.github.io/cf-tag-tracker/components/{component_id}.json

Example: keboola_ex-s3.json

Note: Component IDs have dots replaced with underscores in the filename (e.g., keboola.ex-s3 becomes keboola_ex-s3).

Get all changes for a specific date

GET https://keboola.github.io/cf-tag-tracker/changelog/{YYYY-MM-DD}.json

Example: 2026-01-02.json

Get changelog index (list of all dates with changes)

https://keboola.github.io/cf-tag-tracker/changelog/index.json

Data Structure

Component Change Event

{
  "observedAt": "2026-01-02T12:00:00+00:00",
  "componentId": "keboola.ex-s3",
  "componentName": "S3 Extractor",
  "componentType": "extractor",
  "changeType": "updated",
  "changes": {
    "repoTag": {
      "old": "1.2.0",
      "new": "1.3.0"
    },
    "repoDigest": {
      "old": "sha256:abc123",
      "new": "sha256:def456"
    }
  }
}

Change Types

  • added - New component appeared
  • updated - Component fields changed (tag, digest, version)
  • removed - Component was removed

Tracked Fields

  • repoTag - Docker image tag (e.g., "1.2.0")
  • repoDigest - Docker image digest (SHA256)
  • version - Internal component version number

How It Works

  1. GitHub Action runs hourly (configurable)
  2. Fetches all components from https://connection.keboola.com/v2/storage
  3. Compares with previous state to detect changes
  4. Commits changes to gh-pages branch (bypasses branch protection on main)
  5. GitHub Pages serves the data from gh-pages branch

Local Development

Run the sync script manually:

DATA_DIR=./data python .github/workflows/sync.py

Setup

After cloning, enable GitHub Pages:

  1. Go to Settings > Pages
  2. Set Source to "GitHub Actions"
  3. Run the workflow manually (Actions > Sync Component Tags > Run workflow)
  4. The workflow will create the gh-pages branch automatically on first run

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •