#[tokio::main]
async fn main() -> Result<(), Error> {                                        (1)
    let client = Client::try_default().await.unwrap();
    let api: Api<Pod> = Api::namespaced(client, "kube-system");
    let mut stream = api.watch(&ListParams::default(), "0").await?.boxed();
    while let Some(event) = stream.try_next().await? {
        match event {
            WatchEvent::Added(pod) => info!("ADDED: {}", pod.name()),
            WatchEvent::Modified(pod) => info!("UPDATED: {}", pod.name()),
            WatchEvent::Deleted(pod) => info!("DELETED: {}", pod.name()),
            WatchEvent::Error(e) => error!("ERROR: {} {} ({})", e.code, e.message, e.status),
            _ => {}
        };
    }
    Ok(())                                                                    (2)
}