Skip to content

Commit

Permalink
Set a boundary between trusted and verified for RabbitMQ controller
Browse files Browse the repository at this point in the history
Signed-off-by: Xudong Sun <[email protected]>
  • Loading branch information
marshtompsxd committed Nov 13, 2023
1 parent 3eed7dd commit c143657
Show file tree
Hide file tree
Showing 53 changed files with 310 additions and 196 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ verus! {

pub struct FluentBitReconciler {}

#[verifier(external)]
impl Reconciler<FluentBit, FluentBitReconcileState, EmptyType, EmptyType, EmptyAPIShimLayer> for FluentBitReconciler {
open spec fn well_formed(fb: &FluentBit) -> bool {
fb@.well_formed()
}

fn reconcile_init_state() -> FluentBitReconcileState {
reconcile_init_state()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ verus! {

pub struct FluentBitConfigReconciler {}

#[verifier(external)]
impl Reconciler<FluentBitConfig, FluentBitConfigReconcileState, EmptyType, EmptyType, EmptyAPIShimLayer> for FluentBitConfigReconciler {
open spec fn well_formed(fbc: &FluentBitConfig) -> bool {
fbc@.well_formed()
}

fn reconcile_init_state() -> FluentBitConfigReconcileState {
reconcile_init_state()
}
Expand Down
1 change: 0 additions & 1 deletion src/controller_examples/rabbitmq_controller/exec/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
// SPDX-License-Identifier: MIT
pub mod reconciler;
pub mod resource;
pub mod types;
11 changes: 7 additions & 4 deletions src/controller_examples/rabbitmq_controller/exec/reconciler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::*;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::reconciler as rabbitmq_spec;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types as spec_types;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::reconciler::spec::resource_builder::ResourceBuilder as SpecResourceBuilder;
use crate::vstd_ext::{string_map::StringMap, string_view::*};
Expand All @@ -24,8 +24,11 @@ verus! {

pub struct RabbitmqReconciler {}

#[verifier(external)]
impl Reconciler<RabbitmqCluster, RabbitmqReconcileState, EmptyType, EmptyType, EmptyAPIShimLayer> for RabbitmqReconciler {
open spec fn well_formed(rabbitmq: &RabbitmqCluster) -> bool {
rabbitmq@.well_formed()
}

fn reconcile_init_state() -> RabbitmqReconcileState {
reconcile_init_state()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*};
use crate::vstd_ext::{string_map::StringMap, string_view::*};
use vstd::prelude::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::rabbitmq_controller::exec::resource::service_account::ServiceAccountBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::rabbitmq_plugins::PluginsConfigMapBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::default_user_secret::DefaultUserSecretBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::service::ServiceBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::config_map::ServerConfigMapBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::role_binding::RoleBindingBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::stateful_set::StatefulSetBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::erlang_cookie::ErlangCookieBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::resource::role::RoleBuilder;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ use crate::kubernetes_api_objects::{
container::*, label_selector::*, pod_template_spec::*, prelude::*, resource_requirements::*,
volume::*,
};
use crate::rabbitmq_controller::common::*;
use crate::rabbitmq_controller::exec::types::*;
use crate::rabbitmq_controller::spec::resource as spec_resource;
use crate::rabbitmq_controller::spec::types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::exec_types::*;
use crate::rabbitmq_controller::trusted::spec_types::RabbitmqClusterView;
use crate::rabbitmq_controller::trusted::step::*;
use crate::reconciler::exec::{io::*, reconciler::*, resource_builder::*};
use crate::vstd_ext::string_map::StringMap;
use crate::vstd_ext::string_view::*;
Expand Down
2 changes: 1 addition & 1 deletion src/controller_examples/rabbitmq_controller/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright 2022 VMware, Inc.
// SPDX-License-Identifier: MIT
pub mod common;
pub mod exec;
pub mod proof;
pub mod spec;
pub mod trusted;
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ use crate::kubernetes_cluster::spec::{
message::*,
};
use crate::rabbitmq_controller::{
common::*,
proof::{
helper_invariants::{predicate::*, proof::*},
predicate::*,
resource::*,
},
spec::{reconciler::*, types::*},
spec::reconciler::*,
trusted::{spec_types::*, step::*},
};
use crate::temporal_logic::{defs::*, rules::*};
use vstd::prelude::*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ use crate::kubernetes_cluster::spec::{
message::*,
};
use crate::rabbitmq_controller::{
common::*,
proof::{predicate::*, resource::*},
spec::{reconciler::*, types::*},
spec::reconciler::*,
trusted::{spec_types::*, step::*},
};
use crate::reconciler::spec::reconciler::*;
use crate::temporal_logic::{defs::*, rules::*};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,11 @@ use crate::kubernetes_cluster::spec::{
message::*,
};
use crate::rabbitmq_controller::{
common::*,
proof::{
helper_invariants::stateful_set_in_etcd_satisfies_unchangeable,
liveness_theorem::desired_state_is, predicate::*, resource::*,
helper_invariants::stateful_set_in_etcd_satisfies_unchangeable, predicate::*, resource::*,
},
spec::{resource::make_stateful_set, types::*},
spec::resource::make_stateful_set,
trusted::{liveness_theorem::desired_state_is, spec_types::*, step::*},
};
use crate::temporal_logic::{defs::*, rules::*};
use crate::vstd_ext::{multiset_lib, seq_lib, string_view::*};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ use crate::kubernetes_cluster::spec::{
message::*,
};
use crate::rabbitmq_controller::{
common::*,
proof::{
helper_invariants::{owner_ref::*, predicate::*, proof::*, validation::*},
predicate::*,
resource::*,
},
spec::{reconciler::*, resource::*, types::*},
spec::{reconciler::*, resource::*},
trusted::{spec_types::*, step::*},
};
use crate::reconciler::spec::{reconciler::*, resource_builder::*};
use crate::temporal_logic::{defs::*, rules::*};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ use crate::kubernetes_cluster::spec::{
message::*,
};
use crate::rabbitmq_controller::{
common::*,
proof::{
helper_invariants::{owner_ref::*, predicate::*, proof::*},
predicate::*,
resource::*,
},
spec::{reconciler::*, resource::*, types::*},
spec::{reconciler::*, resource::*},
trusted::{spec_types::*, step::*},
};
use crate::reconciler::spec::{reconciler::*, resource_builder::*};
use crate::temporal_logic::{defs::*, rules::*};
Expand Down
Loading

0 comments on commit c143657

Please sign in to comment.