dynk8s-provisioner/tests/integration/main.rs

47 lines
1.5 KiB
Rust

use std::collections::btree_map::BTreeMap;
use k8s_openapi::api::core::v1::Secret;
use kube::core::params::ListParams;
mod sns;
const WIREGUARD_CONFIG: &str = "\
[Interface]
Address = 10.11.12.13/14
PrivateKey = UEdAkIaF80zhlOpgacOYL2UckrfCAWXfsDDSAAzNH3g=
[Peer]
PublicKey = zbeTpUFA014kvTezIEGBt4yi3BVocST9j1dBElp9liI=
PreSharedKey = V6hAm01dxv2ib8AML2dSyX68hlPZm8En+IXfsknK3Zc=
AllowedIPs = 0.0.0.0/0
Endpoint = wireguard.example.org:24680
";
async fn setup() {
let client = kube::Client::try_default().await.unwrap();
let secrets: kube::Api<Secret> = kube::Api::default_namespaced(client);
let lp =
ListParams::default().fields("type=dynk8s.du5t1n.me/wireguard-config");
secrets
.delete_collection(&Default::default(), &lp)
.await
.unwrap();
let mut labels = BTreeMap::<String, String>::new();
labels.insert(
"app.kubernetes.io/part-of".into(),
"dynk8s-provisioner".into(),
);
labels.insert("dynk8s.du5t1n.me/ec2-instance-id".into(), "".into());
let mut data = BTreeMap::<String, String>::new();
data.insert("wireguard-config".into(), WIREGUARD_CONFIG.into());
let mut secret = Secret::default();
secret.type_ = Some("dynk8s.du5t1n.me/wireguard-config".into());
secret.immutable = Some(true);
secret.metadata.generate_name = Some("wireguard-config-".into());
secret.metadata.labels = Some(labels);
secret.string_data = Some(data);
secrets.create(&Default::default(), &secret).await.unwrap();
}