You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit abc60b4
Browse filesBrowse the repository at this point in the historyBrowse files
`update` deletes the old folder, so a running container would read
deleted files and lose what it writes. The admin guide now says to run
`stack down <id>` first and `stack up <id>` after, shows the sample
output in its real order without a commit subject, and says that a
shipped `.env` is not copied. ADR-022, the stack reference and the
operator command map say the same, and describe the held Ctrl-C and
the replaced `.source.toml`.
Copy file name to clipboardExpand all lines: docs/admin-guide.md
+15-7Lines changed: 15 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -756,6 +756,14 @@ If you do not give an id, `add` asks which extension to install. `add` never ins
756
756
757
757
> ⚠️ **Do not change the files that `add` installed.** If you change one of them, `update` stops for this extension. Files that you add to the folder are kept. To change the code of an extension, see [Extensions that you develop](#extensions-that-you-develop).
758
758
759
+
> ⚠️ **Stop a running extension before you update it.**`update` deletes the old folder. A running container then reads deleted files, and the files that it writes during the update are lost.
760
+
761
+
To stop the extension, run:
762
+
763
+
```bash
764
+
./stack down hue
765
+
```
766
+
759
767
To update all extensions that you installed with `add`, run:
760
768
761
769
```bash
@@ -771,27 +779,27 @@ To update one extension, give its id:
771
779
`update` gets the newest version of each extension from the default branch of its repository. This is the version that `./stack extensions list` compares with. Extensions from the same repository share one download. Each extension then gets one line:
`updated to` shows the newest commit of the repository. This commit can be a change to a different extension.
790
+
781
791
**What `update` does:**
782
792
783
793
1. It compares the installed version with the newest version in the repository. If they are the same, the extension is **up to date**. A change to a different extension of the same repository is not an update.
784
794
2. It checks the files that `add` or the last `update` wrote. `.source.toml` records each of these files. If one of them is changed or missing, `update` stops for this extension.
785
-
3. It writes the new version into `~/famstack-extensions/.incoming/`.
795
+
3. It writes the new version into `~/famstack-extensions/.incoming/`. It does not copy a `.env` file that the repository contains, because `./stack up` writes this file.
786
796
4. It checks the files again, in case they changed while `update` asked a question.
787
797
5. It moves all other files of the old folder into the new version. For example, it keeps the `.env` file that `./stack up` writes. It also keeps a configuration file that the README asks for. If the new version has a folder with the same name as your folder, `update` moves your files into it.
788
798
6. It puts the new folder in the place of the old folder. Then it deletes the old folder.
789
799
790
-
If a step fails, `update` puts the old folder and your files back. If it cannot put a file back, the message shows where the file is.
791
-
792
-
> ⚠️ **Run `./stack up <id>` immediately after an update.** A running extension continues to use the old files until you start it again.
800
+
If a step fails, `update` puts the old folder and your files back. If it cannot put a file back, the message shows where the file is. If you press Ctrl-C while `update` moves files, it completes the move first and then stops.
793
801
794
-
To start the extension with the new code, run:
802
+
`update` does not start the extension. To start it with the new code, run:
Copy file name to clipboardExpand all lines: docs/agent/ops.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ If a precondition is missing, `./stack` prints exactly what to do. Don't improvi
38
38
|`./stack update [<tag>]`| yes | no | moves the checkout to a release; restarts nothing, prints what to restart |
39
39
|`./stack extensions list`| yes | no | the catalog's extensions and what is installed; creates no extension dir |
40
40
|`./stack extensions add <id\|git-url> [<id>]`| refuses a second time | no | copies one extension into the first extension dir and starts nothing; warns first for any repo but the catalog (`--yes` skips only the question) |
41
-
|`./stack extensions update [<id>...]`| yes | no | replaces installed extensions with the newest version on their repo's default branch; keeps every file it did not write (`.env`, local config), refuses when a file it wrote was changed, starts nothing (`stack up <id>`applies it); warns first for any repo but the catalog (`--yes` skips only the question) |
41
+
|`./stack extensions update [<id>...]`| yes | no | replaces installed extensions with the newest version on their repo's default branch; keeps every file it did not write (`.env`, local config), refuses when a file it wrote was changed, stops and starts nothing (`stack down <id>`first, `stack up <id>` after); warns first for any repo but the catalog (`--yes` skips only the question) |
42
42
|`./stack list`| yes | no | reports state |
43
43
|`./stack status`| yes | no | runs health checks |
0 commit comments