Rebrand to Grace Solutions; add README, about_ help, Gitea CI/CD, track Module bin #1

Merged
gsadmin merged 8 commits from dev into main 2026-06-03 01:53:11 +00:00
7 changed files with 23 additions and 8 deletions
Showing only changes of commit dce97e98de - Show all commits
+8
View File
@@ -6,6 +6,14 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos
## Unreleased
## 2026.06.03.0131
- Build produced from commit 7be0b7b42008.
- **Behavior change**: `Get-InfisicalSecrets` and `Get-InfisicalSecret` now default `-ViewSecretValue` to `$true`. Real secret values are returned by default. To request the redacted/hidden response, pass `-ViewSecretValue:$false`.
- `InfisicalSecretMapper` now treats the server-side `<hidden-by-infisical>` placeholder as a hidden marker rather than a value: when `secretValueHidden=true` (or the placeholder string is detected) `SecretValue` is set to `null` instead of stuffing the literal into a `SecureString`. This prevents downstream consumers (auth, exports, dictionary conversion) from silently using `<hidden-by-infisical>` as if it were a real secret.
## Unreleased (carried forward)
## 2026.06.03.0113
- Build produced from commit 09c577ebd0fd.
+2 -2
View File
@@ -1,6 +1,6 @@
@{
RootModule = 'PSInfisicalAPI.psm1'
ModuleVersion = '2026.06.03.0113'
ModuleVersion = '2026.06.03.0131'
GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51'
Author = 'Grace Solutions'
CompanyName = 'Grace Solutions'
@@ -27,7 +27,7 @@
LicenseUri = 'https://www.gnu.org/licenses/agpl-3.0.html'
ProjectUri = 'https://prod.git.gracesolution.info/gsadmin/PSInfisicalAPI'
ReleaseNotes = 'See CHANGELOG.md in the project repository for release history.'
CommitHash = '09c577ebd0fd'
CommitHash = '7be0b7b42008'
}
}
}
Binary file not shown.
+2 -2
View File
@@ -971,7 +971,7 @@ SecretPath: Current connection DefaultSecretPath or /
Recursive: false
IncludeImports: false
ExpandSecretReferences: false
ViewSecretValue: false
ViewSecretValue: true
```
## Behavior
@@ -1040,7 +1040,7 @@ ProjectId: Current connection ProjectId
Environment: Current connection Environment
SecretPath: Current connection DefaultSecretPath or /
Type: Shared
ViewSecretValue: false
ViewSecretValue: true
ExpandSecretReferences: false
IncludeImports: false
```
@@ -19,7 +19,7 @@ namespace PSInfisicalAPI.Cmdlets
[Parameter] public string ApiVersion { get; set; }
[Parameter] public int? Version { get; set; }
[Parameter] public InfisicalSecretType Type { get; set; } = InfisicalSecretType.Shared;
[Parameter] public SwitchParameter ViewSecretValue { get; set; }
[Parameter] public SwitchParameter ViewSecretValue { get; set; } = SwitchParameter.Present;
[Parameter] public SwitchParameter ExpandSecretReferences { get; set; }
[Parameter] public SwitchParameter IncludeImports { get; set; }
@@ -20,7 +20,7 @@ namespace PSInfisicalAPI.Cmdlets
[Parameter] public SwitchParameter IncludeImports { get; set; }
[Parameter] public SwitchParameter IncludePersonalOverrides { get; set; }
[Parameter] public SwitchParameter ExpandSecretReferences { get; set; }
[Parameter] public SwitchParameter ViewSecretValue { get; set; }
[Parameter] public SwitchParameter ViewSecretValue { get; set; } = SwitchParameter.Present;
[Parameter] public Hashtable MetadataFilter { get; set; }
[Parameter] public string[] TagSlugs { get; set; }
@@ -15,6 +15,8 @@ namespace PSInfisicalAPI.Secrets
return null;
}
bool hidden = dto.SecretValueHidden || IsHiddenPlaceholder(dto.SecretValue);
InfisicalSecret secret = new InfisicalSecret
{
Id = dto.Id,
@@ -24,8 +26,8 @@ namespace PSInfisicalAPI.Secrets
Version = dto.Version,
Type = ParseType(dto.Type),
SecretName = dto.SecretKey,
SecretValue = SecureStringUtility.ToReadOnlySecureString(dto.SecretValue),
SecretValueHidden = dto.SecretValueHidden,
SecretValue = hidden ? null : SecureStringUtility.ToReadOnlySecureString(dto.SecretValue),
SecretValueHidden = hidden,
SecretPath = dto.SecretPath,
SecretComment = dto.SecretComment,
CreatedAtUtc = ParseTimestamp(dto.CreatedAt),
@@ -41,6 +43,11 @@ namespace PSInfisicalAPI.Secrets
return secret;
}
private static bool IsHiddenPlaceholder(string value)
{
return string.Equals(value, "<hidden-by-infisical>", StringComparison.Ordinal);
}
public static InfisicalSecret[] MapMany(IEnumerable<InfisicalSecretResponseDto> items)
{
if (items == null)