Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sign meilisearch docker image #2179

Open
curquiza opened this issue Feb 17, 2022 · 4 comments · May be fixed by #3265
Open

Sign meilisearch docker image #2179

curquiza opened this issue Feb 17, 2022 · 4 comments · May be fixed by #3265
Labels
enhancement New feature or improvement tooling Not directly project related, like Docker, Homebrew...

Comments

@curquiza
Copy link
Member

curquiza commented Feb 17, 2022

We would like to make our official docker image signed

Example of sources: https://betterprogramming.pub/docker-content-trust-security-digital-signatures-eeae9348140d

@curquiza curquiza added enhancement New feature or improvement tooling Not directly project related, like Docker, Homebrew... labels Feb 17, 2022
@irevoire
Copy link
Member

We should look into that: https://github.com/sigstore/cosign

@LeSuisse
Copy link

Hello,

Would you be open to a PR signing your Docker image using Cosign with the keyless mode?
https://github.com/sigstore/cosign/blob/main/KEYLESS.md

It is still marked as experimental since the Sigstore Public Good instance is not yet considered GA (should happen soon(ish), Rekor is currently at the 1.0 RC). That does not prevent you to use a key you manage afterwards, it will be a one line addition to the GitHub Actions file.

Also note we could also use Cosign to sign the binaries associated to your releases.

@curquiza
Copy link
Member Author

curquiza commented Dec 1, 2022

Hello @LeSuisse

I'm really sorry for the late answer, I missed this notification!

Would you be open to a PR signing your Docker image using Cosign with the keyless mode?

Yes please! 😊

It is still marked as experimental since the Sigstore Public Good instance is not yet considered GA (should happen soon(ish), Rekor is currently at the 1.0 RC). That does not prevent you to use a key you manage afterwards, it will be a one line addition to the GitHub Actions file.

I'm not sure I really understand this part of your comment, can you detail it? 😊

Also note we could also use Cosign to sign the binaries associated to your releases.

Oh would be a good addition!

@LeSuisse
Copy link

LeSuisse commented Dec 1, 2022

Thanks for the confirmation. I will open a PR by the end of this week or the next one :) .

I'm not sure I really understand this part of your comment, can you detail it? 😊

The keyless mode of Cosign is still marked as experimental but since my last message the experimental flag is being removed (sigstore/cosign#2387) so it will not really be an issue.

LeSuisse added a commit to LeSuisse/meilisearch that referenced this issue Dec 20, 2022
Cosign keyless mode makes possible to sign the container image using the
OIDC Identity Tokens provided by GitHub Actions [0][1].
The signature is published to the registry storing the image and to the
public Rekor transparency log instance [2].

Cosign keyless mode has already been adopted by some major projects like
Kubernetes [3].

The image signature can be manually verified using:
```
$ COSIGN_EXPERIMENTAL=1 cosign verify <image_name>
```

See meilisearch#2179.
Note that a similar approach can be used to sign the release binaries.

[0] https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect
[1] https://docs.sigstore.dev/cosign/openid_signing
[2] https://docs.sigstore.dev/rekor/overview
[3] https://kubernetes.io/docs/tasks/administer-cluster/verify-signed-artifacts/#verifying-image-signatures
LeSuisse added a commit to LeSuisse/meilisearch that referenced this issue Dec 20, 2022
Cosign keyless mode makes possible to sign the container image using the
OIDC Identity Tokens provided by GitHub Actions [0][1].
The signature is published to the registry storing the image and to the
public Rekor transparency log instance [2].

Cosign keyless mode has already been adopted by some major projects like
Kubernetes [3].

The image signature can be manually verified using:
```
$ COSIGN_EXPERIMENTAL=1 cosign verify <image_name>
```

See meilisearch#2179.
Note that a similar approach can be used to sign the release binaries.

[0] https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect
[1] https://docs.sigstore.dev/cosign/openid_signing
[2] https://docs.sigstore.dev/rekor/overview
[3] https://kubernetes.io/docs/tasks/administer-cluster/verify-signed-artifacts/#verifying-image-signatures
LeSuisse added a commit to LeSuisse/meilisearch that referenced this issue Dec 20, 2022
Cosign keyless mode makes possible to sign the container image using the
OIDC Identity Tokens provided by GitHub Actions [0][1].
The signature is published to the registry storing the image and to the
public Rekor transparency log instance [2].

Cosign keyless mode has already been adopted by some major projects like
Kubernetes [3].

The image signature can be manually verified using:
```
$ COSIGN_EXPERIMENTAL=1 cosign verify <image_name>
```

See meilisearch#2179.
Note that a similar approach can be used to sign the release binaries.

[0] https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect
[1] https://docs.sigstore.dev/cosign/openid_signing
[2] https://docs.sigstore.dev/rekor/overview
[3] https://kubernetes.io/docs/tasks/administer-cluster/verify-signed-artifacts/#verifying-image-signatures
@LeSuisse LeSuisse linked a pull request Dec 20, 2022 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or improvement tooling Not directly project related, like Docker, Homebrew...
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants