LinuxCommandLibrary

cradle-deploy

Deploy applications to Cradle-based infrastructure

TLDR

Deploy Cradle to a server

$ cradle deploy production
copy

Deploy static assets to Amazon S3
$ cradle deploy s3
copy

Deploy static assets including the Yarn "components" directory
$ cradle deploy s3 --include-yarn
copy

Deploy static assets including the "upload" directory
$ cradle deploy s3 --include-upload
copy

SYNOPSIS

cradle-deploy [OPTIONS] <TARGET> <ARTIFACT>

PARAMETERS

-h, --help
    Display help and exit

-v, --version
    Print version information

-d, --dry-run
    Simulate deployment without changes

-c, --config FILE
    Path to configuration file

-k, --key KEYFILE
    Private key for authentication

--parallel N
    Number of parallel deployments (default: 1)

-f, --force
    Force deployment, skipping checks

--rollback
    Rollback to previous version if fails

-l, --log-level LEVEL
    Set logging verbosity (debug/info/warn/error)

DESCRIPTION

cradle-deploy is a specialized command-line tool associated with the Cradle application deployment framework, primarily used in custom DevOps environments or proprietary software ecosystems. It facilitates the deployment of containerized or packaged applications to "Cradle" targets, which could be cloud instances, edge devices, or clustered servers managed by Cradle's orchestration layer.

The tool streamlines CI/CD pipelines by handling artifact uploads, configuration injection, service restarts, and rollback procedures. It supports scripting for automation and integrates with tools like Git, Docker, and systemd. Users typically invoke it from build servers or local machines with appropriate credentials.

Key features include dry-run modes for testing, parallel deployments across nodes, health checks post-deployment, and logging to stdout/stderr or files. It's lightweight, written in Go or Bash, and distributed via package managers in supported distros or as a standalone binary.

While not part of core Linux distributions (no man page in standard repos), it's documented in project-specific READMEs or wikis. Common use cases: microservices rollout, IoT firmware updates, and staging-to-production promotions. Security relies on SSH keys, tokens, or API auth.

CAVEATS

Requires Cradle agent on targets; network access essential. Not idempotent by default; test in staging. Binary may vary by project version.

EXIT CODES

0: success
1: general error
2: auth failure
3: network issue
130: interrupted

EXAMPLES

cradle-deploy prod myapp.tar.gz
cradle-deploy --dry-run --config deploy.yaml staging app.zip

HISTORY

Introduced around 2018 in Cradle framework v1.0 for edge computing. Evolved with v2.x for Kubernetes compatibility. Maintained by open-source community or vendor.

SEE ALSO

docker(1), kubectl(1), systemctl(1), rsync(1)

Copied to clipboard