121 lines
3.4 KiB
YAML
121 lines
3.4 KiB
YAML
# Download Packs Action
|
|
# Downloads packs from various sources (git repositories, HTTP archives, or pack registry)
|
|
|
|
ref: core.download_packs
|
|
label: "Download Packs"
|
|
description: "Download packs from git repositories, HTTP archives, or pack registry to a temporary directory"
|
|
enabled: true
|
|
runner_type: shell
|
|
entry_point: download_packs.sh
|
|
|
|
# Parameter delivery: stdin for secure parameter passing (no env vars)
|
|
parameter_delivery: stdin
|
|
parameter_format: dotenv
|
|
|
|
# Output format: json (structured data parsing enabled)
|
|
output_format: json
|
|
|
|
# Action parameters schema
|
|
parameters:
|
|
type: object
|
|
properties:
|
|
packs:
|
|
type: array
|
|
description: "List of packs to download (git URLs, HTTP URLs, or pack refs)"
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
destination_dir:
|
|
type: string
|
|
description: "Destination directory for downloaded packs"
|
|
registry_url:
|
|
type: string
|
|
description: "Pack registry URL for resolving pack refs (optional)"
|
|
default: "https://registry.attune.io/index.json"
|
|
ref_spec:
|
|
type: string
|
|
description: "Git reference to checkout (branch, tag, or commit) - applies to all git URLs"
|
|
timeout:
|
|
type: integer
|
|
description: "Download timeout in seconds per pack"
|
|
default: 300
|
|
minimum: 10
|
|
maximum: 3600
|
|
verify_ssl:
|
|
type: boolean
|
|
description: "Verify SSL certificates for HTTPS downloads"
|
|
default: true
|
|
api_url:
|
|
type: string
|
|
description: "Attune API URL for making registry lookups"
|
|
default: "http://localhost:8080"
|
|
required:
|
|
- packs
|
|
- destination_dir
|
|
|
|
# Output schema: describes the JSON structure written to stdout
|
|
# Note: stdout/stderr/exit_code are captured automatically by the execution system
|
|
output_schema:
|
|
type: object
|
|
properties:
|
|
downloaded_packs:
|
|
type: array
|
|
description: "List of successfully downloaded packs"
|
|
items:
|
|
type: object
|
|
properties:
|
|
source:
|
|
type: string
|
|
description: "Original pack source (URL or ref)"
|
|
source_type:
|
|
type: string
|
|
description: "Type of source"
|
|
enum:
|
|
- git
|
|
- http
|
|
- registry
|
|
pack_path:
|
|
type: string
|
|
description: "Local filesystem path to downloaded pack"
|
|
pack_ref:
|
|
type: string
|
|
description: "Pack reference (from pack.yaml)"
|
|
pack_version:
|
|
type: string
|
|
description: "Pack version (from pack.yaml)"
|
|
git_commit:
|
|
type: string
|
|
description: "Git commit hash (for git sources)"
|
|
checksum:
|
|
type: string
|
|
description: "Directory checksum"
|
|
failed_packs:
|
|
type: array
|
|
description: "List of packs that failed to download"
|
|
items:
|
|
type: object
|
|
properties:
|
|
source:
|
|
type: string
|
|
description: "Pack source that failed"
|
|
error:
|
|
type: string
|
|
description: "Error message"
|
|
total_count:
|
|
type: integer
|
|
description: "Total number of packs requested"
|
|
success_count:
|
|
type: integer
|
|
description: "Number of packs successfully downloaded"
|
|
failure_count:
|
|
type: integer
|
|
description: "Number of packs that failed"
|
|
|
|
# Tags for categorization
|
|
tags:
|
|
- pack
|
|
- download
|
|
- git
|
|
- installation
|
|
- registry
|