Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FINAL] feat: Canister backup and restore #259

Merged
merged 53 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f49549c
feat: Canister backup and restore - management api
AlexandraZapuc Dec 1, 2023
d1fb6ab
Merge branch 'master' into exc-1519
mraszyk Dec 5, 2023
59f363e
Update comments
AlexandraZapuc Dec 6, 2023
03ee01a
Add note for stop canister
AlexandraZapuc Dec 6, 2023
4d30059
Add comma
AlexandraZapuc Dec 6, 2023
e13c7ac
fix
AlexandraZapuc Dec 6, 2023
c8dd0ca
Merge branch 'master' into exc-1519
AlexandraZapuc Dec 7, 2023
d443181
Change api
AlexandraZapuc Dec 12, 2023
a28d25c
Update description and add 2 semantics methods
AlexandraZapuc Dec 13, 2023
048aaa2
Add semantics
AlexandraZapuc Dec 14, 2023
85d17f4
Add note
AlexandraZapuc Dec 14, 2023
131417e
Address part of comments
AlexandraZapuc Dec 19, 2023
c3b2067
Address comments
AlexandraZapuc Dec 20, 2023
579c11d
.
AlexandraZapuc Dec 20, 2023
65ef998
Update
AlexandraZapuc Dec 21, 2023
f315a8d
Remove didc
AlexandraZapuc Dec 21, 2023
db4cf9f
Address comments
AlexandraZapuc Dec 22, 2023
9c03404
.
AlexandraZapuc Dec 22, 2023
be073c2
.
AlexandraZapuc Dec 22, 2023
968c98a
changelog
AlexandraZapuc Dec 22, 2023
38040dc
.
AlexandraZapuc Dec 22, 2023
dbc2a2f
Merge branch 'master' into exc-1519
mraszyk Dec 22, 2023
afe9de7
Sender canister version
AlexandraZapuc Dec 22, 2023
c7458dc
address last suggestions
AlexandraZapuc Jan 16, 2024
4caeb57
.
AlexandraZapuc Jan 16, 2024
988cffe
add version to load
AlexandraZapuc Jan 16, 2024
dc9b900
.
AlexandraZapuc Jan 17, 2024
ab34fef
.
AlexandraZapuc Jan 17, 2024
c097eeb
.
AlexandraZapuc Jan 17, 2024
d0bf93b
update return type
AlexandraZapuc Jan 17, 2024
620df6a
Change snapshot id type (#285)
AlexandraZapuc Mar 18, 2024
649d9aa
address comments
AlexandraZapuc May 29, 2024
793c9a8
Merge branch 'master' into exc-1519
AlexandraZapuc May 29, 2024
96d7d40
ic.did
mraszyk May 29, 2024
52417c4
ic.did
mraszyk May 29, 2024
bb4ec47
syntax
mraszyk May 29, 2024
cc7e047
fixes
mraszyk May 29, 2024
9b01d7d
fix
mraszyk May 29, 2024
1984f75
Introduce `snapshot_id` in canister change details (#307)
AlexandraZapuc May 29, 2024
4acde35
fix list snapshots formal spec
mraszyk Jun 5, 2024
e19e8db
Merge branch 'master' into exc-1519
mraszyk Jun 23, 2024
a95de7b
Merge branch 'master' into exc-1519
mraszyk Jul 4, 2024
fae4ff7
Update did file
dsarlis Aug 7, 2024
33c041d
Move snapshot_id definition before it's used
dsarlis Aug 7, 2024
ccbc057
Merge branch 'master' into exc-1519
mraszyk Aug 28, 2024
d2d0a9f
fix
mraszyk Aug 28, 2024
a601059
Update spec/index.md
mraszyk Aug 28, 2024
59fb2ec
Update spec/index.md
mraszyk Aug 28, 2024
6f1a88b
Merge branch 'master' into exc-1519
mraszyk Sep 16, 2024
a0f04c2
fixes
mraszyk Sep 16, 2024
a87b9a2
notes
mraszyk Sep 16, 2024
93208df
Merge branch 'master' into exc-1519
mraszyk Sep 25, 2024
0af4996
changelog
mraszyk Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions spec/_attachments/ic.did
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
type canister_id = principal;
type wasm_module = blob;
type snapshot_id = blob;

type log_visibility = variant {
controllers;
Expand Down Expand Up @@ -45,6 +46,11 @@ type change_details = variant {
mode : variant { install; reinstall; upgrade };
module_hash : blob;
};
load_snapshot : record {
canister_version : nat64;
snapshot_id : snapshot_id;
taken_at_timestamp : nat64;
};
controllers_change : record {
controllers : vec principal;
};
Expand Down Expand Up @@ -358,6 +364,36 @@ type stored_chunks_result = vec chunk_hash;

type upload_chunk_result = chunk_hash;

type snapshot = record {
id : snapshot_id;
taken_at_timestamp : nat64;
total_size : nat64;
};

type take_canister_snapshot_args = record {
canister_id : canister_id;
replace_snapshot : opt snapshot_id;
};

type take_canister_snapshot_result = snapshot;

type load_canister_snapshot_args = record {
canister_id : canister_id;
snapshot_id : snapshot_id;
sender_canister_version : opt nat64;
};

type list_canister_snapshots_args = record {
canister_id : canister_id;
};

type list_canister_snapshots_result = vec snapshot;

type delete_canister_snapshot_args = record {
canister_id : canister_id;
snapshot_id : snapshot_id;
};

type fetch_canister_logs_args = record {
canister_id : canister_id;
};
Expand Down Expand Up @@ -412,6 +448,12 @@ service ic : {
provisional_create_canister_with_cycles : (provisional_create_canister_with_cycles_args) -> (provisional_create_canister_with_cycles_result);
provisional_top_up_canister : (provisional_top_up_canister_args) -> ();

// Canister snapshots
take_canister_snapshot : (take_canister_snapshot_args) -> (take_canister_snapshot_result);
load_canister_snapshot : (load_canister_snapshot_args) -> ();
list_canister_snapshots : (list_canister_snapshots_args) -> (list_canister_snapshots_result);
delete_canister_snapshot : (delete_canister_snapshot_args) -> ();

// canister logging
fetch_canister_logs : (fetch_canister_logs_args) -> (fetch_canister_logs_result) query;
};
1 change: 1 addition & 0 deletions spec/_attachments/interface-spec-changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## Changelog {#changelog}

### ∞ (unreleased)
* Add new management canister methods for canister snapshot support.

### 0.27.0 (2024-09-20) {#0_27_0}
* EXPERIMENTAL: Management canister API to fetch Bitcoin block headers.
Expand Down
Loading
Loading