Skip to content

CLI

Version 0.6.0

Added

  • A Global config at ~/.config/pinexq/config.toml (honouring XDG_CONFIG_HOME) holds named Profiles, each pairing an endpoint with an API key, and names a default_profile. Select one with pinexq --profile NAME or PINEXQ_PROFILE. Flags and environment variables still win; a selected Profile overrides a Project’s pinexq.toml, the default Profile does not (ADR-0007). Applies to the Resource commands, deploy, and register. See the README.

Changed

  • pinexq deploy and pinexq register report their progress as a list of steps under a pinexq banner. A spinner and a running timer show what is in progress; then each step turns into a ✓ line with what was done, the details in muted text (the image size, the functions found, the pushed image’s digest, the CPU, memory, disk and replicas each function was configured with), and the time it took, aligned on the right. Each function gets a block of its own, and the run ends with a DONE badge and a pinexq ps show <name>@<version> line per deployed function. Docker commands, image IDs and raw push status lines are printed only with --verbose, and the push shows one progress bar for the image instead of one per layer. In CI, where there is no terminal, only the outcome lines are printed.
  • A failure is marked ✗ on the step it happened in, followed by the details and a FAILED badge with the reason.
  • A --function that names no function in the image is now an error that lists the functions the image has, raised before the linux/amd64 build or any push. Before, the name was ignored.

Fixed

  • A failed docker build shows Docker’s error summary from the end of the build log instead of only Docker build failed with return code 1. --verbose still prints the whole log.
  • With --verbose, the build log no longer loses bracketed text such as the [stage-1 3/6] step labels, and the push stream no longer loses the bracketed repository name.
  • Errors reading pinexq.toml or pyproject.toml were printed with raw markup ([bold red]pinexq:[/bold red]) and could lose bracketed parts of the message. They now go to stderr, formatted.
  • The image size warning is printed once, for the image that is pushed, instead of once per build.
  • A deploy without an endpoint says so instead of failing with 'NoneType' object has no attribute 'replace'.