Skip to content

Commit 8043539

Browse files
docs: review serverless functions upgrade instructions (#656)
* docs: review serverless functions upgrade instructions Signed-off-by: David Dal Busco <david.dalbusco@outlook.com> * 📄 Update LLMs.txt snapshot for PR review --------- Signed-off-by: David Dal Busco <david.dalbusco@outlook.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 3aa1a70 commit 8043539

4 files changed

Lines changed: 66 additions & 15 deletions

File tree

.llms-snapshots/llms-full.txt

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2261,19 +2261,19 @@ With this setup, only `on_set_doc` and `assert_set_doc` must be implemented with
22612261

22622262
---
22632263

2264-
## Maintenance
2264+
## Upgrade
22652265

22662266
After deployment, keeping your Satellite functional and optimized requires ongoing monitoring and updates. Staying up to date is also a key factor, as we may introduce new features that need to be integrated into your Satellite to ensure full functionality within the Juno Console.
22672267

2268-
Since your project includes all Satellite features using `include_satellite!();`, it's essential to stay in sync with Junos updates to maintain compatibility.
2268+
Since your project includes all Satellite features using `include_satellite!();`, it's essential to stay in sync with Juno's updates to maintain compatibility.
22692269

2270-
**Caution:**
2270+
**Important:**
22712271

2272-
Always upgrade iteratively and avoid skipping version numbers. While we strive to minimize breaking changes, it's crucial to upgrade through each released version sequentially.
2272+
If your Satellite includes custom serverless functions, **do not upgrade through the Juno Console**. The Console upgrade replaces your Satellite with the stock version, which would overwrite your custom code.
22732273

2274-
For example, if you're on **v0.0.23** and the latest release is **v0.0.26**, first upgrade to **v0.0.24**, then **v0.0.25**, and finally **v0.0.26**. Skipping versions could lead to unexpected issues.
2274+
When the Console notifies you of a new version, use it as a reminder to update your dependencies and redeploy your custom build, as described below.
22752275

2276-
### Updating Your Satellite
2276+
### What to do
22772277

22782278
To upgrade your Satellite, bump the dependencies in your `Cargo.toml` file located in `/src/satellite/`. The key dependencies to check and update are:
22792279

@@ -2285,10 +2285,18 @@ To upgrade your Satellite, bump the dependencies in your `Cargo.toml` file locat
22852285

22862286
If other crates in your project depend on these, they should also be upgraded accordingly.
22872287

2288+
Once updated, build your functions and redeploy using the CLI or the GitHub Actions flow.
2289+
22882290
The recommended versions for each release can be found in the [changelog](/changelog) or [release notes on GitHub](https://github.com/junobuild/juno/releases).
22892291

22902292
If you need assistance, feel free to reach out through the available support channels.
22912293

2294+
**Caution:**
2295+
2296+
Always upgrade iteratively and avoid skipping version numbers. While we strive to minimize breaking changes, it's crucial to upgrade through each released version sequentially.
2297+
2298+
For example, if you're on **v0.0.23** and the latest release is **v0.0.26**, first upgrade to **v0.0.24**, then **v0.0.25**, and finally **v0.0.26**. Skipping versions could lead to unexpected issues.
2299+
22922300
---
22932301

22942302
## Versioning
@@ -2325,12 +2333,28 @@ This page covers advanced options for writing serverless functions in TypeScript
23252333

23262334
---
23272335

2328-
## Maintenance
2336+
## Upgrade
23292337

23302338
Since your project includes all Satellite features, it's essential to stay in sync with Juno’s updates to maintain compatibility.
23312339

23322340
Always check the [releases](https://github.com/junobuild/juno/releases) page for the latest changes, and update your local container image (source [repo](https://github.com/junobuild/juno-docker)) accordingly to ensure you're running the latest runtime and features.
23332341

2342+
**Important:**
2343+
2344+
If your Satellite includes custom serverless functions, **do not upgrade through the Juno Console**. The Console upgrade replaces your Satellite with the stock version, which would overwrite your custom code.
2345+
2346+
When the Console notifies you of a new version, use it as a reminder to update your dependencies and redeploy your custom build, as described below.
2347+
2348+
### What to do
2349+
2350+
The most important step is to keep your local Docker image up to date by pulling the latest version. The entire toolchain is shipped within the emulator, so you don't have to install additional tools on your machine, but it also means the image needs to stay current.
2351+
2352+
Check the [releases](https://github.com/junobuild/juno/releases) page to know when a new image is available.
2353+
2354+
If a release also includes updates to the JavaScript library, bump the relevant package in your project accordingly.
2355+
2356+
If you deploy with GitHub Actions, your workflow always inherits the latest image, so triggering a new CI run is enough to stay up to date, unless you have pinned a specific action version, in which case update it to `latest`.
2357+
23342358
**Caution:**
23352359

23362360
Always upgrade iteratively and avoid skipping version numbers. While we strive to minimize breaking changes, it's crucial to upgrade through each released version sequentially.
@@ -8999,7 +9023,7 @@ For most applications, we recommend using the default subnets and staying on the
89999023

90009024
| Subnet ID | Type | Canisters (Running/Stopped) | Nodes (Up/Total) |
90019025
| --- | --- | --- | --- |
9002-
| 6pbhf-qzpdk-kuqbr-pklfa-5ehhf-jfjps-zsj6q-57nrl-kzhpd-mu7hc-vae | Juno's Subnet | 36101/703 | 13/13 |
9026+
| 6pbhf-qzpdk-kuqbr-pklfa-5ehhf-jfjps-zsj6q-57nrl-kzhpd-mu7hc-vae | Juno's Subnet | 36185/704 | 13/13 |
90039027
| pzp6e-ekpqk-3c5x7-2h6so-njoeq-mt45d-h3h6c-q3mxf-vpeq5-fk5o7-yae | Fiduciary | 3564/12 | 34/34 |
90049028
| bkfrj-6k62g-dycql-7h53p-atvkj-zg4to-gaogh-netha-ptybj-ntsgw-rqe | European | 25096/663 | 13/13 |
90059029
| brlsh-zidhj-3yy3e-6vqbz-7xnih-xeq2l-as5oc-g32c4-i5pdn-2wwof-oae | | 35432/815 | 13/13 |
@@ -9457,7 +9481,7 @@ Usage: juno changes reject [options]Options: -i, --id The ID of th
94579481
Handle tasks related to the emulator like starting/stopping a local network.
94589482

94599483
```
9460-
Usage: juno emulator <subcommand> [options]Subcommands: start Start the emulator for local development. stop Stop the local network. wait Wait until the emulator is ready.
9484+
Usage: juno emulator <subcommand> [options]Subcommands: clear Clear the local emulator state (volume and container). start Start the emulator for local development. stop Stop the local network. wait Wait until the emulator is ready.
94619485
```
94629486

94639487
---
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
:::danger[Important]
2+
3+
If your Satellite includes custom serverless functions, **do not upgrade through the Juno Console**. The Console upgrade replaces your Satellite with the stock version, which would overwrite your custom code.
4+
5+
When the Console notifies you of a new version, use it as a reminder to update your dependencies and redeploy your custom build, as described below.
6+
7+
:::

docs/build/functions/development/rust.mdx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,17 @@ With this setup, only `on_set_doc` and `assert_set_doc` must be implemented with
3737

3838
---
3939

40-
## Maintenance
40+
## Upgrade
4141

4242
After deployment, keeping your Satellite functional and optimized requires ongoing monitoring and updates. Staying up to date is also a key factor, as we may introduce new features that need to be integrated into your Satellite to ensure full functionality within the Juno Console.
4343

44-
Since your project includes all Satellite features using `include_satellite!();`, it's essential to stay in sync with Junos updates to maintain compatibility.
44+
Since your project includes all Satellite features using `include_satellite!();`, it's essential to stay in sync with Juno's updates to maintain compatibility.
4545

46-
import Caution from "./components/upgrade-caution.mdx";
46+
import Danger from "./components/upgrade-danger.mdx";
4747

48-
<Caution />
48+
<Danger />
4949

50-
### Updating Your Satellite
50+
### What to do
5151

5252
To upgrade your Satellite, bump the dependencies in your `Cargo.toml` file located in `/src/satellite/`. The key dependencies to check and update are:
5353

@@ -59,10 +59,16 @@ To upgrade your Satellite, bump the dependencies in your `Cargo.toml` file locat
5959

6060
If other crates in your project depend on these, they should also be upgraded accordingly.
6161

62+
Once updated, build your functions and redeploy using the CLI or the GitHub Actions flow.
63+
6264
The recommended versions for each release can be found in the [changelog](/changelog) or [release notes on GitHub](https://github.com/junobuild/juno/releases).
6365

6466
If you need assistance, feel free to reach out through the available support channels.
6567

68+
import Caution from "./components/upgrade-caution.mdx";
69+
70+
<Caution />
71+
6672
---
6773

6874
## Versioning

docs/build/functions/development/typescript.mdx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,26 @@ This page covers advanced options for writing serverless functions in TypeScript
44

55
---
66

7-
## Maintenance
7+
## Upgrade
88

99
Since your project includes all Satellite features, it's essential to stay in sync with Juno’s updates to maintain compatibility.
1010

1111
Always check the [releases](https://github.com/junobuild/juno/releases) page for the latest changes, and update your local container image (source [repo](https://github.com/junobuild/juno-docker)) accordingly to ensure you're running the latest runtime and features.
1212

13+
import Danger from "./components/upgrade-danger.mdx";
14+
15+
<Danger />
16+
17+
### What to do
18+
19+
The most important step is to keep your local Docker image up to date by pulling the latest version. The entire toolchain is shipped within the emulator, so you don't have to install additional tools on your machine, but it also means the image needs to stay current.
20+
21+
Check the [releases](https://github.com/junobuild/juno/releases) page to know when a new image is available.
22+
23+
If a release also includes updates to the JavaScript library, bump the relevant package in your project accordingly.
24+
25+
If you deploy with GitHub Actions, your workflow always inherits the latest image, so triggering a new CI run is enough to stay up to date, unless you have pinned a specific action version, in which case update it to `latest`.
26+
1327
import Caution from "./components/upgrade-caution.mdx";
1428

1529
<Caution />

0 commit comments

Comments
 (0)