Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -484,16 +484,15 @@ clickhousectl cloud postgres get <pg-id>
clickhousectl cloud postgres create \
--name my-pg \
--region us-east-1 \
--size m7i.2xlarge \
--storage-gb 100
--size c6gd.xlarge \
--pg-version 18

# Create with version + HA + tags + advanced config
# Create with HA + tags + advanced config
clickhousectl cloud postgres create \
--name my-pg \
--region us-east-1 \
--size m7i.2xlarge \
--storage-gb 100 \
--pg-version 17 \
--size c6gd.xlarge \
--pg-version 18 \
--ha-type sync \
--tag env=prod \
--pg-config-file ./pg.json
Expand All @@ -502,7 +501,6 @@ clickhousectl cloud postgres create \
clickhousectl cloud postgres update <pg-id> \
--name renamed \
--size m7i.4xlarge \
--storage-gb 200 \
--add-tag env=prod --remove-tag legacy

# Delete
Expand Down Expand Up @@ -538,7 +536,6 @@ clickhousectl cloud postgres switchover <pg-id>
| `--name` | Service name (required) |
| `--region` | Cloud region, e.g. `us-east-1` (required) |
| `--size` | Instance size, e.g. `m7i.2xlarge` (required; server-validated) |
| `--storage-gb` | Storage size in GB (required) |
| `--provider` | Cloud provider (default: `aws`) |
| `--pg-version` | Postgres major version: `18`, `17`, `16` |
| `--ha-type` | High-availability: `none`, `async`, `sync` |
Expand Down
8 changes: 0 additions & 8 deletions crates/clickhouse-cloud-api/src/models.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7860,8 +7860,6 @@ pub struct BasePostgresService {
pub region: PgRegion,
#[serde(default)]
pub size: PgSize,
#[serde(rename = "storageSize", default)]
pub storage_size: PgStorageSize,
#[serde(default)]
pub tags: PgTags,
}
Expand Down Expand Up @@ -10497,8 +10495,6 @@ pub struct PostgresServiceListItem {
pub size: PgSize,
#[serde(default)]
pub state: PgStateProperty,
#[serde(rename = "storageSize", default)]
pub storage_size: PgStorageSize,
#[serde(default)]
pub tags: PgTags,
}
Expand All @@ -10525,8 +10521,6 @@ pub struct PostgresServicePatchRequest {
pub region: Option<PgRegion>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub size: Option<PgSize>,
#[serde(rename = "storageSize", skip_serializing_if = "Option::is_none", default)]
pub storage_size: Option<PgStorageSize>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub tags: Option<PgTags>,
}
Expand All @@ -10546,8 +10540,6 @@ pub struct PostgresServicePostRequest {
pub provider: PgProvider,
pub region: PgRegion,
pub size: PgSize,
#[serde(rename = "storageSize")]
pub storage_size: PgStorageSize,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub tags: Option<PgTags>,
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ async fn cloud_clickpipe_postgres_cdc() -> TestResult<()> {
provider: PgProvider::Unknown(ctx.provider.clone()),
region: ctx.region.clone(),
size: PgSize::R8gd_medium,
storage_size: 59,
tags: Some(ctx.clickpipe_run_tags()),
..Default::default()
};
Expand Down
3 changes: 1 addition & 2 deletions crates/clickhouse-cloud-api/tests/client_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1963,7 +1963,7 @@ async fn create_postgres_service() {

Mock::given(method("POST"))
.and(path("/v1/organizations/org-1/postgres"))
.and(body_partial_json(serde_json::json!({"name": "pg-svc", "provider": "aws", "region": "us-east-1", "size": "c6gd.medium", "storageSize": 100})))
.and(body_partial_json(serde_json::json!({"name": "pg-svc", "provider": "aws", "region": "us-east-1", "size": "c6gd.medium"})))
.respond_with(ok_json(serde_json::json!({
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "pg-svc",
Expand All @@ -1980,7 +1980,6 @@ async fn create_postgres_service() {
provider: PgProvider::Aws,
region: "us-east-1".to_string(),
size: PgSize::C6gd_medium,
storage_size: 100,
..Default::default()
};
let resp = c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ async fn cloud_postgres_crud_lifecycle() -> TestResult<()> {
log_run_header("cloud_postgres_crud_lifecycle", &ctx);
let mut failures = FailureRecorder::default();
let size = PgSize::R8gd_medium;
let storage_gb: i64 = 59;

// ── Preflight ───────────────────────────────────────────────

Expand Down Expand Up @@ -57,7 +56,6 @@ async fn cloud_postgres_crud_lifecycle() -> TestResult<()> {
provider: PgProvider::Unknown(ctx.provider.clone()),
region: ctx.region.clone(),
size: size.clone(),
storage_size: storage_gb,
tags: Some(ctx.postgres_run_tags()),
..Default::default()
};
Expand Down Expand Up @@ -122,7 +120,6 @@ async fn cloud_postgres_crud_lifecycle() -> TestResult<()> {

assert_eq!(ready.name, ctx.postgres_service_name());
assert_eq!(ready.size.to_string(), size.to_string());
assert_eq!(ready.storage_size, storage_gb);
assert_eq!(ready.region, ctx.region);
assert_eq!(ready.provider.to_string(), ctx.provider);
assert!(
Expand Down
3 changes: 1 addition & 2 deletions crates/clickhouse-cloud-api/tests/models_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -627,15 +627,14 @@ fn serialize_postgres_service_post_request() {
provider: PgProvider::Aws,
region: "us-east-1".to_string(),
size: PgSize::C6gd_medium,
storage_size: 100,
..Default::default()
};
let json = serde_json::to_value(&req).unwrap();
assert_eq!(json["name"], "pg-new");
assert_eq!(json["provider"], "aws");
assert_eq!(json["region"], "us-east-1");
assert_eq!(json["size"], "c6gd.medium");
assert_eq!(json["storageSize"], 100);
assert!(json.get("storageSize").is_none());
// Optional fields omitted
assert!(json.get("haType").is_none());
assert!(json.get("pgConfig").is_none());
Expand Down
2 changes: 1 addition & 1 deletion crates/clickhousectl/src/cloud/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2672,7 +2672,7 @@ mod tests {
);

// Postgres writes
assert_write(&["clickhousectl", "cloud", "postgres", "create", "--name", "pg", "--region", "us-east-1", "--size", "m7i.2xlarge", "--storage-gb", "100"], true);
assert_write(&["clickhousectl", "cloud", "postgres", "create", "--name", "pg", "--region", "us-east-1", "--size", "m7i.2xlarge"], true);
assert_write(&["clickhousectl", "cloud", "postgres", "update", "pg-1", "--name", "renamed"], true);
assert_write(&["clickhousectl", "cloud", "postgres", "delete", "pg-1"], true);
assert_write(&["clickhousectl", "cloud", "postgres", "config", "replace", "pg-1", "--file", "/tmp/c.json"], true);
Expand Down
19 changes: 3 additions & 16 deletions crates/clickhousectl/src/cloud/postgres.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,6 @@ pub enum PostgresCommands {
/// Instance size (e.g. m7i.2xlarge). Server validates — accepts any value.
#[arg(long)]
size: String,
/// Storage size in GB
#[arg(long)]
storage_gb: i64,
/// Cloud provider
#[arg(long, default_value = "aws")]
provider: String,
Expand Down Expand Up @@ -81,8 +78,6 @@ pub enum PostgresCommands {
#[arg(long)]
size: Option<String>,
#[arg(long)]
storage_gb: Option<i64>,
#[arg(long)]
provider: Option<String>,
#[arg(long, value_parser = clap::builder::PossibleValuesParser::new(KNOWN_PG_VERSIONS))]
pg_version: Option<String>,
Expand Down Expand Up @@ -431,7 +426,6 @@ pub struct PostgresCreateOptions<'a> {
pub name: &'a str,
pub region: &'a str,
pub size: &'a str,
pub storage_gb: i64,
pub provider: &'a str,
pub pg_version: Option<&'a str>,
pub ha_type: Option<&'a str>,
Expand All @@ -445,7 +439,6 @@ pub struct PostgresUpdateOptions<'a> {
pub name: Option<&'a str>,
pub region: Option<&'a str>,
pub size: Option<&'a str>,
pub storage_gb: Option<i64>,
pub provider: Option<&'a str>,
pub pg_version: Option<&'a str>,
pub ha_type: Option<&'a str>,
Expand Down Expand Up @@ -598,7 +591,6 @@ pub async fn postgres_create(
provider,
region: opts.region.to_string(),
size,
storage_size: opts.storage_gb,
postgres_version: pg_version,
ha_type,
tags,
Expand Down Expand Up @@ -671,7 +663,6 @@ pub async fn postgres_update(
provider,
region: opts.region.map(|s| s.to_string()),
size,
storage_size: opts.storage_gb,
postgres_version: pg_version,
ha_type,
tags,
Expand Down Expand Up @@ -1067,18 +1058,16 @@ mod tests {
"--name", "pg1",
"--region", "us-east-1",
"--size", "m7i.2xlarge",
"--storage-gb", "100",
]);
let PostgresCommands::Create {
name, region, size, storage_gb, provider, pg_version, ha_type, ..
name, region, size, provider, pg_version, ha_type, ..
} = cmd
else {
panic!("expected create");
};
assert_eq!(name, "pg1");
assert_eq!(region, "us-east-1");
assert_eq!(size, "m7i.2xlarge");
assert_eq!(storage_gb, 100);
assert_eq!(provider, "aws");
assert!(pg_version.is_none());
assert!(ha_type.is_none());
Expand All @@ -1091,7 +1080,6 @@ mod tests {
"--name", "pg1",
"--region", "us-east-1",
"--size", "m7i.2xlarge",
"--storage-gb", "100",
"--pg-version", "17",
"--ha-type", "sync",
"--tag", "env=prod",
Expand All @@ -1111,10 +1099,10 @@ mod tests {
"clickhousectl", "cloud", "postgres", "create",
"--name", "pg1",
"--region", "us-east-1",
// missing --size and --storage-gb
// missing --size
])
.err().expect("expected parse error");
assert!(err.to_string().contains("--size") || err.to_string().contains("--storage-gb"));
assert!(err.to_string().contains("--size"));
}

#[test]
Expand All @@ -1124,7 +1112,6 @@ mod tests {
"--name", "pg1",
"--region", "us-east-1",
"--size", "m7i.2xlarge",
"--storage-gb", "100",
"--pg-version", "15",
])
.err().expect("expected parse error");
Expand Down
4 changes: 0 additions & 4 deletions crates/clickhousectl/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1011,7 +1011,6 @@ async fn run_postgres(
name,
region,
size,
storage_gb,
provider,
pg_version,
ha_type,
Expand All @@ -1024,7 +1023,6 @@ async fn run_postgres(
name: &name,
region: &region,
size: &size,
storage_gb,
provider: &provider,
pg_version: pg_version.as_deref(),
ha_type: ha_type.as_deref(),
Expand All @@ -1040,7 +1038,6 @@ async fn run_postgres(
name,
region,
size,
storage_gb,
provider,
pg_version,
ha_type,
Expand All @@ -1052,7 +1049,6 @@ async fn run_postgres(
name: name.as_deref(),
region: region.as_deref(),
size: size.as_deref(),
storage_gb,
provider: provider.as_deref(),
pg_version: pg_version.as_deref(),
ha_type: ha_type.as_deref(),
Expand Down