Don't create the cache

attic-priv has functionality to getsert caches as they are requested.
This commit is contained in:
Cole Helbling 2024-01-18 11:06:19 -08:00
parent e8efa56401
commit 28eca6460d

View file

@ -1,10 +1,9 @@
use crate::error::{Error, Result};
use attic::api::v1::cache_config::{CreateCacheRequest, KeypairConfig};
use attic::cache::CacheSliceIdentifier;
use attic::nix_store::{NixStore, StorePath};
use attic_client::push::{PushSession, PushSessionConfig};
use attic_client::{
api::{ApiClient, ApiError},
api::ApiClient,
config::ServerConfig,
push::{PushConfig, Pusher},
};
@ -119,37 +118,15 @@ pub async fn init_cache(
)
};
tracing::info!("Using cache {:?}.", cache_name);
tracing::info!("Using cache {:?}", cache_name);
let cache = CacheSliceIdentifier::from_str(&cache_name)?;
// Create the cache.
let api = ApiClient::from_server_config(ServerConfig {
endpoint: flakehub_cache_server.to_string(),
token: netrc_entry.password.as_ref().cloned(),
})?;
let request = CreateCacheRequest {
keypair: KeypairConfig::Generate,
is_public: false,
priority: 39,
store_dir: "/nix/store".to_owned(),
upstream_cache_key_names: vec![],
};
if let Err(err) = api.create_cache(&cache, request).await {
match err.downcast_ref::<ApiError>() {
Some(ApiError::Structured(x)) if x.error == "CacheAlreadyExists" => {
tracing::info!("Cache {} already exists.", cache_name);
}
_ => {
return Err(Error::FlakeHub(err));
}
}
} else {
tracing::info!("Created cache {} on {}.", cache_name, flakehub_cache_server);
}
let cache_config = api.get_cache_config(&cache).await?;
let push_config = PushConfig {