Skip to content

Organize Astra install and release flows#67

Merged
aptend merged 4 commits into
mainfrom
add_astra_install
Jun 29, 2026
Merged

Organize Astra install and release flows#67
aptend merged 4 commits into
mainfrom
add_astra_install

Conversation

@XuPeng-SH

Copy link
Copy Markdown
Collaborator

Summary

  • add a public Astra local stack with docker compose, env/model examples, and Makefile helpers
  • document CLI install, admin register, model loading, local stack, gateway, and release flows
  • split release conventions by component: astra-cli-v* for private Astra CLI assets and astra-gateway-v* for gateway assets
  • make installer and gateway update resolve component-specific releases instead of relying on repo-wide latest

Validation

  • make lint
  • actionlint .github/workflows/release.yml
  • git diff --cached --check
  • sh -n scripts/install.sh
  • bash -n scripts/prepare-release.sh
  • cargo check -p astra-gateway --bin astra-gateway
  • cargo run -q -p astra-gateway --bin astra-gateway -- update
  • sh scripts/install.sh -n -y -v 0.0.2

Release note

Default CLI install will start working after the private astra repo publishes the first astra-cli-v release into this repo.

- Support -b/--binary for astra, astra-server, astra-edge
- Same UX: -v, -d, -y, -n, -h flags
- ghproxy fallback for mainland China users
- sha256 verification, PATH setup, shell detection

@aptend aptend left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting together the public Astra install / local-stack flow. I agree with the general direction, but I think this PR should not merge in its current shape because it changes the existing gateway install contract.

The main concern is that Astra CLI / Astra server / local stack are optional integrations for gateway, but this PR makes them take over the current public installer entrypoint. Today scripts/install.sh installs astra-gateway, and users or automation may already rely on:

curl -sSL https://raw.githubusercontent.com/matrixorigin/astra-suite/main/scripts/install.sh | sh

After this PR, the same command installs the astra CLI instead. That is a breaking semantic change and also couples gateway users to the Astra CLI release pipeline.

Please keep the gateway path stable and split the optional Astra flows out:

  • Keep scripts/install.sh as the astra-gateway installer, preserving current behavior.
  • If needed, enhance the gateway installer / astra-gateway update logic to resolve component-scoped gateway releases while still supporting legacy v* releases.
  • Add a separate installer such as scripts/install-astra.sh for the astra CLI, tracking astra-cli-v* releases and astra-v<version>-<platform>.tar.gz assets.
  • Keep the local Astra stack under deployment/astra-stack/ or behind a separate stack management script, and document it as optional.
  • Do not make the README primary flow depend on Astra CLI / MatrixOne / Memoria unless the user explicitly wants a local Astra backend.

There is also a release-readiness issue: current releases in this repo are legacy gateway releases (v0.4.0, v0.3.x, etc.). There is no astra-cli-v* release with astra-v<version>-<platform>.tar.gz assets yet. If scripts/install.sh is switched to the Astra CLI installer before that external release pipeline is ready, the documented default install command will fail immediately after merge.

In short: adding Astra CLI install and local stack support is fine, but it should be fully optional and must not interfere with the existing gateway install/update flow.

@XuPeng-SH

Copy link
Copy Markdown
Collaborator Author

Addressed the review in cd213e0.

Changes made:

  • Restored scripts/install.sh as the astra-gateway installer, preserving the existing public curl .../scripts/install.sh | sh contract.
  • Kept gateway install/update component-aware: scripts/install.sh now resolves gateway assets by astra-gateway-v* or legacy v* tags and checks asset presence instead of relying on repo-wide latest.
  • Moved the optional Astra CLI installer to scripts/install-astra.sh, tracking astra-cli-v* releases and astra-v<version>-<platform>.tar.gz assets.
  • Updated make cli-install and Astra stack docs to use scripts/install-astra.sh.
  • Reworked README/gateway docs so gateway remains the primary/default flow; Astra CLI and local stack are documented as optional backend integrations.

Validation run locally:

  • sh -n scripts/install.sh && sh -n scripts/install-astra.sh && bash -n scripts/install.sh && bash -n scripts/install-astra.sh
  • sh scripts/install.sh -n resolves the existing legacy gateway release v0.4.0
  • sh scripts/install.sh -n -v 0.4.0 resolves legacy v0.4.0 instead of a missing component tag
  • sh scripts/install-astra.sh -n -v 0.1.0 --init-models
  • make lint
  • git diff --cached --check before commit

@aptend
aptend merged commit 8c2e208 into main Jun 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants