Skip to content

Conversation

@cmurphy
Copy link
Contributor

@cmurphy cmurphy commented Dec 4, 2025

Add a chart named ctlog-tiles to support TesseraCT as an alternative CT log for Fulcio. The POSIX and GCP backends are supported.

This chart has a unique way of crafting the image string based on which personality (posix or gcp) is chosen. This lets values.yaml/Chart.yaml still be the source of truth for the image version, which is consistent with how Sigstore charts are used in the public good instance (as opposed to overriding the image version in the infrastructure values.yaml).

This is closely based on the rekor-tiles chart. It creates NEGs but no explicit Ingress gateway, since a multi-purpose load balancer needs to be created externally to link the service to the backend bucket.

Relates to sigstore/rekor-tiles#73

Description of the change

Existing or Associated Issue(s)

Additional Information

Checklist

  • Chart version bumped in Chart.yaml according to semver. Where applicable, update and bump the versions in any associated umbrella chart
  • Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
  • JSON Schema generated.
  • List tests pass for Chart using the Chart Testing tool and the ct lint command.

@cmurphy cmurphy requested review from a team as code owners December 4, 2025 23:16
@cmurphy cmurphy force-pushed the ctlog-tiles branch 3 times, most recently from 1f3b70e to 38bbe6c Compare December 11, 2025 19:43
description: Tiles-based certificate log (TesseraCT)
type: application
version: 0.1.0
appVersion: v0.1.1-0.20251112113307-52b154e44576
Copy link
Contributor

Choose a reason for hiding this comment

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

https://github.com/transparency-dev/tesseract/releases/tag/v0.1.1 just got released, so we can bump it in scaffolding

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Create a secret for the private key:

```
kubectl -n ctlog-tiles-system create secret generic ctlog-signing-key --from-file=signing-key=/path/to/privkey.pem
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we give instructions on generating the private key too, just an openssl incantation?

{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ template "ctlog-tiles.image" .Values.image }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
#env:
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this section commented out?

{{- end }}
{{- if ((.Values.server.posix).storageDir).volume }}
- name: {{ .Values.server.posix.storageDir.name -}}
{{- toYaml .Values.server.posix.storageDir.volume | nindent 10 }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Just wondering, why do we specify a volume rather than a specific volume type? Is this because hostPath would just be used in testing but a prod deployment would use a persistent volume?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right, it's easier in local development to just give the whole YAML of the volume section so that you can easily use emptyDir or hostPath, but in real life you'd use something more robust and secure. We also do this in the TUF chart.

@cmurphy cmurphy force-pushed the ctlog-tiles branch 3 times, most recently from b6cfa28 to cbc3613 Compare December 12, 2025 19:01
Copy link
Contributor

@haydentherapper haydentherapper left a comment

Choose a reason for hiding this comment

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

Looks great!

Copy link
Contributor

@haydentherapper haydentherapper left a comment

Choose a reason for hiding this comment

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

Looks great, but actually clicking approve!

Add a chart named ctlog-tiles to support TesseraCT as an alternative CT
log for Fulcio. The POSIX and GCP backends are supported.

This chart has a unique way of crafting the image string based on which
personality (posix or gcp) is chosen. This lets values.yaml/Chart.yaml
still be the source of truth for the image version, which is consistent
with how Sigstore charts are used in the public good instance (as
opposed to overriding the image version in the infrastructure
values.yaml).

This is closely based on the rekor-tiles chart. It creates NEGs but no
explicit Ingress gateway, since a multi-purpose load balancer needs to
be created externally to link the service to the backend bucket.

Signed-off-by: Colleen Murphy <[email protected]>
@cmurphy cmurphy merged commit f6a9afa into sigstore:main Dec 12, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants