Skip to content

Conversation

tsg
Copy link

@tsg tsg commented Sep 4, 2025

This makes the startup probe configurable for the sidecar container.

Motivation: Because the sidecar container is an init container, the time it takes for it to be marked ready is added to the total startup time for a cluster, or for waking up an existing cluster from hibernation. The default period was 10 seconds, but the actual starting time is much lower than that.

This PR only makes the startup probe configurable, but doesn't change the defaults, meaning that there shouldn't be a change in the default behavior.

@tsg tsg requested a review from a team as a code owner September 4, 2025 19:09
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Sep 4, 2025
Signed-off-by: Tudor Golubenco <tudor@xata.io>
@tsg tsg force-pushed the feat/configure_startup_probe branch from 648271a to 3ac6753 Compare September 4, 2025 19:14
@armru
Copy link
Member

armru commented Sep 9, 2025

Considering two things:

  • would it be better to have it inside the Server API, more specifically inside the .spec.instanceSidecarConfiguration?
  • should we consider a more generic approach to customize the sidecar to avoid to incur in those issues in future?

Any opinions on this?

Also would love other mantainers feedback

@tsg
Copy link
Author

tsg commented Sep 10, 2025

would it be better to have it inside the Server API, more specifically inside the .spec.instanceSidecarConfiguration?

Ah, interesting, I didn't notice that there is some sidecar resources configuration already possible, that is good to know.

I see now that it is on the ObjectStore CRD, rather than the cluster one. I'm not sure about the reason they are there, or all the implications. But it makes sense to me to have all the sidecar config in one place, rather than split between the ObjectStore and the cluster specs. I'm happy to update the code to do this.

should we consider a more generic approach to customize the sidecar to avoid to incur in those issues in future?

You are thinking of something that would take everything from under .spec.instanceSidecarConfiguration and put it in the sidecar spec?

One thing that I can do for sure in this PR is to configure all probes, not only the startup one. I initially wanted to have the minimal code change, but it does feel weird to have one probe configurable but not the others. I'm happy to add them either in this PR on in follow ups. Also, happy to do the generic in-bulk spec copy if you think it's the best approach.

…ative-pg#495)

| datasource | package                   | from    | to      |
| ---------- | ------------------------- | ------- | ------- |
| go         | github.com/onsi/ginkgo/v2 | v2.25.0 | v2.25.1 |

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Tudor Golubenco <tudor@xata.io>
@tsg tsg force-pushed the feat/configure_startup_probe branch from 9665d99 to 8091517 Compare September 14, 2025 17:05
…re config

Signed-off-by: Tudor Golubenco <tudor@xata.io>
@tsg tsg force-pushed the feat/configure_startup_probe branch from 8091517 to 8c2e72a Compare September 14, 2025 17:08
Signed-off-by: Tudor Golubenco <tudor@xata.io>
@tsg tsg force-pushed the feat/configure_startup_probe branch from 56e1180 to ce7d8e9 Compare September 15, 2025 21:52
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Sep 15, 2025
@tsg
Copy link
Author

tsg commented Sep 15, 2025

hi @armru, I've pushed two commits to address those two ideas:

  • 8c2e72a - Moving the startup probe configuration to the object store under spec.instanceSidecarConfiguration.
  • ce7d8e9 - Add support for making the liveness and readiness probes configurable as well.

I think these changes make sense, but happy to revert one or both of them if you think the PR has gotten too large, or want a different approach.

I did testing manually (beyond the unit tests), and covered the following:

  • various startup / liveness / readiness configs.
  • using multiple replicas with switchover.

Let me know if you have any particular scenarios you'd like me to test.

@armru
Copy link
Member

armru commented Sep 16, 2025

Hello, I think we have to wait for the other maintainers opinion

@tsg
Copy link
Author

tsg commented Oct 2, 2025

@armru I have merged main in this branch, and I'd like to join the Community call today to discuss if/how we could progress this PR. Just don't want it to be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants