Commit aa1ee17 1 parent 4fb4eba commit aa1ee17 Copy full SHA for aa1ee17
File tree 5 files changed +120
-0
lines changed
5 files changed +120
-0
lines changed Original file line number Diff line number Diff line change 9
9
"dnsmasq-nanny" : "//dnsmasq:dnsmasq-nanny" ,
10
10
"flannel" : "//flannel:oci" ,
11
11
"flannel-monitor" : "//flannel-monitor:oci" ,
12
+ "homeworld-website" : "//website:oci" ,
12
13
"kube-dns-main" : "//kube-dns:kube-dns-main" ,
13
14
"kube-dns-sidecar" : "//kube-dns:kube-dns-sidecar" ,
14
15
"pause" : "//cri-o/pause:oci" ,
Original file line number Diff line number Diff line change
1
+ load ("//bazel:package.bzl" , "homeworld_oci" )
2
+ load ("//bazel:substitute.bzl" , "substitute" )
3
+ load ("//python:resources.bzl" , "py_resources" )
4
+
5
+ homeworld_oci (
6
+ name = "oci" ,
7
+ bin = {
8
+ "//website/server" : "/usr/bin/website-server" ,
9
+ },
10
+ exec = ["/usr/bin/website-server" ],
11
+ visibility = ["//visibility:public" ],
12
+ )
13
+
14
+ substitute (
15
+ name = "kubernetes.yaml" ,
16
+ kfs = {
17
+ "digest" : ":oci.ocidigest" ,
18
+ },
19
+ template = ":kubernetes.yaml.in" ,
20
+ visibility = ["//visibility:public" ],
21
+ )
22
+
23
+ py_resources (
24
+ name = "kubelib" ,
25
+ data = [":kubernetes.yaml" ],
26
+ visibility = ["//visibility:public" ],
27
+ )
Original file line number Diff line number Diff line change
1
+ apiVersion: v1
2
+ kind: Namespace
3
+ metadata:
4
+ labels:
5
+ app: homeworld-website
6
+ name: homeworld-website
7
+ ---
8
+ apiVersion: v1
9
+ kind: Deployment
10
+ metadata:
11
+ labels:
12
+ app: homeworld-website
13
+ name: homeworld-website
14
+ namespace: homeworld-website
15
+ spec:
16
+ replicas: 1
17
+ selector:
18
+ matchLabels:
19
+ app: homeworld-website
20
+ template:
21
+ metadata:
22
+ labels:
23
+ app: homeworld-website
24
+ spec:
25
+ containers:
26
+ - image: homeworld.private/homeworld-website@{digest}
27
+ name: server
28
+ ---
29
+ apiVersion: v1
30
+ kind: Service
31
+ metadata:
32
+ labels:
33
+ app: homeworld-website
34
+ name: homeworld-website
35
+ namespace: homeworld-website
36
+ spec:
37
+ selector:
38
+ app: homeworld-website
39
+ type: LoadBalancer
40
+ ports:
41
+ - protocol: TCP
42
+ port: 80
43
+ targetPort: 8080
Original file line number Diff line number Diff line change
1
+ load ("@io_bazel_rules_go//go:def.bzl" , "go_binary" , "go_library" )
2
+
3
+ go_library (
4
+ name = "go_default_library" ,
5
+ srcs = ["server.go" ],
6
+ importpath = "github.com/sipb/homeworld/platform/website/server" ,
7
+ visibility = ["//visibility:private" ],
8
+ deps = [
9
+ "@com_github_prometheus_client_golang//prometheus:go_default_library" ,
10
+ "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library" ,
11
+ "@com_github_prometheus_client_golang//prometheus/promhttp:go_default_library" ,
12
+ ],
13
+ )
14
+
15
+ go_binary (
16
+ name = "server" ,
17
+ embed = [":go_default_library" ],
18
+ importpath = "github.com/sipb/homeworld/platform/website/server" ,
19
+ pure = "on" ,
20
+ visibility = ["//visibility:public" ],
21
+ )
Original file line number Diff line number Diff line change
1
+ package main
2
+
3
+ import (
4
+ "fmt"
5
+ "log"
6
+ "net/http"
7
+
8
+ "github.com/prometheus/client_golang/prometheus"
9
+ "github.com/prometheus/client_golang/prometheus/promauto"
10
+ "github.com/prometheus/client_golang/prometheus/promhttp"
11
+ )
12
+
13
+ var requestsServed = promauto .NewCounter (prometheus.CounterOpts {
14
+ Namespace : "website" ,
15
+ Name : "requests_served" ,
16
+ Help : "Number of main page requests served by the website instance" ,
17
+ })
18
+
19
+ func page (w http.ResponseWriter , r * http.Request ) {
20
+ fmt .Fprintf (w , "Welcome to the homeworld self-hosting website." )
21
+ requestsServed .Inc ()
22
+ }
23
+
24
+ func main () {
25
+ http .HandleFunc ("/" , page )
26
+ http .Handle ("/metrics" , promhttp .Handler ())
27
+ log .Fatal (http .ListenAndServe (":8080" , nil ))
28
+ }
You can’t perform that action at this time.
0 commit comments