-
Notifications
You must be signed in to change notification settings - Fork 3
Ubuntu Jammy Jellyfish (22.04) / libssl3 #40
Comments
👋 @arledesma and thanks for the report! Ideally I'd like to get rid of openssl alltogether (see #19). However, as that appears to not be possible atm, one thing we could do is to build a version of terve which uses vendored openssl (statically compiled in to the binary). Not necessarily great for security, but would perhaps solve the problem of having to rely on system openssl (which can vary, as you have discovered). |
@jpalomaki good deal. This aligns with what I was thinking about for a potential fix. |
@arledesma Working on this in #41 (I'm on macOS myself) |
@arledesma Feel free to test https://github.com/superblk/terve/releases/tag/v0.8.0 |
@jpalomaki My environment may be a little weird right now, but I am seeing the following. I will spin up a new docker host to validate. Dockerfile# syntax=docker.io/docker/dockerfile:1.4
ARG BASE=jammy
FROM ubuntu:${BASE}
SHELL ["/bin/bash", "-eo", "pipefail", "-x", "-c"]
RUN apt-get update && apt-get install -y curl
# Install terve and terragrunt
ARG TARGETARCH
ARG \
TERVE_VERSION=v0.8.0 \
TERRAGRUNT_VERSION=0.36.10
RUN <<HEREDOC
curl -fsL "https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_${TARGETARCH}" -o /tmp/terragrunt
chmod 0755 /tmp/terragrunt
/tmp/terragrunt -version
HEREDOC
RUN <<HEREDOC
curl -fsL https://github.com/superblk/terve/releases/download/${TERVE_VERSION}/terve_linux_${TARGETARCH} -o /usr/bin/terve
chmod 0755 /usr/bin/terve
terve --bootstrap
terve install tg "${TERRAGRUNT_VERSION}"
terve select tg "${TERRAGRUNT_VERSION}"
ln -sr "$HOME/.terve/terragrunt" /usr/bin/terragrunt
/usr/bin/terragrunt -version
HEREDOC
|
@arledesma That looks like a network issue: |
In that Dockerfile I am first downloading terragrunt and validating its version, and then it downloads and bootstraps terve successfully. The connection error is from terve attempting to download the same version of terragrunt. I only added the curl download of terragrunt after multiple successive connection errors when terve attempts to download terragrunt. I'm still planning on testing it further - I'll probably just setup a test repo and use GitHub actions to build it for the additional validation. |
All right, I wonder if it's something to do with ipv6? I tested the linux amd64 binary in an Ubuntu 22.04 docker container myself (though not in a build, but just cp'ing the binary into a running container and then running terve there), and it worked okay |
It could be something to do with ipv6. Locally I was able to use terve to install terraform without issue but could not install terragrunt. While the code to download them is not exactly the same it appears as though the code that is performing the downloads is effectively the same, the only difference being where it is downloaded from. Interestingly enough, both With that said, I was able to successfully perform the installations of both terraform and terragrunt using github actions, so the issue is isolated to my local docker host. I'll say that this issue has been validated as fixed! Thanks! |
terve is built against libssl1 while Ubuntu Jammy has moved to libssl3 with no packages providing libssl1.
Dockerfile
docker build --no-cache --progress plain -t terve:jammy .
The missing objects that are no longer supported by Ubuntu 22.04 Jammy are:
libssl.so.1.1
libcrypto.so.1.1
A workaround can be performed, installing an unsupported libssl1, but that will be an unmaintained package.
hacky install
I am not sure what the correct solution would be for this package as there are multiple dependencies that appear to take dependency on openssl and it doesn't look as though rust-openssl will be supporting it any time soon.
The text was updated successfully, but these errors were encountered: