tangled
alpha
login
or
join now
graham.systems
/
oci-in-spindle
1
fork
atom
Poking around building OCI images on Tangled
1
fork
atom
overview
issues
pulls
pipelines
attempt buildah workflow
graham.systems
5 months ago
800755e6
0/0
Waiting for spindle ...
+54
4 changed files
expand all
collapse all
unified
split
.tangled
workflows
build.yml
Dockerfile
go.mod
main.go
+20
.tangled/workflows/build.yml
···
1
1
+
when:
2
2
+
- event: ["push", "manual"]
3
3
+
branch: ["main"]
4
4
+
- event: ["pull_request"]
5
5
+
branch: ["main"]
6
6
+
7
7
+
engine: "nixery"
8
8
+
9
9
+
clone:
10
10
+
skip: false
11
11
+
depth: 1
12
12
+
submodules: false
13
13
+
14
14
+
dependencies:
15
15
+
nixpkgs:
16
16
+
- buildah
17
17
+
18
18
+
steps:
19
19
+
- name: Build container
20
20
+
command: buildah build -t spindle-oci-test .
+11
Dockerfile
···
1
1
+
FROM golang:1.24
2
2
+
3
3
+
WORKDIR /app
4
4
+
5
5
+
Copy go.mod g.sum ./
6
6
+
RUN go mod download
7
7
+
8
8
+
COPY *.go ./
9
9
+
RUN CGO_ENABLED=0 GOOS=linux go build -o /test
10
10
+
11
11
+
CMD ["/test"]
+3
go.mod
···
1
1
+
module test
2
2
+
3
3
+
go 1.24.7
+20
main.go
···
1
1
+
package main
2
2
+
3
3
+
import (
4
4
+
"fmt"
5
5
+
"net/http"
6
6
+
"os"
7
7
+
)
8
8
+
9
9
+
func main() {
10
10
+
fmt.Println("listening on port 3000")
11
11
+
12
12
+
if err := http.ListenAndServe(
13
13
+
"localhost:3000",
14
14
+
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
15
15
+
w.Write([]byte("hello"))
16
16
+
}),
17
17
+
); err != nil {
18
18
+
os.Exit(1)
19
19
+
}
20
20
+
}