mz_catalog/durable/upgrade/
v70_to_v71.rs
1use crate::durable::upgrade::objects_v71::Empty;
11
12use crate::durable::upgrade::MigrationAction;
13use crate::durable::upgrade::{objects_v70 as v70, objects_v71 as v71};
14
15const DEFAULT_USER_NETWORK_POLICY_NAME: &str = "default";
16const NETWORK_POLICIES_DEFAULT_POLICY_OID: u32 = 17048;
17
18const MZ_SYSTEM_ROLE_ID: u64 = 1;
19const MZ_SUPPORT_ROLE_ID: u64 = 2;
20
21pub fn upgrade(
22 _snapshot: Vec<v70::StateUpdateKind>,
23) -> Vec<MigrationAction<v70::StateUpdateKind, v71::StateUpdateKind>> {
24 let policy = v71::state_update_kind::NetworkPolicy {
25 key: Some(v71::NetworkPolicyKey {
26 id: Some(v71::NetworkPolicyId {
27 value: Some(v71::network_policy_id::Value::User(1)),
28 }),
29 }),
30 value: Some(v71::NetworkPolicyValue {
31 name: DEFAULT_USER_NETWORK_POLICY_NAME.to_string(),
32 rules: vec![v71::NetworkPolicyRule {
33 name: "open_ingress".to_string(),
34 action: Some(v71::network_policy_rule::Action::Allow(Empty {})),
35 direction: Some(v71::network_policy_rule::Direction::Ingress(Empty {})),
36 address: "0.0.0.0/0".to_string(),
37 }],
38 owner_id: Some(v71::RoleId {
39 value: Some(v71::role_id::Value::System(MZ_SYSTEM_ROLE_ID)),
40 }),
41 privileges: vec![
42 v71::MzAclItem {
43 grantee: Some(v71::RoleId {
44 value: Some(v71::role_id::Value::Public(Empty {})),
45 }),
46 grantor: Some(v71::RoleId {
47 value: Some(v71::role_id::Value::System(MZ_SYSTEM_ROLE_ID)),
48 }),
49 acl_mode: Some(v71::AclMode { bitflags: 256 }),
51 },
52 v71::MzAclItem {
53 grantee: Some(v71::RoleId {
54 value: Some(v71::role_id::Value::System(MZ_SUPPORT_ROLE_ID)),
55 }),
56 grantor: Some(v71::RoleId {
57 value: Some(v71::role_id::Value::System(MZ_SYSTEM_ROLE_ID)),
58 }),
59 acl_mode: Some(v71::AclMode { bitflags: 256 }),
61 },
62 v71::MzAclItem {
63 grantee: Some(v71::RoleId {
64 value: Some(v71::role_id::Value::System(MZ_SYSTEM_ROLE_ID)),
65 }),
66 grantor: Some(v71::RoleId {
67 value: Some(v71::role_id::Value::System(MZ_SYSTEM_ROLE_ID)),
68 }),
69 acl_mode: Some(v71::AclMode { bitflags: 768 }),
71 },
72 ],
73 oid: NETWORK_POLICIES_DEFAULT_POLICY_OID,
74 }),
75 };
76
77 vec![MigrationAction::Insert(v71::StateUpdateKind {
78 kind: Some(v71::state_update_kind::Kind::NetworkPolicy(policy)),
79 })]
80}