Skip to content

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 18 Mar 17:40
f07ac6c

Publish

Added

  • infrastructure update — no-op that validates field immutability; raises if any body field differs from existing state
  • DuploNotFound error subclass (code 404) with optional kind label for clearer not-found messages
  • apply() now catches DuploNotFound instead of the broad DuploError, avoiding over-catching unrelated errors
  • tenant get_metadata and tenant set_metadata commands for typed key-value metadata entries (aws_console, url, text)
  • Add ecr resource for managing AWS ECR repositories (list, find, create, update, delete, apply)
  • Add cloud_resource resource exposing the unified GetCloudResources endpoint with optional --type filter
  • Bind OpenAPI models to resource commands to enable body validation and schema explanation
  • more details to readme
  • publish plugins to pypi

Fixed

  • Restored Argo Workflows enablement check — argo commands now raise a clear error when Argo is not configured on the infrastructure instead of a cryptic server 500
  • Fixed aws_secret apply failing when the secret already exists — the base V3 apply passed patches= which aws_secret.update does not accept
  • Fixed service update_otherdockerconfig --add to auto-create missing parent arrays (e.g. EnvFrom/-) when the key does not yet exist in OtherDockerConfig
  • Fixed ECS _wait_on_service not detecting stalled deployments without circuit breaker. When tasks repeatedly fail but ECS keeps the deployment IN_PROGRESS, the wait loop now checks RunningCount, PendingCount, and FailedTasks to detect the stall. Also detects rollbacks by deployment status demotion, not just RolloutState.
  • brew install duploctl --with-pip fails due to pydantic_core sdist requiring Rust toolchain in Homebrew sandbox; made duplocloud-sdk an optional dependency
  • brew install duploctl binary crashes with No module named 'duplocloud.client'; added missing hidden imports and package metadata to PyInstaller spec
  • Fixed storageclass commands (find, update, create --wait, apply) failing because names were not tenant-prefixed. Enabled prefixed=True on the resource.
  • Fixed hosts find and hosts applyname_from_body crashed with KeyError on list response items missing FriendlyName. Added custom find and apply overrides for hosts resource.
  • should not use GET cache when waiting

What's Changed

Pull Requests

Full Changelog: v0.4.2...v0.4.3

Installation

PIP PyPi:
duplocloud-client

pip install duplocloud-client==0.4.3

PIP Sdist:
The dowload below named duplocloud_client-0.4.3.tar.gz is the sdist of the package.

pip install https://github.com/duplocloud/duploctl/releases/download/v0.4.3/duplocloud_client-0.4.3.tar.gz

PIP From Source:
Install directly from the version tag on GitHub.

pip install git+https://github.com/duplocloud/duploctl.git@v0.4.3

Dockerhub:
duplocloud/duploctl:v0.4.3

docker pull duplocloud/duploctl:v0.4.3

Install CLI to Path Linux:

curl -s -L https://github.com/duplocloud/duploctl/releases/download/v0.4.3/duploctl-0.4.3-linux-amd64.tar.gz | tar xvz - -C /usr/local/bin

Homebrew single binary:

brew install duplocloud/tap/duploctl

Homebrew with PIP:

brew install duplocloud/tap/duploctl --with-pip