sudoblockio / tackle

Tackle is a programmable configuration language for building modular utilities, code generators, and CLIs with schema validation baked in.
Apache License 2.0
51 stars 2 forks source link

Remote Provider Cache #255

Open robcxyz opened 8 months ago

robcxyz commented 8 months ago

Remote Provider Cache

Create a cache for remote providers to minimize network calls to git on ever provider import

Overview

Cache Path

Imports + Change Detection

Local

Remote

Current

Sequence

Cache Schema

For providers:

.tackle.lock.yaml


tackle_version: v0.6.0  # From tackle

providers:

  - type: native

    version: v0.6.0  # When different from above, not changed

  - name: a-remote-provider

    path: org/repo

    version: v1.0

    hooks:

  - name: a-local-provider

    type: local

    path: /home/path/...

Logic:

.tackle.lock.yaml


tackle_version: v0.6.0  # From tackle

provider_dir:

providers:

  - name: collections

    path: tackle/v0.6.0/collections

  - name: console

    path: tackle/v0.6.0/console