Skip to content

v1.1.0

Choose a tag to compare

@shellharbor shellharbor released this 06 Oct 20:41
· 10 commits to main since this release

LaraShip v1.1.0

LaraShip now offers a Docker CLI distribution and an independent Kubernetes deployment backend alongside the native Bash toolkit. Existing Bash and Docker Compose workflows remain supported.

Docker CLI

  • Added a buildable CLI image containing LaraShip scripts, templates and dependencies.
  • Supported commands include deployment, updates, backups, activation, deactivation, removal and project listing.
  • Added preflight checks for the Linux host's Docker socket, networking, project directories, shared locks and archive paths.
  • Preserved interoperability between native Bash and container operations.
  • Added configurable private ZIP output through LARASHIP_ARCHIVE_DIR, retaining /tmp as the native Bash default.
  • Updated container project listings to inspect certificate volumes through the Docker daemon.

Kubernetes deployment

  • Added kubernetes render and kubernetes deploy for existing Laravel applications packaged into immutable images.
  • Added a multi-stage application image template with PHP, production dependencies, Redis support and graceful shutdown.
  • Generated web and queue worker Deployments, a ClusterIP Service and a dedicated migration Job.
  • Required an explicit cluster context and immutable, versioned ConfigMap and Secret references.
  • Completed migrations before applying application workloads; repeated deployments reuse the matching migration Job.
  • Validated reused Job ownership, runtime settings and execution policy.
  • Serialized deployments with a cluster Lease, retaining the lock when migration or rollout completion cannot be confirmed.
  • Supported non-root execution, a read-only root filesystem, separate startup/readiness/liveness probes and external application state.
  • Reconciled disabled workers to zero replicas.

Testing and documentation

  • Added the kubernetes.yml GitHub Actions workflow and Kubernetes README badge.
  • Extended the release gate to require successful Kubernetes checks for the exact release commit.
  • Added Docker/Kubernetes operation guides and an architecture decision record.
  • Passed 180 Bash checks, 23 Python tests, syntax checks, ShellCheck, actionlint and independent review.
  • Verified actual CLI/native lifecycle operations with PostgreSQL and MySQL.
  • Verified Laravel 12 and 13 on disposable Kubernetes 1.37.0, including migration reuse, two web replicas, worker disabling, HTTP access, Pod replacement and graceful completion of an active request during shutdown.

Compatibility and scope

The Compose CLI runner targets Linux servers with an existing Docker Engine. Native database provisioning and deletion remain native Bash operations. The CLI image is buildable from source; registry publication is separate.

Kubernetes requires a prepared application image and external database and persistent services. Existing Compose projects and database volumes are not converted automatically. Cluster backups, scheduling and Ingress/TLS remain operator-managed. Database and workload rollback are not automatic.

Local Kubernetes verification used a single-node cluster with PostgreSQL. Multi-node operation, production sizing and real external Redis, object storage and Ingress/TLS require additional validation.