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

Permit Consul Connect Gateways to be used with podman #20611

Merged
merged 3 commits into from
May 17, 2024

Conversation

optiz0r
Copy link
Contributor

@optiz0r optiz0r commented May 16, 2024

Enable use of Consul Connect Gateways (ingresss/terminating/mesh) with podman task driver.

task driver for Connect-enabled tasks for sidecar services which used podman if any other task in the same task group was using podman or fell back to docker otherwise.

That PR did not consider consul connect gateways, which remained hardcoded to using docker task driver always.

This change applies the same heuristic also to gateway tasks, enabling use of podman.

Limitations: The heuristic only works where the task group containing the gateway also contains a podman task. Therefore it does not work for the ingress example in the docs
(https://developer.hashicorp.com/nomad/docs/job-specification/gateway#ingress-gateway) which uses connect native and requires the gateway be in a separate task.

I've updated existing tests to assume the docker driver, but have not yet added any new tests to verify the auto-detection of podman.

@shoenig shoenig self-requested a review May 16, 2024 14:42
@optiz0r optiz0r force-pushed the connect_gateway_podman branch from b830206 to a343708 Compare May 16, 2024 15:00
@optiz0r optiz0r force-pushed the connect_gateway_podman branch from a343708 to 99042e6 Compare May 16, 2024 17:13
@tgross tgross added the stage/needs-rebase This PR needs to be rebased on main before it can be backported to pick up new BPA workflows label May 17, 2024
Enable use of Consul Connect Gateways (ingresss/terminating/mesh)
with podman task driver.

task driver for Connect-enabled tasks for sidecar services which
used podman if any other task in the same task group was using podman
or fell back to docker otherwise.

That PR did not consider consul connect gateways, which remained
hardcoded to using docker task driver always.

This change applies the same heuristic also to gateway tasks,
enabling use of podman.

Limitations: The heuristic only works where the task group containing
the gateway also contains a podman task. Therefore it does not work
for the ingress example in the docs
(https://developer.hashicorp.com/nomad/docs/job-specification/gateway#ingress-gateway)
which uses connect native and requires the gateway be in a separate task.
@shoenig shoenig added this to the 1.8.0 milestone May 17, 2024
@shoenig shoenig removed the stage/needs-rebase This PR needs to be rebased on main before it can be backported to pick up new BPA workflows label May 17, 2024
@shoenig
Copy link
Contributor

shoenig commented May 17, 2024

Thanks @optiz0r! This LGTM. I'm going to rebase with main and add a changelog entry and then get this merged.

@optiz0r
Copy link
Contributor Author

optiz0r commented May 17, 2024

@shoenig Thanks. I think I managed to fix the existing broken tests, but I haven't managed to add any tests to validate the new behaviour.

@shoenig shoenig merged commit a6f6384 into hashicorp:main May 17, 2024
16 of 18 checks passed
Copy link

github-actions bot commented Jan 8, 2025

I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 8, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants