Skip to content

Add traefik with required libraries and build from source#54

Open
Xidot wants to merge 2 commits intounikraft:masterfrom
Xidot:hackathon/add-traefik-dynamic-build-from-src
Open

Add traefik with required libraries and build from source#54
Xidot wants to merge 2 commits intounikraft:masterfrom
Xidot:hackathon/add-traefik-dynamic-build-from-src

Conversation

@Xidot
Copy link

@Xidot Xidot commented Jul 15, 2023

As stated in instruction:

  • The build script download, unpacks and builds the dynamic ELF
  • The binary was tested with a custom build app-elfloader.

The problem is that it seem Traefik tries to create a new thread. Unikraft then kills that thread and crashes and there is not much left for us to do here. Pic related to pthread_create bug:
image

Copy link
Member

@StefanJum StefanJum left a comment

Choose a reason for hiding this comment

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

Thanks @Xidot.

Besides the comments, please:

  • Update the directory name to traefik-src/
  • Squash and sign-off the commits

@@ -0,0 +1,2 @@

Copy link
Member

Choose a reason for hiding this comment

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

Remove the extra empty line

Comment on lines +9 to +11
*Not installed by the build script.*

* golang: 1.20.6
Copy link
Member

Choose a reason for hiding this comment

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

Add the installation instructions here (don't go into details, you can just point to a link where people can find instructions).

Comment on lines +3 to +5
This build script downloads the latest version of traefik form the
corresponding github releases page. To modify the installation version change
the `version` variable in the `build.sh`.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
This build script downloads the latest version of traefik form the
corresponding github releases page. To modify the installation version change
the `version` variable in the `build.sh`.
This build script downloads the latest version of traefik form the corresponding github releases page.
To modify the installation version change the `version` variable in the `build.sh`.

Use one line per sentence and one sentence per line.

make clean-webui -C ${appname}
echo ""

pushd ${appname}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
pushd ${appname}
pushd ${appname} &> /dev/null || exit 1

go build -ldflags "-linkmode 'external' -extldflags '-pie'" -buildmode=pie \
./cmd/traefik

popd +0
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
popd +0
popd +0 &> /dev/null || exit 1

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.

3 participants