OpenAerialMap Package Inputs and Relocation
Prerequisite: ensure the local OpenAerialMap fixtures are available, unsigned public S3 access is available, and one local S3 store is running at http://127.0.0.1:19000; no registry is required.
Prepare reusable OpenAerialMap source selections
The local fixture keeps examples reproducible, while the public S3 fixture shows how provider alternates can become package inputs without copying bytes.
Filter a provider subset and build it with embedded local asset bytes
stacpkg items from-parquet openaerialmap.items.parquet --providers ODM \
| stacpkg items to-parquet openaerialmap-provider.items.parquet
stacpkg items from-parquet openaerialmap-provider.items.parquet \
| stacpkg asset-lock derive --no-probe-metadata \
| stacpkg asset-lock to-parquet openaerialmap-provider.metadata.assets.lock.parquet
stacpkg items from-parquet openaerialmap-provider.items.parquet \
| stacpkg asset-lock derive \
| stacpkg asset-lock to-parquet openaerialmap-provider.object.assets.lock.parquet
stacpkg items from-parquet openaerialmap-provider.items.parquet \
| stacpkg build openaerialmap-provider-assets.pkg \
--asset-lock <(stacpkg asset-lock from-parquet openaerialmap-provider.object.assets.lock.parquet) \
--include-assets
Package public S3 alternates without copying asset bytes
stacpkg items from-parquet openaerialmap-public-s3.items.parquet \
| stacpkg asset-lock derive \
| stacpkg asset-lock to-parquet openaerialmap-public-s3.assets.lock.parquet
stacpkg items from-parquet openaerialmap-public-s3.items.parquet \
| stacpkg build openaerialmap-public-s3.pkg \
--asset-lock <(stacpkg asset-lock from-parquet openaerialmap-public-s3.assets.lock.parquet)
Relocate fixture assets into local MinIO
stacpkg items from-parquet openaerialmap.items.parquet \
| stacpkg asset-lock derive \
| stacpkg asset-lock to-parquet openaerialmap-local.assets.lock.parquet
stacpkg asset-lock from-parquet openaerialmap-local.assets.lock.parquet \
| stacpkg asset-lock relocate \
--store-type s3 --store-container s3store1 --key reproducible-inputs/ \
--store-endpoint-url http://127.0.0.1:19000 \
| stacpkg asset-lock to-parquet openaerialmap-s3.asset-lock.parquet
stacpkg items from-parquet openaerialmap.items.parquet \
| stacpkg items add-alternate \
--asset-lock <(stacpkg asset-lock from-parquet openaerialmap-s3.asset-lock.parquet) \
--alternate-key original --alternate-name s3 \
| stacpkg items promote-alternate \
--alternate-key original --mode switch \
| stacpkg items to-parquet openaerialmap-s3-store-selection.items.parquet
Lock and package relocated source assets with object metadata
stacpkg items from-parquet openaerialmap-s3-store-selection.items.parquet \
| stacpkg asset-lock derive \
| stacpkg asset-lock to-parquet source.assets.lock.parquet
stacpkg items from-parquet openaerialmap-s3-store-selection.items.parquet \
| stacpkg build package/ \
--asset-lock <(stacpkg asset-lock from-parquet source.assets.lock.parquet)
Validate, enrich, and inspect the package
stacpkg asset-lock from-parquet package/assets.lock.parquet \
| stacpkg asset-lock validate
stacpkg items from-parquet package/items.parquet \
| stacpkg items enrich --asset-lock <(stacpkg asset-lock from-parquet package/assets.lock.parquet) \
| stacpkg items to-parquet enriched.items.parquet
stacpkg inspect package/ --format markdown