Skip to content

Commit c2c5086

Browse files
achristie-ima.b.christie
andauthored
feat: Use of uv (#1)
Co-authored-by: a.b.christie <alan.christie@matildapeak.com>
1 parent 51ae595 commit c2c5086

4 files changed

Lines changed: 19 additions & 7 deletions

File tree

Dockerfile

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
ARG DEV_PYTHON=3.13.5
22
FROM python:${DEV_PYTHON}
33

4+
ARG KUBECTL_VERSION=1.35.0
5+
ARG POPEYE_VERSION=0.22.1
6+
ARG UV_VERSION=0.10.4
7+
48
# The target platform.
59
# Some tool installations (like kubectl) need to know whether we're AMD or ARM
610
# The value will be the platform value used in the build ("linux/amd64" or "linux/arm64")
@@ -39,14 +43,12 @@ RUN groupadd --gid $USER_GID $USERNAME \
3943
&& echo "$SNIPPET" >> "/home/$USERNAME/.bashrc"
4044

4145
# Install our python requirements, and kubectl
42-
ARG KUBECTL_VERSION=1.31.11
4346
COPY requirements.txt /tmp
4447
RUN pip install -r /tmp/requirements.txt \
4548
&& curl -LO https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/${TARGETPLATFORM}/kubectl \
4649
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
4750
&& rm kubectl
4851
# Popeye (ARM or AMD)
49-
ARG POPEYE_VERSION=0.22.1
5052
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
5153
wget https://github.com/derailed/popeye/releases/download/v${POPEYE_VERSION}/popeye_linux_arm64.tar.gz && \
5254
tar -xf popeye_linux_arm64.tar.gz; \
@@ -58,5 +60,17 @@ RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
5860
fi \
5961
&& mv popeye /usr/local/bin \
6062
&& rm LICENSE README.md
63+
# uv
64+
ADD https://astral.sh/uv/${UV_VERSION}/install.sh /uv-installer.sh
65+
RUN apt-get update \
66+
&& apt-get install -y \
67+
vim \
68+
&& sh /uv-installer.sh \
69+
&& rm /uv-installer.sh \
70+
&& mv /root/.local/bin/uv /usr/local/bin \
71+
&& mv /root/.local/bin/uvx /usr/local/bin \
72+
&& chown -R $USERNAME /usr/local/bin/uv \
73+
&& chown -R $USERNAME /usr/local/bin/uvx
74+
ENV UV_LINK_MODE=copy
6175

6276
USER $USERNAME

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2025 Informatics Matters Ltd.
189+
Copyright 2026 Informatics Matters Ltd.
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ The above creates an image with the user "vscode" and the following tools
2020
installed (amongst others): -
2121

2222
- python (3.13 debian)
23-
- poetry (1.8)
23+
- uv (0.10.4)
2424
- pre-commit (4.2)
2525
- ansible (11.8)
26-
- kubectl (1.31)
26+
- kubectl (1.35)
2727
- popeye (0.22)
2828
- Docker-in-Docker
2929

requirements.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,3 @@ openshift == 0.13.2
55
botocore == 1.39.8
66
boto3 == 1.39.8
77
jmespath == 1.0.1
8-
poetry == 1.8.5
9-

0 commit comments

Comments
 (0)