Merge pull request #16 from Coffey-Labs/github-org-coffey-labs
Rename the module to the Coffey-Labs organisation
This commit is contained in:
+2
-2
@@ -341,8 +341,8 @@ against an already-migrated store.
|
||||
whether the recreated container comes up as the server it was. That is
|
||||
what would retire the flag.
|
||||
|
||||
[#9]: https://github.com/LINUXexpert-org/stalwart-migrator/pull/9
|
||||
[#11]: https://github.com/LINUXexpert-org/stalwart-migrator/pull/11
|
||||
[#9]: https://github.com/Coffey-Labs/stalwart-migrator/pull/9
|
||||
[#11]: https://github.com/Coffey-Labs/stalwart-migrator/pull/11
|
||||
- Quota recalculation is the one step allowed to fail without failing the
|
||||
phase. Stale counters are an accounting problem; a failed cutover is one
|
||||
an operator has to respond to by restoring a machine that is otherwise
|
||||
|
||||
@@ -10,7 +10,7 @@ job](#recovery-is-your-job) before using it on anything you care about.
|
||||
|
||||
Go, standard library only — no external dependencies.
|
||||
|
||||
A companion to [**ihasmail**](https://github.com/LINUXexpert-org/ihasmail),
|
||||
A companion to [**ihasmail**](https://github.com/Coffey-Labs/ihasmail),
|
||||
a JMAP-first webmail client for Stalwart. That one is what you read your
|
||||
mail in; this one is what gets the server underneath it onto a version that
|
||||
speaks the protocol it needs.
|
||||
@@ -24,7 +24,7 @@ is the practice this project most recommends copying: see [Rehearse on a
|
||||
clone first](#rehearse-on-a-clone-first).
|
||||
|
||||
**It has also been used at a scale well past that, by someone else.**
|
||||
[@kaya-eu](https://github.com/LINUXexpert-org/stalwart-migrator/issues/1)
|
||||
[@kaya-eu](https://github.com/Coffey-Labs/stalwart-migrator/issues/1)
|
||||
reported three successful 0.15.5 → 0.16.19 migrations on three servers: a
|
||||
testing and a production instance, each 16 domains, 55 accounts and roughly
|
||||
**221 GB** of real mail, and an arm64 home server of 1.4 GB across 181
|
||||
@@ -40,7 +40,7 @@ boot](#the-store-migration-may-need-one-more-recovery-boot)), and data loss
|
||||
from booting recovery mode again *after* a completed
|
||||
migration (see [Do not boot recovery mode
|
||||
again](#do-not-boot-recovery-mode-again-afterwards)). Their full report is
|
||||
[issue #1](https://github.com/LINUXexpert-org/stalwart-migrator/issues/1).
|
||||
[issue #1](https://github.com/Coffey-Labs/stalwart-migrator/issues/1).
|
||||
|
||||
## Before you start: two things you must fix on the server
|
||||
|
||||
@@ -357,7 +357,7 @@ because getting an extra recovery boot wrong is its own hazard — see [Do
|
||||
not boot recovery mode again
|
||||
afterwards](#do-not-boot-recovery-mode-again-afterwards). If you hit
|
||||
either, that is the manual step. Reported by
|
||||
[@kaya-eu](https://github.com/LINUXexpert-org/stalwart-migrator/issues/1).
|
||||
[@kaya-eu](https://github.com/Coffey-Labs/stalwart-migrator/issues/1).
|
||||
|
||||
## A certificate that serves HTTPS may not serve the mail ports
|
||||
|
||||
@@ -373,7 +373,7 @@ certificate you are handed, not just to 443.
|
||||
|
||||
This tool does not set it for you. Like the `AcmeProvider` above, it
|
||||
should, and the supplemental plan is where it belongs. Reported by
|
||||
[@kaya-eu](https://github.com/LINUXexpert-org/stalwart-migrator/issues/1).
|
||||
[@kaya-eu](https://github.com/Coffey-Labs/stalwart-migrator/issues/1).
|
||||
|
||||
## You need a named admin account before you migrate
|
||||
|
||||
@@ -491,7 +491,7 @@ migration, use the admin API or `stalwart-cli` against the running server.
|
||||
|
||||
This is Stalwart's behaviour rather than this tool's, and it is reported
|
||||
here because this tool is where you learned the technique. Reported by
|
||||
[@kaya-eu](https://github.com/LINUXexpert-org/stalwart-migrator/issues/1).
|
||||
[@kaya-eu](https://github.com/Coffey-Labs/stalwart-migrator/issues/1).
|
||||
|
||||
### Why it works this way
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
)
|
||||
|
||||
func runPreflight(args []string) error {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/backup"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/backup"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// preservePlan lifts the run's irreplaceable inputs out of the scratch
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
func writeTemp(t *testing.T, dir, name, body string) string {
|
||||
|
||||
@@ -12,11 +12,11 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/applyplan"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/backup"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/plan"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/applyplan"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/backup"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/plan"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
)
|
||||
|
||||
// runRehearse implements `stalwart-migrate rehearse` (ARCHITECTURE.md §4.9):
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"flag"
|
||||
"fmt"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/validate"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/validate"
|
||||
)
|
||||
|
||||
// runReport prints what validation found for a run, from the checkpoint the
|
||||
|
||||
@@ -6,8 +6,8 @@ package main
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/validate"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/validate"
|
||||
)
|
||||
|
||||
// `report` re-reads what the run recorded rather than re-checking, so the
|
||||
|
||||
+10
-10
@@ -14,16 +14,16 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/applyplan"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/backup"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/cutover"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/plan"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/recovery"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/service"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stage"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/validate"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/applyplan"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/backup"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/cutover"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/plan"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/recovery"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/service"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stage"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/validate"
|
||||
)
|
||||
|
||||
// runRun implements `stalwart-migrate run`: the real migration.
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
func runStatus(args []string) error {
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"os"
|
||||
"sort"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// runTenants prints who owns what, read-only.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module github.com/LINUXexpert-org/stalwart-migrator
|
||||
module github.com/Coffey-Labs/stalwart-migrator
|
||||
|
||||
go 1.26.5
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/backup"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/backup"
|
||||
)
|
||||
|
||||
// AccountRoleOperations restores the account roles a v0.16 migration drops.
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/backup"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/backup"
|
||||
)
|
||||
|
||||
// The exact principal shape a real 0.15.5 reports.
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// Options configures a full backup pass. Which fields matter depends on
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
func TestBackupRunEndToEndAndResume(t *testing.T) {
|
||||
|
||||
@@ -12,8 +12,8 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
)
|
||||
|
||||
// ArtifactContainerDefinition is the preserved `docker inspect` of the
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// inspectJSON builds a `docker inspect` document. extra is merged into
|
||||
|
||||
@@ -16,10 +16,10 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/service"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/service"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// Artifact names this phase records. ArtifactServiceUnit is the preserved
|
||||
|
||||
@@ -14,8 +14,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/service"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/service"
|
||||
)
|
||||
|
||||
// fakeController stands in for systemd, recording call order.
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// Options configures a Checker. Every field has a conservative default
|
||||
|
||||
@@ -14,7 +14,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// writeFakeBinary creates a shell script that behaves like `stalwart
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// checkFunc is the closure Checker.Run uses to run and checkpoint one
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// The defaults the official Stalwart image gives every container made from
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"os"
|
||||
"os/exec"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/service"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/service"
|
||||
)
|
||||
|
||||
// DeploymentKind is how a Stalwart instance appears to be run, which
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// recordingLauncher stands in for a deployment that is not a local binary -
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// Options configures one full recovery-mode migration cycle: starting the
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
func TestRecoveryRunEndToEndAndResume(t *testing.T) {
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
)
|
||||
|
||||
// DefaultDockerBinary is what shells out unless a caller names another.
|
||||
|
||||
@@ -17,8 +17,8 @@ import (
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/preflight"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/preflight"
|
||||
)
|
||||
|
||||
// assetForArch maps a Go architecture to the release asset holding the
|
||||
|
||||
@@ -20,7 +20,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// tarGzWith builds a release-shaped archive containing one entry.
|
||||
|
||||
@@ -10,9 +10,9 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/recovery"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/recovery"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// BootCheckOptions configures a normal (non-recovery-mode) boot of the
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
func freePort(t *testing.T) int {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// MailboxDelta is one mailbox whose message count didn't match between the
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// jmapEnvelope mirrors the wire shape stalwartapi.Client.call() parses.
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/stalwartapi"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/stalwartapi"
|
||||
)
|
||||
|
||||
// LiveOptions describes the migrated instance cutover has just started.
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/LINUXexpert-org/stalwart-migrator/internal/checkpoint"
|
||||
"github.com/Coffey-Labs/stalwart-migrator/internal/checkpoint"
|
||||
)
|
||||
|
||||
// A run that never captured a "before" cannot be checked against one. The
|
||||
|
||||
Reference in New Issue
Block a user