Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
3c6dc2a
feat(adbc): scaffold ampup adbc subcommand
incrypto32 Jul 22, 2026
0d8168c
feat(adbc): add driver catalog and release-asset naming
incrypto32 Jul 22, 2026
b44c5e3
feat(download): verify artifact SHA-256 against release digest
incrypto32 Jul 22, 2026
cd7de49
feat(adbc): fetch, verify, and extract driver archive
incrypto32 Jul 22, 2026
6ef6e8d
feat(adbc): place driver and write manifest into version dir
incrypto32 Jul 22, 2026
1f3fd43
fix(adbc): reject non-regular archive entries
incrypto32 Jul 22, 2026
e9948ad
refactor(adbc): drop unused --jobs flag from adbc install
incrypto32 Jul 22, 2026
c7a6da0
feat(adbc): add adbc list and uninstall commands
incrypto32 Jul 22, 2026
8fea67a
fix(adbc): retry driver download on transient failure
incrypto32 Jul 22, 2026
318300d
test(adbc): cover install and uninstall end-to-end
incrypto32 Jul 22, 2026
6569282
fix(adbc): require a digest for driver assets
incrypto32 Jul 23, 2026
eb9911c
feat(adbc): add --version and require the version to be installed
incrypto32 Jul 23, 2026
2c237fc
fix(adbc): only gate installation on the version being installed
incrypto32 Jul 23, 2026
5403be6
test: serialize the tests that swap PATH
incrypto32 Jul 23, 2026
4ae8a7d
refactor(adbc): install drivers flat into the version directory
incrypto32 Jul 23, 2026
3d508b8
refactor(adbc): adopt pre-named archive library, skip license files
incrypto32 Jul 27, 2026
be148c9
docs(adbc): document ampup adbc install/list/uninstall
incrypto32 Jul 27, 2026
dd2101e
refactor(adbc): check the asset digest before downloading
incrypto32 Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 146 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,26 @@ ampup build --branch main --jobs 8
ampup update
```

### ADBC Drivers

Some amp features need an optional ADBC driver library. `ampup adbc` installs these alongside the amp binaries for a version.

```sh
# Install a driver for the active version
ampup adbc install postgresql

# Install for a specific version
ampup adbc install postgresql --version v0.1.0

# List installed drivers
ampup adbc list

# Uninstall a driver
ampup adbc uninstall postgresql
```

The driver is downloaded from the matching amp release, verified against its published checksum, and placed in the version directory. `--platform` and `--arch` override detection, the same as `install`.

## How It Works

`ampup` is a Rust-based version manager with a minimal bootstrap script for installation.
Expand All @@ -152,9 +172,10 @@ ampup update
│ └── ampd # Symlink to active version
├── versions/
│ ├── v0.1.0/
│ │ └── ampd # Binary for v0.1.0
│ │ ├── ampd # Binary for v0.1.0
│ │ └── amp-adbc-driver-<driver>.so # Optional ADBC driver (when installed)
│ └── v0.2.0/
│ └── ampd # Binary for v0.2.0
│ └── ampd # Binary for v0.2.0
└── .version # Tracks active version
```

Expand Down
3 changes: 3 additions & 0 deletions ampup/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ anyhow = "1.0.80"
clap = { version = "4.5.2", features = ["derive", "env"] }
console = "0.16"
dialoguer = "0.12"
flate2 = "1.0"
fs-err = "3.0.0"
futures = "0.3"
reqwest = { version = "0.13", default-features = false, features = [
Expand All @@ -25,6 +26,8 @@ reqwest = { version = "0.13", default-features = false, features = [
] }
semver = { version = "1.0.18", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
sha2 = "0.10"
tar = "0.4"
tempfile = "3.13.0"
tokio = { version = "1.36.0", features = [
"macros",
Expand Down
Loading
Loading