Skip to content

Commit 8942477

Browse files
committed
Include the docker image used by k playground in the repo
1 parent 71900b0 commit 8942477

File tree

2 files changed

+96
-0
lines changed

2 files changed

+96
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
2+
name: Build and push playground image
3+
4+
on:
5+
push:
6+
paths:
7+
- playground/Dockerfile
8+
9+
jobs:
10+
docker:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Set up QEMU
17+
uses: docker/setup-qemu-action@v3
18+
19+
- name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v3
21+
22+
- name: Login to Docker Hub
23+
uses: docker/login-action@v3
24+
with:
25+
username: ${{ secrets.DOCKERHUB_USERNAME }}
26+
password: ${{ secrets.DOCKERHUB_TOKEN }}
27+
28+
- name: Docker meta
29+
id: meta
30+
uses: docker/metadata-action@v4
31+
with:
32+
images: docker.io/reclaimthestack/playground
33+
flavor: latest=true
34+
tags: type=sha,format=long
35+
36+
- name: Build and push
37+
uses: docker/build-push-action@v6
38+
with:
39+
platforms: linux/amd64,linux/arm64
40+
push: true
41+
tags: ${{ steps.meta.outputs.tags }}

playground/Dockerfile

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
FROM ubuntu:noble-20240904.1
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt-get update
6+
RUN apt-get install apt-transport-https ca-certificates gnupg git wget curl lsb-release unzip -y
7+
8+
# Postgres client (https://www.postgresql.org/download/linux/ubuntu/)
9+
RUN apt install -y postgresql-common
10+
RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
11+
RUN install -d /usr/share/postgresql-common/pgdg
12+
RUN curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
13+
RUN sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
14+
RUN apt-get update
15+
RUN apt-get install postgresql-client -y
16+
17+
# Redis client
18+
RUN curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
19+
RUN echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
20+
RUN apt-get update
21+
RUN apt-get install redis -y
22+
23+
# ClickHouse client
24+
RUN curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
25+
RUN echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | tee /etc/apt/sources.list.d/clickhouse.list
26+
RUN apt-get update
27+
RUN apt-get install clickhouse-client -y
28+
29+
# etcd client
30+
RUN wget https://github.com/etcd-io/etcd/releases/download/v3.5.5/etcd-v3.5.5-linux-amd64.tar.gz && \
31+
tar xvf etcd-v3.5.5-linux-amd64.tar.gz && \
32+
cd etcd-v3.5.5-linux-amd64 && \
33+
mv etcd etcdctl etcdutl /usr/local/bin && \
34+
rm -rf etcd-v3.5.5-linux-amd64*
35+
36+
# AWS CLI
37+
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
38+
unzip awscliv2.zip && \
39+
./aws/install && \
40+
rm -rf awscliv2.zip aws
41+
42+
RUN apt-get install -y \
43+
dnsutils \
44+
fdisk \
45+
fio \
46+
fping \
47+
iputils-ping \
48+
iproute2 \
49+
neovim \
50+
nodejs \
51+
default-jre-headless \
52+
ruby-full \
53+
traceroute \
54+
wrk \
55+
zstd

0 commit comments

Comments
 (0)