public async Task DeleteCRD(CustomResourceDefinition crd) { var resp = await this._client.DeleteAsync($"/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/{crd.Metadata.Name}"); if (resp.StatusCode != HttpStatusCode.OK) { var err = await resp.Content.ReadAsStringAsync(); this._logger?.LogError($"Failure deleting CRD: {err}"); return; } // TODO: Investigate how to wait for Kube to commit the objects on etcd before move forward without those delays. await Task.Delay(300); }
public async Task <CustomResourceDefinition> CreateCRD(CustomResourceDefinition crd) { var resp = await this._client.PostAsync(CRD_ENDPOINT, new StringContent(JsonConvert.SerializeObject(crd, _jsonSettings), _encoding, MEDIA_TYPE)); if (resp.StatusCode != HttpStatusCode.OK && resp.StatusCode != HttpStatusCode.Created) { var err = await resp.Content.ReadAsStringAsync(); this._logger?.LogError($"Failure creating CRD: {err}"); return(null); } var json = await resp.Content.ReadAsStringAsync(); // TODO: Investigate how to wait for Kube to commit the objects on etcd before move forward without those delays. await Task.Delay(300); return(JsonConvert.DeserializeObject <CustomResourceDefinition>(json)); }