Skip to content

Commit 9a98069

Browse files
add spindle
1 parent 18ebb91 commit 9a98069

4 files changed

Lines changed: 55 additions & 0 deletions

File tree

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
[submodule "xpost/xpost"]
88
path = xpost/xpost
99
url = https://tangled.org/@melontini.me/xpost
10+
[submodule "spindle/core"]
11+
path = spindle/core
12+
url = https://tangled.org/@tangled.org/core

spindle/Dockerfile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM golang:1.24-alpine as builder
2+
ENV CGO_ENABLED=1
3+
4+
WORKDIR /app
5+
RUN apk add gcc musl-dev
6+
COPY ./core .
7+
RUN go build -o /usr/bin/spindle -ldflags '-s -w -extldflags "-static"' ./cmd/spindle
8+
9+
FROM alpine:edge
10+
EXPOSE 6555
11+
12+
LABEL org.opencontainers.image.title='spindle'
13+
LABEL org.opencontainers.image.description='small CI runner service for tangled'
14+
LABEL org.opencontainers.image.source='https://tangled.sh/@tangled.sh/core'
15+
LABEL org.opencontainers.image.url='https://tangled.sh'
16+
LABEL org.opencontainers.image.vendor='tangled.sh'
17+
LABEL org.opencontainers.image.licenses='MIT'
18+
19+
RUN adduser -D -u 1000 git
20+
21+
RUN mkdir -p /home/git/repositories && chown -R git:git /home/git
22+
COPY --from=builder /usr/bin/spindle /usr/bin
23+
RUN mkdir /app && chown -R git:git /app
24+
25+
USER git
26+
27+
HEALTHCHECK --interval=60s --timeout=30s --start-period=5s --retries=3 \
28+
cmd curl -f http://localhost:6555 || exit 1
29+
30+
ENTRYPOINT ["/usr/bin/spindle"]

spindle/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Tangled Team
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

spindle/core

Submodule core added at 5ecd54b

0 commit comments

Comments
 (0)