Clippy is now added to the `check` in the pipeline Co-authored-by: Ian Letourneau <letourneau.ian@gmail.com> Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/96
42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
use std::str::FromStr;
|
|
|
|
use harmony::{
|
|
data::Id,
|
|
inventory::Inventory,
|
|
modules::tenant::TenantScore,
|
|
topology::{K8sAnywhereTopology, tenant::TenantConfig},
|
|
};
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let tenant = TenantScore {
|
|
config: TenantConfig {
|
|
id: Id::from_str("test-tenant-id").unwrap(),
|
|
name: "testtenant".to_string(),
|
|
..Default::default()
|
|
},
|
|
};
|
|
|
|
harmony_cli::run(
|
|
Inventory::autoload(),
|
|
K8sAnywhereTopology::from_env(),
|
|
vec![Box::new(tenant)],
|
|
None,
|
|
)
|
|
.await
|
|
.unwrap();
|
|
}
|
|
|
|
// TODO write tests
|
|
// - Create Tenant with default config mostly, make sure namespace is created
|
|
// - deploy sample client/server app with nginx unprivileged and a service
|
|
// - exec in the client pod and validate the following
|
|
// - can reach internet
|
|
// - can reach server pod
|
|
// - can resolve dns queries to internet
|
|
// - can resolve dns queries to services
|
|
// - cannot reach services and pods in other namespaces
|
|
// - Create Tenant with specific cpu/ram/storage requests / limits and make sure they are enforced by trying to
|
|
// deploy a pod with lower requests/limits (accepted) and higher requests/limits (rejected)
|
|
// - Create TenantCredentials and make sure they give only access to the correct tenant
|