diff --git a/CLAUDE.md b/CLAUDE.md index 26ffd0c..8d095d3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -193,7 +193,7 @@ Next.js also compiles `src/instrumentation.ts` for the Edge runtime, so Node.js- `installer/` is a standalone Bun 1.4.2 package with its own `package.json`, `bun.lock` and tests. Platform's lint, Vitest run and Docker image ignore it. -Release 1.1.0 installs in Docker mode on one x86_64 Linux host with the installer, and on Kubernetes with the Helm chart `charts/libredb-platform`, whose jobs run the installer's Kubernetes-mode code; the installer's own `preflight`, `plan`, `apply`, `verify` and `db-script` refuse `mode: kubernetes`. +Release 1.1.1 installs in Docker mode on one x86_64 Linux host with the installer, and on Kubernetes with the Helm chart `charts/libredb-platform`, whose jobs run the installer's Kubernetes-mode code; the installer's own `preflight`, `plan`, `apply`, `verify` and `db-script` refuse `mode: kubernetes`. `docs/deploy/install-docker.md` is the customer's install guide and `installer/README.md` the reference of every command and field, so a change to a command, a default or a prerequisite updates both. ```bash diff --git a/charts/libredb-platform/Chart.yaml b/charts/libredb-platform/Chart.yaml index be3e57e..077a6c1 100644 --- a/charts/libredb-platform/Chart.yaml +++ b/charts/libredb-platform/Chart.yaml @@ -8,8 +8,8 @@ type: application # The chart ships in the installer's release, so version and appVersion are both that release, whose images and # Studio chart it pins (installer/release/release.config.json, which installer/test/unit/kubernetes/chart.test.ts # compares, together with installer/package.json). -version: 1.1.0 -appVersion: "1.1.0" +version: 1.1.1 +appVersion: "1.1.1" kubeVersion: ">=1.28.0-0" home: https://libredb.org/platform/ icon: https://raw.githubusercontent.com/libredb/libredb-studio/main/public/logo.svg diff --git a/charts/libredb-platform/README.md b/charts/libredb-platform/README.md index 58aa027..b0abb16 100644 --- a/charts/libredb-platform/README.md +++ b/charts/libredb-platform/README.md @@ -10,7 +10,7 @@ It renders the values as an installation configuration of `mode: kubernetes`, wh ## Install Each installer release `installer-v` publishes the chart under the same version: as `libredb-platform-.tgz` of that GitHub release, in the Helm repository `https://libredb.org/libredb-platform/`, listed on Artifact Hub, and as an OCI artifact. -The first release with the chart is 1.1.0. +The first release with the chart is 1.1.1. ```sh helm repo add libredb-platform https://libredb.org/libredb-platform/ diff --git a/charts/libredb-platform/files/libredb-jobs.cjs.gz b/charts/libredb-platform/files/libredb-jobs.cjs.gz index 774358d..3036dfb 100644 Binary files a/charts/libredb-platform/files/libredb-jobs.cjs.gz and b/charts/libredb-platform/files/libredb-jobs.cjs.gz differ diff --git a/docs/deploy/install-docker.md b/docs/deploy/install-docker.md index 68d8d84..3d4c3fc 100644 --- a/docs/deploy/install-docker.md +++ b/docs/deploy/install-docker.md @@ -1,6 +1,6 @@ # Install LibreDB with Docker -This guide installs LibreDB 1.1.0 on one x86_64 Linux host with Docker. +This guide installs LibreDB 1.1.1 on one x86_64 Linux host with Docker. The install is tested with Docker Compose on a plain host and on a host that runs a Docker Swarm, such as one of Dokploy or CapRover. The installer, `libredb-installer`, runs on that host as root and deploys PostgreSQL, Keycloak, LibreDB Platform, LibreDB Studio and a Caddy edge as the Docker Compose project `libredb`. The guide takes the shortest path: a PostgreSQL and a Keycloak that the installer runs itself, one DNS name per app, and certificates from the installer's internal CA. @@ -62,7 +62,7 @@ The installer treats the token as a secret and never prints it, so keep the file The installer is one binary, published with a file of checksums on this repository's [GitHub releases](https://github.com/libredb/libredb-platform/releases): ```sh -V=1.1.0 +V=1.1.1 B=https://github.com/libredb/libredb-platform/releases/download/installer-v$V mkdir -p ~/libredb-$V && cd ~/libredb-$V curl -fL -O "$B/libredb-installer-linux-x64" -O "$B/SHA256SUMS" @@ -71,7 +71,7 @@ chmod 0755 libredb-installer-linux-x64 ./libredb-installer-linux-x64 version ``` -Expected: `sha256sum` prints `libredb-installer-linux-x64: OK`, and `version` prints `release 1.1.0`. +Expected: `sha256sum` prints `libredb-installer-linux-x64: OK`, and `version` prints `release 1.1.1`. `sha256sum -c` needs no account, and it shows that the download is complete and matches the release's checksums. To check that this repository's release workflow built the binary, verify its attestation with the [GitHub CLI](https://cli.github.com), which needs a GitHub login (`gh auth login`): @@ -134,7 +134,7 @@ The configuration never holds a secret or a license token itself, only the paths ## Check the host and the configuration ```sh -cd ~/libredb-1.1.0 +cd ~/libredb-1.1.1 ./libredb-installer-linux-x64 validate -c /etc/libredb/libredb.yaml ./libredb-installer-linux-x64 preflight -c /etc/libredb/libredb.yaml ./libredb-installer-linux-x64 plan -c /etc/libredb/libredb.yaml diff --git a/docs/deploy/install-kubernetes.md b/docs/deploy/install-kubernetes.md index fa4f89c..76a41e0 100644 --- a/docs/deploy/install-kubernetes.md +++ b/docs/deploy/install-kubernetes.md @@ -1,6 +1,6 @@ # Install LibreDB on Kubernetes -This guide installs LibreDB 1.1.0 on a Kubernetes cluster with the Helm chart [`charts/libredb-platform`](../../charts/libredb-platform). +This guide installs LibreDB 1.1.1 on a Kubernetes cluster with the Helm chart [`charts/libredb-platform`](../../charts/libredb-platform). The chart is tested on vanilla Kubernetes, on clusters that Rancher manages and on OpenShift 4. The chart deploys LibreDB Platform, its migrate job and LibreDB Studio under governance, and by default a PostgreSQL server and a Keycloak that it runs itself. It is the installer's Kubernetes mode driven by Helm: the chart renders its values as an installation configuration of `mode: kubernetes`, and its jobs run the installer's own code on it, so a Helm install gets the same secrets, certificates, environments, PostgreSQL provisioning and Keycloak realm as a [Docker install](install-docker.md) of the same configuration. @@ -49,7 +49,7 @@ Set `ingress.className` and `studio.ingress.className` when the cluster has no d ## Install Each installer release `installer-v` publishes the chart under the same version: as `libredb-platform-.tgz` of that GitHub release, in the Helm repository `https://libredb.org/libredb-platform/`, listed on Artifact Hub, and as an OCI artifact. -The first release with the chart is 1.1.0. +The first release with the chart is 1.1.1. ```sh helm repo add libredb-platform https://libredb.org/libredb-platform/ diff --git a/installer/package.json b/installer/package.json index de5f00f..88a41bd 100644 --- a/installer/package.json +++ b/installer/package.json @@ -1,6 +1,6 @@ { "name": "libredb-installer", - "version": "1.1.0", + "version": "1.1.1", "private": true, "license": "Elastic-2.0", "type": "module", diff --git a/installer/release/history/1.1.1.json b/installer/release/history/1.1.1.json new file mode 100644 index 0000000..7a49eeb --- /dev/null +++ b/installer/release/history/1.1.1.json @@ -0,0 +1,53 @@ +{ + "version": "1.1.1", + "images": { + "platform": { + "repository": "ghcr.io/libredb/libredb-platform", + "version": "1.1.0", + "digest": "sha256:56d89d9cbb7fde237a1e8af51bb155c276352bf1f7719f8c651b9f5b37213d92" + }, + "studio": { + "repository": "ghcr.io/libredb/libredb-studio", + "version": "1.0.0", + "digest": "sha256:0cb0177dd2789534f2dbfbc6673104ec0ce70ee82815f5fe9bec5efe3d329ce3" + }, + "keycloak": { + "repository": "quay.io/keycloak/keycloak", + "version": "26.8.1", + "digest": "sha256:79c623a22abacf3fe6c00a5fb30f5b7843d717b234033b80995891c06116d244" + }, + "postgres": { + "repository": "docker.io/library/postgres", + "version": "18.6", + "digest": "sha256:74935e72241653ca55e0414067e6d8763aceb8a810eb51b452253ec3dcfc4336" + }, + "edge": { + "repository": "docker.io/library/caddy", + "version": "2.11.7", + "digest": "sha256:685ae3d7c34d9b5f8caeddc5d14051db7bbd88ff1f5a2fa0c16bd8ca328fb7af" + } + }, + "studioChart": { + "name": "libredb-studio", + "version": "0.1.100", + "repository": "https://libredb.org/libredb-studio/", + "sha256": "f9bf702a427bfd402f1d9525ff0be0f36c5e2618a77668fc9d5562faddc890b0" + }, + "minimums": { + "dockerEngine": "28.0.0", + "compose": "2.24.0", + "kubernetes": "1.28.0" + }, + "studio": { + "logoutHintVerified": true, + "reportedVersion": "1.0.0" + }, + "contracts": { + "platformPublishes": [ + 1 + ], + "studioSupports": [ + 1 + ] + } +} diff --git a/installer/release/release.config.json b/installer/release/release.config.json index 498efd1..ee7bd1a 100644 --- a/installer/release/release.config.json +++ b/installer/release/release.config.json @@ -1,5 +1,5 @@ { - "version": "1.1.0", + "version": "1.1.1", "images": { "platform": { "repository": "ghcr.io/libredb/libredb-platform",