fix clippy lints

This commit is contained in:
mbecker20
2024-05-08 00:21:37 -07:00
parent 340bac078f
commit 4678f83542
18 changed files with 120 additions and 131 deletions

99
Cargo.lock generated
View File

@@ -111,15 +111,15 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.82"
version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3"
[[package]]
name = "async-recursion"
version = "1.1.0"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
@@ -180,9 +180,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "aws-config"
version = "1.2.0"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2a89e0000cde82447155d64eeb71720b933b4396a6fbbebad3f8b4f88ca7b54"
checksum = "baaa0be6ee7d90b775ae6ccb6d2ba182b91219ec2001f92338773a094246af1d"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -223,9 +223,9 @@ dependencies = [
[[package]]
name = "aws-runtime"
version = "1.2.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4963ac9ff2d33a4231b3806c1c69f578f221a9cabb89ad2bde62ce2b442c8a7"
checksum = "785da4a15e7b166b505fd577e4560c7a7cd8fbdf842eb1336cbcbf8944ce56f1"
dependencies = [
"aws-credential-types",
"aws-sigv4",
@@ -246,9 +246,9 @@ dependencies = [
[[package]]
name = "aws-sdk-ec2"
version = "1.34.0"
version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b58453a3033a5c2e1631abec61b6915c507a726d628a0c2d7b81578d81be1b3"
checksum = "a449fb7b9cab253e5ad0e6173188b2c5103e62183b1c099ec610fafb498dbe7c"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -270,9 +270,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sso"
version = "1.20.0"
version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32fcc572fd5c58489ec205ec3e4e5f7d63018898a485cbf922a462af496bc300"
checksum = "ca3d6c4cba4e009391b72b0fcf12aff04ea3c9c3aa2ecaafa330326a8bd7e601"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -292,9 +292,9 @@ dependencies = [
[[package]]
name = "aws-sdk-ssooidc"
version = "1.20.0"
version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b6275fa8684a1192754221173b1f7a7c1260d6b0571cc2b8af09468eb0cffe5"
checksum = "73400dc239d14f63d932f4ca7b55af5e9ef1f857f7d70655249ccc287adb2570"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -314,9 +314,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sts"
version = "1.20.0"
version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30acd58272fd567e4853c5075d838be1626b59057e0249c9be5a1a7eb13bf70f"
checksum = "10f8858308af76fba3e5ffcf1bb56af5471574d2bdfaf0159470c25bc2f760e5"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -337,9 +337,9 @@ dependencies = [
[[package]]
name = "aws-sigv4"
version = "1.2.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11d6f29688a4be9895c0ba8bef861ad0c0dac5c15e9618b9b7a6c233990fc263"
checksum = "58b56f1cbe6fd4d0c2573df72868f20ab1c125ca9c9dbce17927a463433a2e57"
dependencies = [
"aws-credential-types",
"aws-smithy-http",
@@ -371,9 +371,9 @@ dependencies = [
[[package]]
name = "aws-smithy-http"
version = "0.60.7"
version = "0.60.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f10fa66956f01540051b0aa7ad54574640f748f9839e843442d99b970d3aff9"
checksum = "4a7de001a1b9a25601016d8057ea16e31a45fdca3751304c8edf4ad72e706c08"
dependencies = [
"aws-smithy-runtime-api",
"aws-smithy-types",
@@ -410,9 +410,9 @@ dependencies = [
[[package]]
name = "aws-smithy-runtime"
version = "1.3.0"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de34bcfa1fb3c82a80e252a753db34a6658e07f23d3a5b3fc96919518fa7a3f5"
checksum = "c9ac79e9f3a4d576f3cd4a470a0275b138d9e7b11b1cd514a6858ae0a79dd5bb"
dependencies = [
"aws-smithy-async",
"aws-smithy-http",
@@ -436,9 +436,9 @@ dependencies = [
[[package]]
name = "aws-smithy-runtime-api"
version = "1.4.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cc56a5c96ec741de6c5e6bf1ce6948be969d6506dfa9c39cffc284e31e4979b"
checksum = "04ec42c2f5c0e7796a2848dde4d9f3bf8ce12ccbb3d5aa40c52fa0cdd61a1c47"
dependencies = [
"aws-smithy-async",
"aws-smithy-types",
@@ -453,9 +453,9 @@ dependencies = [
[[package]]
name = "aws-smithy-types"
version = "1.1.8"
version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abe14dceea1e70101d38fbf2a99e6a34159477c0fb95e68e05c66bd7ae4c3729"
checksum = "baf98d97bba6ddaba180f1b1147e202d8fe04940403a95a3f826c790f931bbd1"
dependencies = [
"base64-simd",
"bytes",
@@ -479,9 +479,9 @@ dependencies = [
[[package]]
name = "aws-smithy-xml"
version = "0.60.7"
version = "0.60.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "872c68cf019c0e4afc5de7753c4f7288ce4b71663212771bf5e4542eb9346ca9"
checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55"
dependencies = [
"xmlparser",
]
@@ -2237,7 +2237,7 @@ dependencies = [
"mongo_indexed",
"mungos",
"partial_derive2",
"reqwest 0.12.3",
"reqwest 0.12.4",
"resolver_api",
"serde",
"serde_json",
@@ -2280,7 +2280,7 @@ dependencies = [
"partial_derive2",
"periphery_client",
"rand",
"reqwest 0.12.3",
"reqwest 0.12.4",
"resolver_api",
"serde",
"serde_json",
@@ -2665,7 +2665,7 @@ version = "1.0.0"
dependencies = [
"anyhow",
"monitor_client",
"reqwest 0.12.3",
"reqwest 0.12.4",
"resolver_api",
"serde",
"serde_json",
@@ -2877,9 +2877,9 @@ dependencies = [
[[package]]
name = "reqwest"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
"base64 0.22.0",
"bytes",
@@ -3180,9 +3180,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
version = "1.0.198"
version = "1.0.201"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c"
dependencies = [
"serde_derive",
]
@@ -3198,9 +3198,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.198"
version = "1.0.201"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865"
dependencies = [
"proc-macro2",
"quote",
@@ -3585,9 +3585,9 @@ checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
[[package]]
name = "sysinfo"
version = "0.30.11"
version = "0.30.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87341a165d73787554941cd5ef55ad728011566fe714e987d1b976c15dbc3a83"
checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae"
dependencies = [
"cfg-if",
"core-foundation-sys",
@@ -3678,18 +3678,18 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.58"
version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.58"
version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524"
dependencies = [
"proc-macro2",
"quote",
@@ -3844,9 +3844,9 @@ dependencies = [
[[package]]
name = "tokio-util"
version = "0.7.10"
version = "0.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
dependencies = [
"bytes",
"futures-core",
@@ -3854,7 +3854,6 @@ dependencies = [
"futures-sink",
"pin-project-lite",
"tokio",
"tracing",
]
[[package]]
@@ -4153,9 +4152,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "typeshare"
version = "1.0.2"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99877a66770b25072a67101e80790fd7fe9ed9eff8c69ffb81e9bf5cbea7733f"
checksum = "04f17399b76c2e743d58eac0635d7686e9c00f48cd4776f00695d9882a7d3187"
dependencies = [
"chrono",
"serde",
@@ -4165,9 +4164,9 @@ dependencies = [
[[package]]
name = "typeshare-annotation"
version = "1.0.3"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecce25dea8aeaadc44909f4c1226d22d84512fccd07d22447ecbad176bc09545"
checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f"
dependencies = [
"quote",
"syn 2.0.53",

View File

@@ -33,12 +33,12 @@ svi = "0.1.4"
# ASYNC
tokio = { version = "1.37.0", features = ["full"] }
reqwest = { version = "0.12.3", features = ["json"] }
tokio-util = "0.7.10"
reqwest = { version = "0.12.4", features = ["json"] }
tokio-util = "0.7.11"
futures = "0.3.30"
futures-util = "0.3.30"
async-trait = "0.1.80"
async-recursion = "1.1.0"
async-recursion = "1.1.1"
# SERVER
axum = { version = "0.7.5", features = ["ws", "json"] }
@@ -48,14 +48,14 @@ tower-http = { version = "0.5.2", features = ["fs", "cors"] }
tokio-tungstenite = "0.21.0"
# SER/DE
serde = { version = "1.0.198", features = ["derive"] }
serde = { version = "1.0.201", features = ["derive"] }
strum = { version = "0.26.2", features = ["derive"] }
serde_json = "1.0.116"
toml = "0.8.12"
# ERROR
anyhow = "1.0.82"
thiserror = "1.0.58"
anyhow = "1.0.83"
thiserror = "1.0.60"
# LOGGING
opentelemetry_sdk = { version = "0.22.1", features = ["rt-tokio"] }
@@ -82,13 +82,13 @@ hex = "0.4.3"
# SYSTEM
bollard = "0.16.1"
sysinfo = "0.30.11"
sysinfo = "0.30.12"
# CLOUD
aws-config = "1.2.0"
aws-sdk-ec2 = "1.34.0"
aws-config = "1.3.0"
aws-sdk-ec2 = "1.40.0"
# MISC
derive_builder = "0.20.0"
colored = "2.1.0"
typeshare = "1.0.2"
typeshare = "1.0.3"

View File

@@ -355,7 +355,7 @@ async fn get_aws_builder(
let instance_name = format!(
"BUILDER-{}-v{}",
build.name,
build.config.version.to_string()
build.config.version
);
let Ec2Instance { instance_id, ip } = launch_ec2_instance(
&instance_name,

View File

@@ -86,7 +86,7 @@ impl Resolve<Deploy, User> for State {
version
};
deployment.config.image = DeploymentImage::Image {
image: format!("{image_name}:{}", version.to_string()),
image: format!("{image_name}:{version}"),
};
if deployment.config.docker_account.is_empty() {
deployment.config.docker_account =

View File

@@ -42,7 +42,7 @@ async fn create_ec2_client(region: String) -> Client {
&core_config().aws.secret_access_key,
);
let region = Region::new(region);
let config = aws_config::defaults(BehaviorVersion::v2023_11_09())
let config = aws_config::defaults(BehaviorVersion::v2024_03_28())
.region(region)
.load()
.await;

View File

@@ -1,8 +1,8 @@
use std::str::FromStr;
use monitor_client::entities::{
alerter::{
Alerter, AlerterConfig, AlerterConfigDiff, AlerterConfigVariant, AlerterInfo, AlerterListItem, AlerterListItemInfo, AlerterQuerySpecifics, PartialAlerterConfig
Alerter, AlerterConfig, AlerterConfigDiff, AlerterConfigVariant,
AlerterInfo, AlerterListItem, AlerterListItemInfo,
AlerterQuerySpecifics, PartialAlerterConfig,
},
resource::Resource,
update::{ResourceTargetVariant, Update},
@@ -10,7 +10,7 @@ use monitor_client::entities::{
MergePartial, Operation,
};
use mungos::mongodb::{
bson::{oid::ObjectId, to_document, Document},
bson::{to_document, Document},
Collection,
};
@@ -46,9 +46,6 @@ impl super::MonitorResource for Alerter {
};
Ok(AlerterListItem {
name: alerter.name,
created_at: ObjectId::from_str(&alerter.id)?
.timestamp()
.timestamp_millis(),
id: alerter.id,
tags: alerter.tags,
resource_type: ResourceTargetVariant::Alerter,

View File

@@ -1,9 +1,8 @@
use std::str::FromStr;
use anyhow::Context;
use monitor_client::entities::{
build::{
Build, BuildConfig, BuildConfigDiff, BuildInfo, BuildListItem, BuildListItemInfo, BuildQuerySpecifics, PartialBuildConfig
Build, BuildConfig, BuildConfigDiff, BuildInfo, BuildListItem,
BuildListItemInfo, BuildQuerySpecifics, PartialBuildConfig,
},
builder::Builder,
permission::PermissionLevel,
@@ -12,7 +11,7 @@ use monitor_client::entities::{
user::User,
Operation,
};
use mungos::mongodb::{bson::oid::ObjectId, Collection};
use mungos::mongodb::Collection;
use crate::{
helpers::empty_or_only_spaces,
@@ -41,9 +40,6 @@ impl super::MonitorResource for Build {
) -> anyhow::Result<Self::ListItem> {
Ok(BuildListItem {
name: build.name,
created_at: ObjectId::from_str(&build.id)?
.timestamp()
.timestamp_millis(),
id: build.id,
tags: build.tags,
resource_type: ResourceTargetVariant::Build,

View File

@@ -1,9 +1,9 @@
use std::str::FromStr;
use anyhow::Context;
use monitor_client::entities::{
builder::{
Builder, BuilderConfig, BuilderConfigDiff, BuilderConfigVariant, BuilderListItem, BuilderListItemInfo, BuilderQuerySpecifics, PartialBuilderConfig, PartialServerBuilderConfig
Builder, BuilderConfig, BuilderConfigDiff, BuilderConfigVariant,
BuilderListItem, BuilderListItemInfo, BuilderQuerySpecifics,
PartialBuilderConfig, PartialServerBuilderConfig,
},
permission::PermissionLevel,
resource::Resource,
@@ -13,7 +13,7 @@ use monitor_client::entities::{
MergePartial, Operation,
};
use mungos::mongodb::{
bson::{doc, oid::ObjectId, to_document, Document},
bson::{doc, to_document, Document},
Collection,
};
@@ -52,9 +52,6 @@ impl super::MonitorResource for Builder {
Ok(BuilderListItem {
name: builder.name,
created_at: ObjectId::from_str(&builder.id)?
.timestamp()
.timestamp_millis(),
id: builder.id,
tags: builder.tags,
resource_type: ResourceTargetVariant::Builder,

View File

@@ -1,10 +1,11 @@
use std::str::FromStr;
use anyhow::Context;
use monitor_client::entities::{
build::Build,
deployment::{
Deployment, DeploymentConfig, DeploymentConfigDiff, DeploymentImage, DeploymentListItem, DeploymentListItemInfo, DeploymentQuerySpecifics, DockerContainerState, PartialDeploymentConfig
Deployment, DeploymentConfig, DeploymentConfigDiff,
DeploymentImage, DeploymentListItem, DeploymentListItemInfo,
DeploymentQuerySpecifics, DockerContainerState,
PartialDeploymentConfig,
},
permission::PermissionLevel,
resource::Resource,
@@ -13,7 +14,7 @@ use monitor_client::entities::{
user::User,
Operation,
};
use mungos::mongodb::{bson::oid::ObjectId, Collection};
use mungos::mongodb::Collection;
use periphery_client::api::container::RemoveContainer;
use crate::{
@@ -61,9 +62,6 @@ impl super::MonitorResource for Deployment {
};
Ok(DeploymentListItem {
name: deployment.name,
created_at: ObjectId::from_str(&deployment.id)?
.timestamp()
.timestamp_millis(),
id: deployment.id,
tags: deployment.tags,
resource_type: ResourceTargetVariant::Deployment,

View File

@@ -1,5 +1,3 @@
use std::str::FromStr;
use anyhow::anyhow;
use monitor_client::{
api::execute::Execution,
@@ -8,7 +6,9 @@ use monitor_client::{
deployment::Deployment,
permission::PermissionLevel,
procedure::{
PartialProcedureConfig, Procedure, ProcedureConfig, ProcedureConfigDiff, ProcedureListItem, ProcedureListItemInfo, ProcedureQuerySpecifics
PartialProcedureConfig, Procedure, ProcedureConfig,
ProcedureConfigDiff, ProcedureListItem, ProcedureListItemInfo,
ProcedureQuerySpecifics,
},
repo::Repo,
resource::Resource,
@@ -18,7 +18,7 @@ use monitor_client::{
Operation,
},
};
use mungos::mongodb::{bson::oid::ObjectId, Collection};
use mungos::mongodb::Collection;
use crate::state::{action_states, db_client};
@@ -44,9 +44,6 @@ impl super::MonitorResource for Procedure {
) -> anyhow::Result<Self::ListItem> {
Ok(ProcedureListItem {
name: procedure.name,
created_at: ObjectId::from_str(&procedure.id)?
.timestamp()
.timestamp_millis(),
id: procedure.id,
tags: procedure.tags,
resource_type: ResourceTargetVariant::Procedure,

View File

@@ -1,10 +1,9 @@
use std::str::FromStr;
use anyhow::Context;
use monitor_client::entities::{
permission::PermissionLevel,
repo::{
PartialRepoConfig, Repo, RepoConfig, RepoConfigDiff, RepoInfo, RepoListItem, RepoListItemInfo, RepoQuerySpecifics
PartialRepoConfig, Repo, RepoConfig, RepoConfigDiff, RepoInfo,
RepoListItem, RepoListItemInfo, RepoQuerySpecifics,
},
resource::Resource,
server::Server,
@@ -12,7 +11,7 @@ use monitor_client::entities::{
user::User,
Operation,
};
use mungos::mongodb::{bson::oid::ObjectId, Collection};
use mungos::mongodb::Collection;
use periphery_client::api::git::DeleteRepo;
use serror::serialize_error_pretty;
@@ -45,9 +44,6 @@ impl super::MonitorResource for Repo {
) -> anyhow::Result<Self::ListItem> {
Ok(RepoListItem {
name: repo.name,
created_at: ObjectId::from_str(&repo.id)?
.timestamp()
.timestamp_millis(),
id: repo.id,
tags: repo.tags,
resource_type: ResourceTargetVariant::Repo,

View File

@@ -1,5 +1,3 @@
use std::str::FromStr;
use anyhow::Context;
use monitor_client::entities::{
monitor_timestamp,
@@ -12,10 +10,7 @@ use monitor_client::entities::{
user::User,
Operation,
};
use mungos::mongodb::{
bson::{doc, oid::ObjectId},
Collection,
};
use mungos::mongodb::{bson::doc, Collection};
use crate::{
monitor::update_cache_for_server,
@@ -45,9 +40,6 @@ impl super::MonitorResource for Server {
let status = server_status_cache().get(&server.id).await;
Ok(ServerListItem {
name: server.name,
created_at: ObjectId::from_str(&server.id)?
.timestamp()
.timestamp_millis(),
id: server.id,
tags: server.tags,
resource_type: ResourceTargetVariant::Server,

View File

@@ -1,16 +1,17 @@
use std::str::FromStr;
use monitor_client::entities::{
resource::Resource,
server_template::{
PartialServerTemplateConfig, ServerTemplate, ServerTemplateConfig, ServerTemplateConfigDiff, ServerTemplateConfigVariant, ServerTemplateListItem, ServerTemplateListItemInfo, ServerTemplateQuerySpecifics
PartialServerTemplateConfig, ServerTemplate,
ServerTemplateConfig, ServerTemplateConfigDiff,
ServerTemplateConfigVariant, ServerTemplateListItem,
ServerTemplateListItemInfo, ServerTemplateQuerySpecifics,
},
update::{ResourceTargetVariant, Update},
user::User,
MergePartial, Operation,
};
use mungos::mongodb::{
bson::{oid::ObjectId, to_document, Document},
bson::{to_document, Document},
Collection,
};
@@ -45,9 +46,6 @@ impl super::MonitorResource for ServerTemplate {
};
Ok(ServerTemplateListItem {
name: server_template.name,
created_at: ObjectId::from_str(&server_template.id)?
.timestamp()
.timestamp_millis(),
id: server_template.id,
tags: server_template.tags,
resource_type: ResourceTargetVariant::ServerTemplate,

View File

@@ -74,9 +74,12 @@ pub struct Version {
pub patch: i32,
}
impl ToString for Version {
fn to_string(&self) -> String {
format!("{}.{}.{}", self.major, self.minor, self.patch)
impl std::fmt::Display for Version {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(&format!(
"{}.{}.{}",
self.major, self.minor, self.patch
))
}
}

View File

@@ -131,7 +131,7 @@ fn get_version_image_name(
image_name: &str,
version: &Version,
) -> String {
format!("{image_name}:{}", version.to_string())
format!("{image_name}:{version}")
}
fn get_latest_image_name(image_name: &str) -> String {

View File

@@ -152,9 +152,12 @@ pub struct Version {
pub patch: i32,
}
impl ToString for Version {
fn to_string(&self) -> String {
format!("{}.{}.{}", self.major, self.minor, self.patch)
impl std::fmt::Display for Version {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(&format!(
"{}.{}.{}",
self.major, self.minor, self.patch
))
}
}

View File

@@ -28,13 +28,16 @@ pub struct Resource<Config, Info: Default = ()> {
#[builder(setter(skip))]
pub id: MongoId,
///
/// The resource name.
/// This is guaranteed unique among others of the same resource type.
pub name: String,
/// A description for the resource
#[serde(default)]
#[builder(default)]
pub description: String,
/// When description last updated
#[serde(default)]
#[builder(setter(skip))]
pub updated_at: I64,
@@ -44,23 +47,28 @@ pub struct Resource<Config, Info: Default = ()> {
#[builder(default)]
pub tags: Vec<String>,
/// Resource-specific information (not user configurable).
#[serde(default)]
#[builder(setter(skip))]
pub info: Info,
/// Resource-specific configuration.
pub config: Config,
}
#[typeshare]
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ResourceListItem<Info> {
/// The resource id
pub id: String,
/// The resource type, ie `Server` or `Deployment`
#[serde(rename = "type")]
pub resource_type: ResourceTargetVariant,
/// The resource name
pub name: String,
pub created_at: I64,
/// Tag Ids
pub tags: Vec<String>,
/// Resource specific info
pub info: Info,
}

View File

@@ -79,9 +79,10 @@ pub struct ResourcesToml {
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResourceToml<PartialConfig> {
///
/// The resource name. Required
pub name: String,
/// The resource description.
#[serde(default)]
pub description: String,
@@ -89,16 +90,20 @@ pub struct ResourceToml<PartialConfig> {
#[serde(default)]
pub tags: Vec<String>,
/// Resource specific configuration
pub config: PartialConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserGroupToml {
/// User group name
pub name: String,
/// Users in the group
#[serde(default)]
pub users: Vec<String>,
/// Permissions given to the group
#[serde(default, rename = "permission")]
pub permissions: Vec<PermissionToml>,
}