Skip to content

Commit

Permalink
SQL Server on Server 2025 (#2413)
Browse files Browse the repository at this point in the history
  • Loading branch information
bkatyl authored Nov 20, 2024
1 parent 74cf495 commit 57d8382
Show file tree
Hide file tree
Showing 30 changed files with 1,743 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*4"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2017-enterprise-windows-2025-dc",
"Family": "sql-ent-2017-win-2025",
"Description": "Microsoft, SQL Server 2017 Enterprise, on Windows Server 2025 Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2017-enterprise",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2017-enterprise",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"Name": "sql-2017-enterprise-windows-2025-dc",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"gcs_url": {
"Required": true,
"Description": "The GCS url that the image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "The GCS url that the sbom file exported to."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"install_disk": "disk-install",
"publish_project": "${PROJECT}",
"sql_server_media": {
"Required": true,
"Description": "GCS or local path to the SQL Server installer media"
},
"source_image_project": {
"Value": "windows-cloud",
"Description": "Project to source base image from."
},
"ssms_exe": {
"Required": true,
"Description": "GCS or local path to SSMS installer"
},
"timeout": {
"Value": "4h",
"Description": "The timeout to set for the image build."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
},
"sha256_txt": {
"Value": "${OUTSPATH}/export-image-shasum.txt",
"Description": "The file where the sha256 sum is stored."
}
},
"Steps": {
"build": {
"Timeout": "${timeout}",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/sqlserver/sql-2017-enterprise-windows-2025-dc.wf.json",
"Vars": {
"build_date": "${TIMESTAMP}",
"install_disk": "disk-install",
"publish_project": "${publish_project}",
"sql_server_media": "${sql_server_media}",
"source_image_project": "${source_image_project}",
"ssms_exe": "${ssms_exe}",
"timeout": "${timeout}",
"sbom_destination": "${sbom_destination}",
"sbom_util_gcs_root": "${sbom_util_gcs_root}"
}
}
},
"sqlserver-export": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"source_disk": "${install_disk}",
"destination": "${gcs_url}",
"existing_sbom_file_name": "${sbom_destination}",
"sbom_already_generated": "true",
"sha256_txt": "${sha256_txt}"
}
}
}
},
"Dependencies": {
"sqlserver-export": [
"build"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*4"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2017-standard-windows-2025-dc",
"Family": "sql-std-2017-win-2025",
"Description": "Microsoft, SQL Server 2017 Standard, on Windows Server 2025 Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2017-standard",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2017-standard",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"Name": "sql-2017-standard-windows-2025-dc",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"gcs_url": {
"Required": true,
"Description": "The GCS url that the image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "The GCS url that the sbom file exported to."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"install_disk": "disk-install",
"publish_project": "${PROJECT}",
"sql_server_media": {
"Required": true,
"Description": "GCS or local path to the SQL Server installer media"
},
"source_image_project": {
"Value": "windows-cloud",
"Description": "Project to source base image from."
},
"ssms_exe": {
"Required": true,
"Description": "GCS or local path to SSMS installer"
},
"timeout": {
"Value": "4h",
"Description": "The timeout to set for the image build."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
},
"sha256_txt": {
"Value": "${OUTSPATH}/export-image-shasum.txt",
"Description": "The file where the sha256 sum is stored."
}
},
"Steps": {
"build": {
"Timeout": "${timeout}",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/sqlserver/sql-2017-standard-windows-2025-dc.wf.json",
"Vars": {
"build_date": "${TIMESTAMP}",
"install_disk": "disk-install",
"publish_project": "${publish_project}",
"sql_server_media": "${sql_server_media}",
"source_image_project": "${source_image_project}",
"ssms_exe": "${ssms_exe}",
"timeout": "${timeout}",
"sbom_destination": "${sbom_destination}",
"sbom_util_gcs_root": "${sbom_util_gcs_root}"
}
}
},
"sqlserver-export": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"source_disk": "${install_disk}",
"destination": "${gcs_url}",
"existing_sbom_file_name": "${sbom_destination}",
"sbom_already_generated": "true",
"sha256_txt": "${sha256_txt}"
}
}
}
},
"Dependencies": {
"sqlserver-export": [
"build"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{{/*
Template to publish SQL Server Windows images
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod',
or 'staging'.
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "sql-server-windows-uefi",
"SourceGCSPath": "gs://gce-image-archive/sqlserver-uefi",
{{$work_project := `"gce-image-builder"` -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*4"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "windows-sql-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "staging" -}}
"WorkProject": "bct-staging-images",
"PublishProject": "bct-staging-images",
"ComputeEndpoint": "https://www.googleapis.com/compute/staging_alpha/projects/",
"DeleteAfter": {{$delete_after}},
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$guest_features := `["MULTI_IP_SUBNET","UEFI_COMPATIBLE","VIRTIO_SCSI_MULTIQUEUE","GVNIC","WINDOWS"]` -}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "sql-2017-web-windows-2025-dc",
"Family": "sql-web-2017-win-2025",
"Description": "Microsoft, SQL Server 2017 Web, on Windows Server 2025 Datacenter, x64 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
{{if eq .environment "staging" -}}
"projects/bct-staging-functional/global/licenses/sql-server-2017-web",
"projects/bct-staging-functional/global/licenses/windows-server-2025-dc"
{{- else -}}
"projects/windows-sql-cloud/global/licenses/sql-server-2017-web",
"projects/windows-cloud/global/licenses/windows-server-2025-dc"
{{- end}}
],
"GuestOsFeatures": {{$guest_features}}
}
]
}
Loading

0 comments on commit 57d8382

Please sign in to comment.