Merge pull request 'feat: Initialize k8s tenant properly' (#54) from feat/init_k8s_tenant into feat/id_default
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/54
This commit is contained in:
commit
118d34db55
@ -170,6 +170,22 @@ impl K8sAnywhereTopology {
|
|||||||
Ok(Some(state))
|
Ok(Some(state))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn ensure_k8s_tenant_manager(&self) -> Result<(), String> {
|
||||||
|
if let Some(_) = self.tenant_manager.get() {
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
|
self.tenant_manager
|
||||||
|
.get_or_try_init(async || -> Result<K8sTenantManager, String> {
|
||||||
|
let k8s_client = self.k8s_client().await?;
|
||||||
|
Ok(K8sTenantManager::new(k8s_client))
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
fn get_k8s_tenant_manager(&self) -> Result<&K8sTenantManager, ExecutorError> {
|
fn get_k8s_tenant_manager(&self) -> Result<&K8sTenantManager, ExecutorError> {
|
||||||
match self.tenant_manager.get() {
|
match self.tenant_manager.get() {
|
||||||
Some(t) => Ok(t),
|
Some(t) => Ok(t),
|
||||||
@ -217,6 +233,10 @@ impl Topology for K8sAnywhereTopology {
|
|||||||
"No K8s client could be found or installed".to_string(),
|
"No K8s client could be found or installed".to_string(),
|
||||||
))?;
|
))?;
|
||||||
|
|
||||||
|
self.ensure_k8s_tenant_manager()
|
||||||
|
.await
|
||||||
|
.map_err(|e| InterpretError::new(e))?;
|
||||||
|
|
||||||
match self.is_helm_available() {
|
match self.is_helm_available() {
|
||||||
Ok(()) => Ok(Outcome::success(format!(
|
Ok(()) => Ok(Outcome::success(format!(
|
||||||
"{} + helm available",
|
"{} + helm available",
|
||||||
|
Loading…
Reference in New Issue
Block a user