diff --git a/crates/data-plane-controller/src/controller.rs b/crates/data-plane-controller/src/controller.rs index eaec083865..80cf006eb5 100644 --- a/crates/data-plane-controller/src/controller.rs +++ b/crates/data-plane-controller/src/controller.rs @@ -926,6 +926,8 @@ impl automations::Outcome for Outcome { gcp_service_account_email, hmac_keys, ssh_key: _, + bastion_address, + bastion_private_key, }) = self.publish_exports { _ = sqlx::query!( @@ -935,7 +937,9 @@ impl automations::Outcome for Outcome { aws_link_endpoints = $4, cidr_blocks = $5, gcp_service_account_email = $6, - hmac_keys = $7 + hmac_keys = $7, + bastion_address = $8, + bastion_private_key = $9 WHERE id = $1 AND controller_task_id = $2 "#, self.data_plane_id as models::Id, @@ -945,6 +949,8 @@ impl automations::Outcome for Outcome { &cidr_blocks, gcp_service_account_email, &hmac_keys, + bastion_address, + bastion_private_key, ) .execute(&mut *txn) .await diff --git a/crates/data-plane-controller/src/stack.rs b/crates/data-plane-controller/src/stack.rs index 212e8cc6bb..50c7ffbf46 100644 --- a/crates/data-plane-controller/src/stack.rs +++ b/crates/data-plane-controller/src/stack.rs @@ -121,6 +121,9 @@ pub struct ControlExports { pub gcp_service_account_email: String, pub hmac_keys: Vec, pub ssh_key: String, + pub bastion_address: Option, + pub bastion_private_key: Option, +} #[derive(Debug, serde::Deserialize, serde::Serialize)] pub struct PulumiStackResourceChanges { diff --git a/supabase/migrations/20250224150353_data_plane_bastion.sql b/supabase/migrations/20250224150353_data_plane_bastion.sql new file mode 100644 index 0000000000..83a94f4bb6 --- /dev/null +++ b/supabase/migrations/20250224150353_data_plane_bastion.sql @@ -0,0 +1,10 @@ +-- Add bastion-related info columns that should be exposed to customers + +begin; + +-- Address for connecting to the bastion +ALTER TABLE public.data_planes ADD bastion_address TEXT; +-- Private key to be used for connecting to bastion +ALTER TABLE public.data_planes ADD bastion_private_key TEXT; + +commit;