File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,16 @@ if (($collection -like '*nightly*') -And -Not ($PSBoundParameters.ContainsKey('w
120120 $windows_source = ' https://nightlies.puppet.com/downloads'
121121} elseif (($collection -like ' *puppetcore*' ) -And -Not ($PSBoundParameters.ContainsKey (' windows_source' ))) {
122122 $windows_source = ' https://artifacts-puppetcore.puppet.com/v1/download'
123+
124+ # Puppetcore requires a version to be specified, so we will use the latest version if not specified.
125+ # Or if the version is set to "latest".
126+ if ($version -eq " " || ! $version || $version -eq " latest" ) {
127+ $response = Invoke-WebRequest - Uri " https://forgeapi.puppet.com/private/versions/puppet-agent" - UseBasicParsing
128+ $jsonData = $response.Content | ConvertFrom-Json
129+ $allVersions = $jsonData.PSObject.Properties.Name
130+ $version8x = $allVersions | Where-Object { $_ -like " 8.*" }
131+ $version = $version8x | Sort-Object { [Version ]$_ } | Select-Object - Last 1
132+ }
123133}
124134
125135if ($absolute_source ) {
@@ -131,6 +141,7 @@ if ($absolute_source) {
131141 } else {
132142 $dev = ' '
133143 }
144+
134145 $msi_source = " ${windows_source} ?type=native&version=${version} &os_name=windows&os_version=${major_os_version} &os_arch=${arch} &fips=${fips}${dev} "
135146} else {
136147 $msi_source = " $windows_source /windows/${collection} /${msi_name} "
Original file line number Diff line number Diff line change @@ -152,6 +152,14 @@ if [ -n "$PT_mac_source" ]; then
152152 mac_source=$PT_mac_source
153153elif [[ " $collection " == " puppetcore" * ]]; then
154154 mac_source=' https://artifacts-puppetcore.puppet.com/v1/download'
155+ # Puppetcore requires a version to be specified, so we will use the latest version if not specified.
156+ # Or if the version is set to "latest".
157+ if [[ -z " $version " || " $version " == " latest" ]]; then
158+ version=$( curl -sL https://forgeapi.puppet.com/private/versions/puppet-agent | \
159+ jq -r ' keys_unsorted |
160+ map(select(startswith("8."))) |
161+ max_by(split(".") | map(tonumber))' )
162+ fi
155163elif [ " $nightly " = true ]; then
156164 mac_source=' http://nightlies.puppet.com/downloads'
157165else
You can’t perform that action at this time.
0 commit comments