Skip to content

Commit d388b10

Browse files
feat: Add Get-HelmReleaseHistory function
1 parent 100a1be commit d388b10

File tree

5 files changed

+20
-11
lines changed

5 files changed

+20
-11
lines changed

demo/.guided-setup.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<#PSScriptInfo
2-
.VERSION 1.2.0
2+
.VERSION 1.3.0
33
.GUID 968cc756-ddef-4289-844e-4341ef350f48
44
.AUTHOR Guided Setup Author
55
.DESCRIPTION Establishes setup graph and starts guided setup
66
#>
77

8-
using module @{ModuleName='guided-setup'; RequiredVersion='1.9.0' }
8+
using module @{ModuleName='guided-setup'; RequiredVersion='1.10.0' }
99

1010
$ErrorActionPreference = 'Stop'
1111
$VerbosePreference = 'Continue'

demo/.install-guided-setup-module.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#PSScriptInfo
2-
.VERSION 1.2.0
2+
.VERSION 1.3.0
33
.GUID f71af2c9-8015-4f6a-8aab-e4080b4ff428
44
.AUTHOR Guided Setup Author
55
.DESCRIPTION Conditionally installs guided-setup module
@@ -15,7 +15,7 @@ function Test-AvailableModule($name, $version) {
1515
}
1616

1717
$guidedSetupModuleName = 'guided-setup'
18-
$guidedSetupRequiredVersion = '1.9.0' # must match constant in using-module statements
18+
$guidedSetupRequiredVersion = '1.10.0' # must match constant in using-module statements
1919

2020
$verbosePref = $global:VerbosePreference
2121
try {

demo/test/guided-setup-tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using module @{ModuleName='guided-setup'; RequiredVersion='1.9.0' }
1+
using module @{ModuleName='guided-setup'; RequiredVersion='1.10.0' }
22

33
Import-Module 'pester' -ErrorAction SilentlyContinue
44
if (-not $?) {

functions/helm.ps1

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,28 @@
11
<#PSScriptInfo
2-
.VERSION 1.0.0
2+
.VERSION 1.1.0
33
.GUID 04273f72-e001-415b-add0-e5e95e378355
44
.AUTHOR Code Dx
55
.DESCRIPTION Includes Helm-related helpers
66
#>
77

8-
function Get-HelmReleaseAppVersion([string] $namespace, [string] $releaseName) {
8+
function Get-HelmReleaseHistory([string] $namespace, [string] $releaseName) {
99

1010
$history = helm -n $namespace history $releaseName --max 1 -o json
1111
if ($null -eq $history) {
1212
return $null
1313
}
1414

15-
$historyJson = convertfrom-json $history
16-
new-object Management.Automation.SemanticVersion($historyJson.app_version)
15+
convertfrom-json $history
16+
}
17+
18+
function Get-HelmReleaseAppVersion([string] $namespace, [string] $releaseName) {
19+
20+
$history = Get-HelmReleaseHistory $namespace $releaseName
21+
if ($null -eq $history) {
22+
return $null
23+
}
24+
25+
new-object Management.Automation.SemanticVersion($history.app_version)
1726
}
1827

1928
function Add-HelmRepo([string] $name, [string] $url) {

guided-setup.psd1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'guided-setup'
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.9.0'
15+
ModuleVersion = '1.10.0'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = @('Core')
@@ -74,7 +74,7 @@ PowerShellVersion = '7.0.0'
7474
# $files = (Get-ChildItem -LiteralPath './functions' -Recurse -Include '*.ps1','*.psm1') + (Get-ChildItem './guided-setup.psm1')
7575
# [string]::join(',',($files | ForEach-Object { Select-String -input $_ -pattern '^function\s([^(]+)(?:\s|\()' -allmatches | ForEach-Object { "'$($_.matches.groups[1].value)'" } } | Sort-Object))
7676
#
77-
FunctionsToExport = @('Add-HelmRepo','Add-KeystoreAlias','Add-ResourceLabel','Add-Step','Add-StepTransition','Add-StepTransitions','Clear-HostStep','Convert-Base64','ConvertTo-Map','ConvertTo-PsonMap','ConvertTo-PsonStringArray','ConvertTo-YamlIntArray','ConvertTo-YamlMap','ConvertTo-YamlMap','ConvertTo-YamlStringArray','Copy-DBBackupFiles','Copy-K8sItem','Edit-ResourceJsonPath','Edit-ResourceStrategicPatch','Format-KeyValueAssignment','Format-NodeSelector','Format-PodTolerationNoScheduleNoExecute','Format-ResourceLimitRequest','Get-AppCommandPath','Get-CertificateFromCsr','Get-CommonName','Get-CsrSignerNameLegacyUnknown','Get-DatabaseUrl','Get-DockerImageParts','Get-HelmChartFullname','Get-HelmReleaseAppVersion','Get-HelmValues','Get-HelmVersionMajorMinor','Get-IPv4AddressList','Get-KeystorePasswordEscaped','Get-KeytoolJavaSettings','Get-KeytoolJavaSpec','Get-KubectlClientVersion','Get-KubectlContext','Get-KubectlContexts','Get-KubectlDryRunParam','Get-KubectlServerSemanticVersion','Get-KubectlServerVersion','Get-KubectlServerVersionMajor','Get-KubectlServerVersionMinor','Get-KubectlVersion','Get-KubernetesEndpointsPort','Get-KubernetesPort','Get-MasterFilePosAfterReset','Get-ResourceDirectoryPath','Get-SecretFieldValue','Get-SemanticVersionComponents','Get-ServiceAccountName','Get-TrustedCaCertAlias','Get-VirtualCpuCountFromReservation','Import-TrustedCaCert','Import-TrustedCaCerts','Invoke-GitClone','Invoke-GuidedSetup','Invoke-HelmCommand','New-Certificate','New-CertificateConfigMap','New-CertificateConfigMapResource','New-CertificateSecret','New-CertificateSecretResource','New-ConfigMap','New-ConfigMapResource','New-Csr','New-CsrApproval','New-CsrResource','New-Database','New-DockerImagePullSecretResource','New-GenericSecret','New-GenericSecretResource','New-GitRepository','New-HelmCommand','New-HelmControllerChartSource','New-HelmControllerConfigMapValues','New-HelmControllerGitSource','New-HelmOperatorChartSource','New-HelmOperatorConfigMapValues','New-HelmOperatorGitSource','New-HelmRelease','New-HelmRepository','New-ImagePullSecret','New-Namespace','New-NamespacedResource','New-NamespacedResourceFromYaml','New-NamespaceResource','New-PriorityClass','New-PriorityClassResource','New-ResourceFile','New-SealedSecret','New-SealedSecretFile','New-SecretResourceFile','Read-HostChoice','Read-HostEnter','Read-HostSecureText','Read-HostText','Remove-ConfigMap','Remove-CsrResource','Remove-Database','Remove-KeystoreAlias','Remove-KubernetesJob','Remove-KubernetesPvc','Remove-NamespacedResource','Remove-Pod','Remove-PriorityClass','Remove-ResourceLabel','Remove-Secret','Remove-VeleroBackupSchedule','Set-CustomResourceDefinitionResource','Set-DeploymentReplicas','Set-GuidedSetupModulePreferences','Set-K8sResource','Set-KeystorePassword','Set-KubectlContext','Set-KubectlFromFilePath','Set-NamespaceLabel','Set-NonNamespacedResource','Set-Replicas','Set-ResourceDirectory','Set-StatefulSetReplicas','Split-DockerName','Split-DockerRepo','Start-SlaveDB','Stop-SlaveDB','Test-CertificateSigningRequestV1Beta1','Test-CertificateSigningRequestV1Beta1','Test-ClusterInfo','Test-ConfigMap','Test-CsrResource','Test-CurrentKubeContext','Test-Database','Test-Deployment','Test-DeploymentLabel','Test-EmailAddress','Test-HelmRelease','Test-IsBlacklisted','Test-IsCore','Test-IsElevated','Test-IsValidParameterValue','Test-KeystorePassword','Test-KeyToolCertificate','Test-KubectlUsesDryRunBool {','Test-KubernetesJob','Test-MinPsMajorVersion','Test-Namespace','Test-NamespacedResource','Test-NonNamespacedResource','Test-Pod','Test-PriorityClass','Test-ResourceApiVersion','Test-Secret','Test-Service','Test-SetupKubernetesVersion','Test-StatefulSet','Test-VeleroBackupSchedule','Wait-AllRunningPods','Wait-Deployment','Wait-JobSuccess','Wait-ReplicasReady','Wait-RunningPod','Wait-StatefulSet','Write-ErrorMessageAndExit','Write-HostSection','Write-ImportantNote','Write-StepGraph')
77+
FunctionsToExport = @('Add-HelmRepo','Add-KeystoreAlias','Add-ResourceLabel','Add-Step','Add-StepTransition','Add-StepTransitions','Clear-HostStep','Convert-Base64','ConvertTo-Map','ConvertTo-PsonMap','ConvertTo-PsonStringArray','ConvertTo-YamlIntArray','ConvertTo-YamlMap','ConvertTo-YamlMap','ConvertTo-YamlStringArray','Copy-DBBackupFiles','Copy-K8sItem','Edit-ResourceJsonPath','Edit-ResourceStrategicPatch','Format-KeyValueAssignment','Format-NodeSelector','Format-PodTolerationNoScheduleNoExecute','Format-ResourceLimitRequest','Get-AppCommandPath','Get-CertificateFromCsr','Get-CommonName','Get-CsrSignerNameLegacyUnknown','Get-DatabaseUrl','Get-DockerImageParts','Get-HelmChartFullname','Get-HelmReleaseAppVersion','Get-HelmReleaseHistory','Get-HelmValues','Get-HelmVersionMajorMinor','Get-IPv4AddressList','Get-KeystorePasswordEscaped','Get-KeytoolJavaSettings','Get-KeytoolJavaSpec','Get-KubectlClientVersion','Get-KubectlContext','Get-KubectlContexts','Get-KubectlDryRunParam','Get-KubectlServerSemanticVersion','Get-KubectlServerVersion','Get-KubectlServerVersionMajor','Get-KubectlServerVersionMinor','Get-KubectlVersion','Get-KubernetesEndpointsPort','Get-KubernetesPort','Get-MasterFilePosAfterReset','Get-ResourceDirectoryPath','Get-SecretFieldValue','Get-SemanticVersionComponents','Get-ServiceAccountName','Get-TrustedCaCertAlias','Get-VirtualCpuCountFromReservation','Import-TrustedCaCert','Import-TrustedCaCerts','Invoke-GitClone','Invoke-GuidedSetup','Invoke-HelmCommand','New-Certificate','New-CertificateConfigMap','New-CertificateConfigMapResource','New-CertificateSecret','New-CertificateSecretResource','New-ConfigMap','New-ConfigMapResource','New-Csr','New-CsrApproval','New-CsrResource','New-Database','New-DockerImagePullSecretResource','New-GenericSecret','New-GenericSecretResource','New-GitRepository','New-HelmCommand','New-HelmControllerChartSource','New-HelmControllerConfigMapValues','New-HelmControllerGitSource','New-HelmOperatorChartSource','New-HelmOperatorConfigMapValues','New-HelmOperatorGitSource','New-HelmRelease','New-HelmRepository','New-ImagePullSecret','New-Namespace','New-NamespacedResource','New-NamespacedResourceFromYaml','New-NamespaceResource','New-PriorityClass','New-PriorityClassResource','New-ResourceFile','New-SealedSecret','New-SealedSecretFile','New-SecretResourceFile','Read-HostChoice','Read-HostEnter','Read-HostSecureText','Read-HostText','Remove-ConfigMap','Remove-CsrResource','Remove-Database','Remove-KeystoreAlias','Remove-KubernetesJob','Remove-KubernetesPvc','Remove-NamespacedResource','Remove-Pod','Remove-PriorityClass','Remove-ResourceLabel','Remove-Secret','Remove-VeleroBackupSchedule','Set-CustomResourceDefinitionResource','Set-DeploymentReplicas','Set-GuidedSetupModulePreferences','Set-K8sResource','Set-KeystorePassword','Set-KubectlContext','Set-KubectlFromFilePath','Set-NamespaceLabel','Set-NonNamespacedResource','Set-Replicas','Set-ResourceDirectory','Set-StatefulSetReplicas','Split-DockerName','Split-DockerRepo','Start-SlaveDB','Stop-SlaveDB','Test-CertificateSigningRequestV1Beta1','Test-CertificateSigningRequestV1Beta1','Test-ClusterInfo','Test-ConfigMap','Test-CsrResource','Test-CurrentKubeContext','Test-Database','Test-Deployment','Test-DeploymentLabel','Test-EmailAddress','Test-HelmRelease','Test-IsBlacklisted','Test-IsCore','Test-IsElevated','Test-IsValidParameterValue','Test-KeystorePassword','Test-KeyToolCertificate','Test-KubectlUsesDryRunBool {','Test-KubernetesJob','Test-MinPsMajorVersion','Test-Namespace','Test-NamespacedResource','Test-NonNamespacedResource','Test-Pod','Test-PriorityClass','Test-ResourceApiVersion','Test-Secret','Test-Service','Test-SetupKubernetesVersion','Test-StatefulSet','Test-VeleroBackupSchedule','Wait-AllRunningPods','Wait-Deployment','Wait-JobSuccess','Wait-ReplicasReady','Wait-RunningPod','Wait-StatefulSet','Write-ErrorMessageAndExit','Write-HostSection','Write-ImportantNote','Write-StepGraph')
7878

7979
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
8080
CmdletsToExport = @()

0 commit comments

Comments
 (0)