Skip to content

Support GOOGLE_OAUTH_ACCESS_TOKEN for Google Cloud Platform #1578

Merged
hiddeco merged 1 commit intogetsops:mainfrom
marensofier:add_access_token
Mar 30, 2025
Merged

Support GOOGLE_OAUTH_ACCESS_TOKEN for Google Cloud Platform #1578
hiddeco merged 1 commit intogetsops:mainfrom
marensofier:add_access_token

Conversation

@marensofier
Copy link
Contributor

@marensofier marensofier commented Aug 6, 2024

We are facing a situation where we want to use short lived access tokens with a minimum of permissions for the kms, and not use static long lived credentials ✨

That is why we really want to add support for the use of gcp access tokens in sops using the environment variable GOOGLE_OAUTH_ACCESS_TOKEN (also used by Pulumi/Terrafrom).

Closes #1188.

@devstein devstein requested a review from a team August 18, 2024 23:31
Copy link
Contributor

@devstein devstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marensofier Thank you for your contribution! This has been a frequently requested feature.

I left a few comments, but can you also please add test coverage?

@devstein
Copy link
Contributor

Related to #1358

@christoffer-eide
Copy link

Regarding the name of the env var, I would consider naming it GOOGLE_OAUTH_ACCESS_TOKEN.
This is used by Pulumi and Terraform, and has the same GOOGLE_* prefix as the existing GOOGLE_CREDENTIALS env var.

Also, which of the two should take precedence? In Pulumi it's GOOGLE_OAUTH_ACCESS_TOKEN.

Copy link
Contributor

@devstein devstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks for incorporating the feedback. One last minor change

Copy link
Contributor

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR now contains a lot of unnecessary files that should be removed. Also --signoff is missing (for DCO). Can you please fix this? Thanks!

@marensofier marensofier closed this Mar 5, 2025
@marensofier marensofier deleted the add_access_token branch March 5, 2025 07:15
@marensofier marensofier restored the add_access_token branch March 5, 2025 07:30
@marensofier marensofier reopened this Mar 5, 2025
Copy link
Contributor

@sabre1041 sabre1041 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sabre1041
Copy link
Contributor

There is a fair amount of overlap with #1794 where there does need to be some assessment between the two enhancements

@felixfontein
Copy link
Contributor

While going through all PRs I noticed that #1188 seems to do the same thing (from the general functionality point of view) as this one. So once this is done I guess we can close #1188. (If that's not correct, please tell me :) )

@felixfontein
Copy link
Contributor

@marensofier can you please resolve the conflicts and address the comments? Thanks.

@felixfontein
Copy link
Contributor

@sabre1041 @matheuscscp can you take another look at the latest version?

@felixfontein felixfontein mentioned this pull request Mar 28, 2025
@matheuscscp
Copy link
Contributor

I'd also change the name of the PR to Add support for gcp access token from environment variable

@felixfontein felixfontein changed the title Add support for gcp access token Add support for GCP access token from environment variable Mar 28, 2025
Copy link
Contributor

@felixfontein felixfontein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as far as I can tell.

Comment on lines 260 to 263
break
}

return nil, fmt.Errorf("credentials: none found: missing %q or %q environment variable", SopsGoogleCredentialsEnv, SopsGoogleCredentialsOAuthTokenEnv)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, the old behavior was to not fail if no credentials have been provided in the default branch. (Whether that makes sense - no idea. Maybe the GCP SDK does something else in that case to get hold of credentials?) If we want to restore this:

Suggested change
break
}
return nil, fmt.Errorf("credentials: none found: missing %q or %q environment variable", SopsGoogleCredentialsEnv, SopsGoogleCredentialsOAuthTokenEnv)
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe the GCP SDK does something else in that case to get hold of credentials?

Yes, it does. All the google libraries default to Application Default Credentials, which is essentially searching for credentials in the environment:

  • The GOOGLE_APPLICATION_CREDENTIALS standard environment variable (btw none of the other env vars here are this one)
  • A file created in a well-known location by the command gcloud auth application-default login
  • The GCE/GKE metadata server

However, getGoogleCredentials() (which should probably be called getGoogleCredentialsFromEnv()), only returns an error if the non-standard GOOGLE_CREDENTIALS environment variable is set, and this variable is only set when the user is declaring a clear intention of using it, so erroring out the entire operation makes sense to me. If the code ends up using an unintended authentication method that is coincidentally available, that's pretty bad in my opinion. People need to organize their configuration well, this new version of the code should help them out on that. Disruptive? Yes, probably, but for a greater good in my opinion.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disruptive? Yes, probably, but for a greater good in my opinion.

It is still a breaking change, I'd prefer not to introduce these in a minor release.

Copy link
Contributor

@matheuscscp matheuscscp Mar 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh nevermind, for some reason I wrapped my head around the error returned by getGoogleCredentials(), and not this one on the bottom. Yes, this comment makes a lot of sense!

@hiddeco hiddeco changed the title Add support for GCP access token from environment variable Support GOOGLE_OAUTH_ACCESS_TOKEN for Google Cloud Platform Mar 30, 2025
Co-authored-by: Maren Sofie Ringsby <marensofieringsby@gmail.com>
Co-authored-by: Matheus Pimenta <matheuscscp@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
@hiddeco hiddeco dismissed devstein’s stale review March 30, 2025 13:13

All review comments have been addressed by now.

@hiddeco hiddeco merged commit 8c91a3b into getsops:main Mar 30, 2025
16 checks passed
@felixfontein
Copy link
Contributor

@marensofier @warwick-mitchell1 @matheuscscp and everyone else involved in the PRs, thanks a lot for your contributions, reviews, and comments! I'm glad we finally got this resolved and merged :)

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 20, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [getsops/sops](https://github.com/getsops/sops) | minor | `v3.9.4` -> `v3.10.2` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>getsops/sops (getsops/sops)</summary>

### [`v3.10.2`](https://github.com/getsops/sops/releases/tag/v3.10.2)

[Compare Source](getsops/sops@v3.10.1...v3.10.2)

#### Installation

To install `sops`, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

```shell

### Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64

### Move the binary in to your PATH
mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops

### Make the binary executable
chmod +x /usr/local/bin/sops
```

##### Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of this file, run the following commands:

```shell

### Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.checksums.sig

### Verify the checksums file
cosign verify-blob sops-v3.10.2.checksums.txt \
  --certificate sops-v3.10.2.checksums.pem \
  --signature sops-v3.10.2.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com
```

##### Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

```shell

### Verify the binary using the checksums file
sha256sum -c sops-v3.10.2.checksums.txt --ignore-missing
```

##### Verify artifact provenance

The [SLSA provenance](https://slsa.dev/provenance/v0.2) of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an [in-toto](https://in-toto.io/) link metadata file named `sops-v3.10.2.intoto.jsonl`. To verify the provenance of an artifact, you can utilize the [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier#artifacts) tool:

```shell

### Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.intoto.jsonl

### Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path sops-v3.10.2.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.10.2
```

#### Container Images

The `sops` binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: `linux/amd64` and `linux/arm64`.

##### GitHub Container Registry

-   `ghcr.io/getsops/sops:v3.10.2`
-   `ghcr.io/getsops/sops:v3.10.2-alpine`

##### Quay.io

-   `quay.io/getsops/sops:v3.10.2`
-   `quay.io/getsops/sops:v3.10.2-alpine`

##### Verify container image signature

The container images are signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of an image, run the following command:

```shell
cosign verify ghcr.io/getsops/sops:v3.10.2 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text
```

##### Verify container image provenance

The container images include [SLSA provenance](https://slsa.dev/provenance/v0.2) attestations. For more information around the verification of this, please refer to the [`slsa-verifier` documentation](https://github.com/slsa-framework/slsa-verifier#containers).

#### Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an [SPDX](https://spdx.dev/) JSON file, formatted as `<binary>.spdx.sbom.json`.

#### What's Changed

-   build(deps): Bump the go group with 13 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1834
-   Use latest 1.24 Go version for release build by [@&#8203;hiddeco](https://github.com/hiddeco) in getsops/sops#1836
-   Remove reserved keyword check from YAML store's `LoadPlainFile()` by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1829
-   build(deps): Bump the go group with 9 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1839
-   build(deps): Bump github/codeql-action from 3.28.13 to 3.28.15 in the ci group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1840
-   Release 3.10.2 release by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1841

**Full Changelog**: getsops/sops@v3.10.1...v3.10.2

### [`v3.10.1`](https://github.com/getsops/sops/releases/tag/v3.10.1)

[Compare Source](getsops/sops@v3.10.0...v3.10.1)

#### Installation

To install `sops`, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

```shell

### Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.10.1/sops-v3.10.1.linux.amd64

### Move the binary in to your PATH
mv sops-v3.10.1.linux.amd64 /usr/local/bin/sops

### Make the binary executable
chmod +x /usr/local/bin/sops
```

##### Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of this file, run the following commands:

```shell

### Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.10.1/sops-v3.10.1.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.10.1/sops-v3.10.1.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.10.1/sops-v3.10.1.checksums.sig

### Verify the checksums file
cosign verify-blob sops-v3.10.1.checksums.txt \
  --certificate sops-v3.10.1.checksums.pem \
  --signature sops-v3.10.1.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com
```

##### Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

```shell

### Verify the binary using the checksums file
sha256sum -c sops-v3.10.1.checksums.txt --ignore-missing
```

##### Verify artifact provenance

The [SLSA provenance](https://slsa.dev/provenance/v0.2) of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an [in-toto](https://in-toto.io/) link metadata file named `sops-v3.10.1.intoto.jsonl`. To verify the provenance of an artifact, you can utilize the [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier#artifacts) tool:

```shell

### Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.10.1/sops-v3.10.1.intoto.jsonl

### Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path sops-v3.10.1.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.10.1
```

#### Container Images

The `sops` binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: `linux/amd64` and `linux/arm64`.

##### GitHub Container Registry

-   `ghcr.io/getsops/sops:v3.10.1`
-   `ghcr.io/getsops/sops:v3.10.1-alpine`

##### Quay.io

-   `quay.io/getsops/sops:v3.10.1`
-   `quay.io/getsops/sops:v3.10.1-alpine`

##### Verify container image signature

The container images are signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of an image, run the following command:

```shell
cosign verify ghcr.io/getsops/sops:v3.10.1 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text
```

##### Verify container image provenance

The container images include [SLSA provenance](https://slsa.dev/provenance/v0.2) attestations. For more information around the verification of this, please refer to the [`slsa-verifier` documentation](https://github.com/slsa-framework/slsa-verifier#containers).

#### Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an [SPDX](https://spdx.dev/) JSON file, formatted as `<binary>.spdx.sbom.json`.

#### What's Changed

-   build(deps): Bump the ci group with 2 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1826
-   Release 3.10.1 by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1827

**Full Changelog**: getsops/sops@v3.10.0...v3.10.1

### [`v3.10.0`](https://github.com/getsops/sops/releases/tag/v3.10.0)

[Compare Source](getsops/sops@v3.9.4...v3.10.0)

#### Installation

To install `sops`, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

```shell

### Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.10.0/sops-v3.10.0.linux.amd64

### Move the binary in to your PATH
mv sops-v3.10.0.linux.amd64 /usr/local/bin/sops

### Make the binary executable
chmod +x /usr/local/bin/sops
```

##### Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of this file, run the following commands:

```shell

### Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.10.0/sops-v3.10.0.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.10.0/sops-v3.10.0.checksums.pem
curl -LO https://github.com/getsops/sops/releases/download/v3.10.0/sops-v3.10.0.checksums.sig

### Verify the checksums file
cosign verify-blob sops-v3.10.0.checksums.txt \
  --certificate sops-v3.10.0.checksums.pem \
  --signature sops-v3.10.0.checksums.sig \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com
```

##### Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

```shell

### Verify the binary using the checksums file
sha256sum -c sops-v3.10.0.checksums.txt --ignore-missing
```

##### Verify artifact provenance

The [SLSA provenance](https://slsa.dev/provenance/v0.2) of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an [in-toto](https://in-toto.io/) link metadata file named `sops-v3.10.0.intoto.jsonl`. To verify the provenance of an artifact, you can utilize the [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier#artifacts) tool:

```shell

### Download the metadata file
curl -LO  https://github.com/getsops/sops/releases/download/v3.10.0/sops-v3.10.0.intoto.jsonl

### Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact> \
  --provenance-path sops-v3.10.0.intoto.jsonl \
  --source-uri github.com/getsops/sops \
  --source-tag v3.10.0
```

#### Container Images

The `sops` binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: `linux/amd64` and `linux/arm64`.

##### GitHub Container Registry

-   `ghcr.io/getsops/sops:v3.10.0`
-   `ghcr.io/getsops/sops:v3.10.0-alpine`

##### Quay.io

-   `quay.io/getsops/sops:v3.10.0`
-   `quay.io/getsops/sops:v3.10.0-alpine`

##### Verify container image signature

The container images are signed using [Cosign](https://docs.sigstore.dev/cosign/overview/) with GitHub OIDC. To validate the signature of an image, run the following command:

```shell
cosign verify ghcr.io/getsops/sops:v3.10.0 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text
```

##### Verify container image provenance

The container images include [SLSA provenance](https://slsa.dev/provenance/v0.2) attestations. For more information around the verification of this, please refer to the [`slsa-verifier` documentation](https://github.com/slsa-framework/slsa-verifier#containers).

#### Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an [SPDX](https://spdx.dev/) JSON file, formatted as `<binary>.spdx.sbom.json`.

#### What's Changed

-   build(deps): Bump alpine from 3.18 to 3.21 in /.release in the docker group across 1 directory by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1700
-   Convert changelog to MarkDown by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1741
-   build(deps): Bump the go group with 7 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1743
-   build(deps): Bump the go group with 9 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1745
-   build(deps): Bump the rust group in /functional-tests with 2 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1744
-   build(deps): Bump github/codeql-action from 3.28.5 to 3.28.8 in the ci group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1746
-   build(deps): Bump the go group with 12 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1751
-   build(deps): Bump the ci group with 4 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1750
-   Add --input-type option for filestatus subcommand by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1601
-   Use SOPS_EDITOR before EDITOR by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1611
-   Allow users to disable version check via environment variable by [@&#8203;nicklasfrahm](https://github.com/nicklasfrahm) in getsops/sops#1684
-   add duplicate section support to ini store by [@&#8203;reindlt](https://github.com/reindlt) in getsops/sops#1452
-   stores: test for duplicate keys, reserve keyword (yaml only now) by [@&#8203;holiman](https://github.com/holiman) in getsops/sops#1203
-   Add same process option for exec-env by [@&#8203;ricmatsui](https://github.com/ricmatsui) in getsops/sops#880
-   outputs: add trailing newline at the end of JSON files by [@&#8203;duthils](https://github.com/duthils) in getsops/sops#1476
-   set subcommand: add --idempotent flag that will not write the file if no change happened by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1754
-   Encrypt and decrypt time.Time objects by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1759
-   build(deps): Bump the go group with 8 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1763
-   build(deps): Bump tempfile from 3.16.0 to 3.17.0 in /functional-tests in the rust group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1762
-   build(deps): Bump goreleaser/goreleaser-action from 6.1.0 to 6.2.1 in the ci group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1761
-   fix(docs): typo in README.rst by [@&#8203;Paredev](https://github.com/Paredev) in getsops/sops#1765
-   Add SSH support for age by [@&#8203;haoqixu](https://github.com/haoqixu) in getsops/sops#1692
-   make sure that tests do not pick keys.txt from user's HOME dir by [@&#8203;tomaszduda23](https://github.com/tomaszduda23) in getsops/sops#1766
-   support for age identity with passphrase by [@&#8203;tomaszduda23](https://github.com/tomaszduda23) in getsops/sops#1400
-   build(deps): Bump the rust group in /functional-tests with 4 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1768
-   build(deps): Bump the go group with 12 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1769
-   build(deps): Bump the ci group with 4 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1770
-   build(deps): Bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1773
-   feat: add age plugin support by [@&#8203;brianmcgee](https://github.com/brianmcgee) in getsops/sops#1641
-   Check GnuPG decryption result for non-empty size by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1776
-   vendored age code: consolidate passphrase reading functionality by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1775
-   Allow to encrypt and decrypt from stdin by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1690
-   build(deps): Bump the go group with 11 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1784
-   build(deps): Bump the ci group with 5 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1782
-   build(deps): Bump serde_json from 1.0.139 to 1.0.140 in /functional-tests in the rust group; bump Rust to 1.85.0 by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1783
-   build(deps): Bump the go group with 13 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1797
-   build(deps): Bump the rust group in /functional-tests with 3 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1796
-   build(deps): Bump github/codeql-action from 3.28.10 to 3.28.11 in the ci group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1795
-   build(deps): Bump the go group with 6 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1802
-   build(deps): Bump tempfile from 3.18.0 to 3.19.0 in /functional-tests in the rust group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1800
-   build(deps): Bump docker/login-action from 3.3.0 to 3.4.0 in the ci group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1801
-   build(deps): Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1806
-   goreleaser: add windows arm64 by [@&#8203;duthils](https://github.com/duthils) in getsops/sops#1791
-   Add a way to set sops config location via envvar by [@&#8203;sledzikowy](https://github.com/sledzikowy) in getsops/sops#1701
-   build(deps): Bump the go group with 3 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1809
-   build(deps): Bump the ci group with 5 updates by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1808
-   build(deps): Bump tempfile from 3.19.0 to 3.19.1 in /functional-tests in the rust group by [@&#8203;dependabot](https://github.com/dependabot) in getsops/sops#1807
-   Support --config option in publish subcommand by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1779
-   Fix caching of Metadata.DataKey by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1781
-   Lint by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1780
-   updatekeys subcommand: rename GroupQuorum to ShamirThreshold by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1631
-   If --filename-override is specified, convert it to an absolute path same as regular filenames by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1793
-   Add support for `oauth2.TokenSource` in GCP KMS by [@&#8203;matheuscscp](https://github.com/matheuscscp) in getsops/sops#1794
-   Added SOPS_AGE_KEY_CMD option to age, fixes [#&#8203;1323](getsops/sops#1323) by [@&#8203;danilobuerger](https://github.com/danilobuerger) in getsops/sops#1811
-   chore: omitempty metadata to reduce the size of stored config by [@&#8203;cgetzen](https://github.com/cgetzen) in getsops/sops#1571
-   Improve Shamir Secret Sharing code by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1813
-   Update all dependencies by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1814
-   Run 'gofmt -w' on all .go files by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1817
-   Add option to explicitly check for the latest version; deprecate current default of always doing that unless disabled by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1816
-   Build using Go 1.24 and drop support for 1.22 by [@&#8203;hiddeco](https://github.com/hiddeco) in getsops/sops#1819
-   Support `GOOGLE_OAUTH_ACCESS_TOKEN` for Google Cloud Platform  by [@&#8203;marensofier](https://github.com/marensofier) in getsops/sops#1578
-   Warn about `.sops.yml` files found while searching for `.sops.yaml` by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1820
-   Release 3.10.0 by [@&#8203;felixfontein](https://github.com/felixfontein) in getsops/sops#1815
-   Added support for multiarch windows release binaries by [@&#8203;sabre1041](https://github.com/sabre1041) in getsops/sops#1823

#### New Contributors

-   [@&#8203;reindlt](https://github.com/reindlt) made their first contribution in getsops/sops#1452
-   [@&#8203;ricmatsui](https://github.com/ricmatsui) made their first contribution in getsops/sops#880
-   [@&#8203;Paredev](https://github.com/Paredev) made their first contribution in getsops/sops#1765
-   [@&#8203;haoqixu](https://github.com/haoqixu) made their first contribution in getsops/sops#1692
-   [@&#8203;brianmcgee](https://github.com/brianmcgee) made their first contribution in getsops/sops#1641
-   [@&#8203;sledzikowy](https://github.com/sledzikowy) made their first contribution in getsops/sops#1701
-   [@&#8203;matheuscscp](https://github.com/matheuscscp) made their first contribution in getsops/sops#1794
-   [@&#8203;danilobuerger](https://github.com/danilobuerger) made their first contribution in getsops/sops#1811
-   [@&#8203;cgetzen](https://github.com/cgetzen) made their first contribution in getsops/sops#1571
-   [@&#8203;marensofier](https://github.com/marensofier) made their first contribution in getsops/sops#1578
-   [@&#8203;sabre1041](https://github.com/sabre1041) made their first contribution in getsops/sops#1823

**Full Changelog**: getsops/sops@v3.9.4...v3.10.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjIuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI0MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

Comments