| Bootstrap complete: Created [destination] and symlink [link] |
|
|
| βοΈ Atomic deployment completed successfully to [path] |
|
|
| β Parent directory '[parent path]' does not exist. Create it first before using --init. |
4 |
π‘ Create the parent directory with `mkdir -p` before running `ssi atomic --init` |
| β --init requires the symlink to be absent, but '[path]' already exists. |
1 |
π‘ Remove the existing symlink first, or run without --init to use the existing atomic deployment setup |
| Atomic deploy requires symlink at [path] |
|
|
| π Updating symlink [link] -> [target] |
|
|
| --suffix-length [length] ignored for blue-green deployments |
|
π‘ Blue-green deployments use fixed .blue/.green suffixes β --suffix-length has no effect |
| β Cannot extract deployment directory name from: [path] |
4 |
π‘ The deployment directory path must have a valid filename component β paths ending in `..` or containing non-UTF-8 components are not valid deployment directories |
| β Cannot resolve symlink: [path] (π¬io_kind) |
1 |
π‘ The symlink may be broken or pointing to a non-existent target β check with `ls -la` |
| β System clock is before the Unix epoch β cannot generate timestamp-based suffix (clock is [error message] before epoch) |
1 |
|
| π¦ blue |
|
|
| π© green |
|
|
| Create symlink at [path] pointing to deployment directory |
|
|
| π§ Creating atomic deployment config with symlink: [link] |
|
|
| β The deploy command was invoked with no deploy_dir β the deploy path must be resolved to an absolute path before reaching this branch (programming error in router.rs) |
1 |
|
| πͺ Deployed to: [path] |
|
|
| πͺ Deploying to initial directory: [path] |
|
|
| Deploying to opposite color: [deployment color] |
|
|
| β Deployment directory already exists: [path] |
1 |
π‘ A generated deployment suffix collided with an existing directory. Use --suffix-timestamp, remove the directory if it is a stale artifact, or run again for a new random suffix. |
| Current deployment color: [deployment color] |
|
|
| β A directory-deploy operation was attempted with no deploy_dir β the deploy path must be resolved to an absolute path before reaching this branch (programming error in router.rs) |
1 |
|
| Filesystem init for blue-green cleanup failed ([path]): [error message] |
|
|
| β Filesystem initialization failed for [path] (π¬io_kind) |
4 |
π‘ Check that the path exists, the parent directory is accessible, and you have write permission |
| π² Generated [type] suffix: [deployment suffix] |
|
π‘ This value is part of the deployment directory name β keep it unique per release so runs do not collide |
| β getrandom::fill() failed β the system entropy source is unavailable, which prevents atomic-suffix generation. Error: [error message] |
1 |
|
| β Deployment base name is empty or a path component: [name] |
1 |
π‘ The deployment directory name must have a non-empty base before the suffix (e.g., 'site' in 'site.blue') β names like '.blue' or '..green' have no valid base |
| β Invalid deployment directory name: [name] |
1 |
π‘ Name must end with .blue or .green, or with a 6β40 character alphanumeric hash after '-' or '.' (e.g., site.abc123def456 or site-abc123def456) |
| πͺ§ New deployment directory: [path] |
|
|
| β Not a symlink: [path] |
1 |
π‘ Atomic deployment expects a symlink at this path β use `ssi atomic --init` to set up the symlink |
| π§Ή Old deployment already cleaned up: [path] |
|
|
| OS error during cleanup of [path]: [error message] β checking whether cleanup succeeded |
|
π‘ The directory may still exist or may have been partially removed β check file permissions and whether any process has files open |
| β Failed to remove old deployment: [path] (directory still exists, nothing removed) |
10 |
π‘ Check file permissions and whether any process has files open in the old deployment directory |
| β **CRITICAL:** Partial removal failure: [path] (directory partially removed β **manual cleanup required**) |
11 |
π‘ Manually inspect and remove the partially deleted directory β some files may still remain |
| βοΈ Old deployment [path] removed successfully |
|
|
| π§Ή Removing old deployment: [path] |
|
|
| β Deployment-suffix padding in generate_unified_suffix (helpers.rs) could not grow the base suffix to length 6 within the attempt cap β each iteration should append a random character; this loop should be unreachable (programming error in ssi-atomic). |
1 |
|
| β --suffix-length requested [current] but the maximum for random suffixes is [max] |
1 |
π‘ Use a shorter --suffix-length value, or use --suffix-timestamp instead |
| π Created symlink: [link] -> [target] |
|
|
| β Failed to read symlink metadata: [path] (π¬io_kind) |
1 |
π‘ The symlink may be broken, or you may lack permission β verify with `ls -la` on the link and its target |
| β Symlink not found: [path] |
1 |
π‘ Create the deployment symlink first with `ssi atomic --init`, or check the path for typos |
| β Symlink [path] resolves to [target], which is not a directory |
1 |
π‘ The deployment symlink must point to a directory β fix the symlink target or recreate it with `ssi atomic --init` |
| π Successfully updated symlink: [link] -> [target] |
|
|
| Failed to remove temporary symlink: [path] ([error message]) |
|
π‘ This is best-effort cleanup β the main operation may still succeed, but stale temp files may remain |
| βοΈ Validated symlink: [link] -> [target] |
|
|
| Validated symlink: [link] -> [target] |
|
|