message: Proper schema for Version
diff: use derive_more::Display;
  -use schemars::JsonSchema;
  +use schemars::{
  + gen::SchemaGenerator,
  + schema::{InstanceType, SchemaObject, StringValidation},
  + JsonSchema,
  +};
  use serde::{Deserialize, Serialize};
  use std::str::FromStr;
  use thiserror::Error;
  @@ -12,7 +16,7 @@ pub struct ParseError {
  }
  /// Container version
  -#[derive(Clone, Eq, PartialEq, Hash, Debug, JsonSchema)]
  +#[derive(Clone, Eq, PartialEq, Hash, Debug)]
  pub struct Version {
  /// Major
  pub major: u64,
  @@ -105,6 +109,25 @@ impl PartialOrd for Version {
  }
  }
  +impl JsonSchema for Version {
  + fn schema_name() -> String {
  + "Version".to_string()
  + }
  +
  + fn json_schema(_: &mut SchemaGenerator) -> schemars::schema::Schema {
  + SchemaObject {
  + instance_type: Some(InstanceType::String.into()),
  + string: Some(Box::new(StringValidation {
  + min_length: Some(5),
  + max_length: None,
  + pattern: Some("[0-9]+\\.[0-9]+\\.[0-9]+".into()),
  + })),
  + ..Default::default()
  + }
  + .into()
  + }
  +}
  +
  #[test]
  fn version() -> anyhow::Result<()> {
  let v1 = Version::parse("1.0.0")?;
  