Skip to content

Commit ce3ee54

Browse files
authored
Merge pull request #114 from jiaozifs/feat/support_k8s
Feat/support k8s
2 parents a1b43f1 + 0967469 commit ce3ee54

File tree

17 files changed

+223
-14
lines changed

17 files changed

+223
-14
lines changed

Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:22.04
2+
3+
4+
WORKDIR /app
5+
6+
COPY jzfs /jzfs
7+
COPY script/start.sh /start.sh
8+
9+
RUN chmod +x /start.sh
10+
11+
ENTRYPOINT ["/start.sh"]

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ After following the above steps, you should be able to see an executable file na
3131
./jzfs daemon
3232
```
3333

34+
#### run with docker
35+
```bash
36+
docker run -v <data>:/app -p 34913:34913 gitdatateam/jzfs:latest --db "postgres://<user>:<password>@192.168.1.16:5432/jiaozifs?sslmode=disable" --bs_path /app/data --listen http://0.0.0.0:34913 --config /app/config.toml
37+
```
3438
## License
3539

3640
Dual-licensed under [MIT](https://github.com/jiaozifs/jiaozifs/blob/main/LICENSE-MIT) + [Apache 2.0](https://github.com/jiaozifs/jiaozifs/blob/main/LICENSE-APACHE)

charts/Chart.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v2
2+
name: jiaozifs-api
3+
description: Install jiaozifs api to provider backend function of jiaozifs.
4+
version: 1.0.0
5+
kubeVersion: < 1.28.0-0
6+
home: https://jiaozifs.com/
7+
keywords:
8+
- jiaozifs
9+
sources:
10+
- https://github.com/jiaozifs/jiaozifs
11+
- https://github.com/jiaozifs/jiaozifs-ui
12+
maintainers:
13+
- name: jiaozifs team

charts/templates/deployment.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: jiaozifs-backend-api-deployment
5+
labels:
6+
apptype: jiaozifs-api
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: jiaozifs-backend-api
12+
template:
13+
metadata:
14+
labels:
15+
app: jiaozifs-backend-api
16+
apptype: jiaozifs-api
17+
spec:
18+
containers:
19+
- name: jiaozifs-backend
20+
image: gitdatateam/jzfs:latest
21+
imagePullPolicy: Always
22+
args: ["--db {{ .Values.db }} --log-level {{ .Values.log_level }} --bs_path {{ .Values.home_path }}/data --listen http://0.0.0.0:{{ .Values.port }} --config {{ .Values.home_path }}/config.yaml"]
23+
ports:
24+
- containerPort: {{ .Values.port }}

charts/templates/ingress.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: jiaozifs-api
5+
annotations:
6+
meta.helm.sh/release-name: jiaozifs-api
7+
nginx.ingress.kubernetes.io/rewrite-target: /
8+
nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
9+
nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
10+
nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
11+
labels:
12+
apptype: jiaozifs-api
13+
app.kubernetes.io/managed-by: Helm
14+
heritage: Helm
15+
release: jiaozifs-api
16+
spec:
17+
ingressClassName: {{.Values.ingress_name}}
18+
rules:
19+
- host: api.jiaozifs.com
20+
http:
21+
paths:
22+
- path: /
23+
pathType: Prefix
24+
backend:
25+
service:
26+
name: jiaozifs-backend-api-service
27+
port:
28+
number: {{ .Values.port }}

charts/templates/service.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: jiaozifs-backend-api-service
5+
labels:
6+
apptype: jiaozifs-api
7+
spec:
8+
type: ClusterIP
9+
selector:
10+
app: jiaozifs-backend-api
11+
ports:
12+
- protocol: TCP
13+
port: {{ .Values.port }}
14+
targetPort: {{ .Values.port }}

charts/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Additional Trusted CAs.
2+
# Enable this flag and add your CA certs as a secret named tls-ca-additional in the namespace.
3+
# See README.md for details.
4+
replicas: 1
5+
db: ""
6+
home_path: "/app/data"
7+
port: 34913
8+
ingress_name: nginx
9+
log_level: info

cmd/daemon.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package cmd
33
import (
44
"context"
55

6+
"github.com/pelletier/go-toml/v2"
7+
68
"github.com/gorilla/sessions"
79
logging "github.com/ipfs/go-log/v2"
810
apiImpl "github.com/jiaozifs/jiaozifs/api/api_impl"
@@ -16,7 +18,6 @@ import (
1618
"github.com/jiaozifs/jiaozifs/utils"
1719
"github.com/jiaozifs/jiaozifs/version"
1820
"github.com/spf13/cobra"
19-
"github.com/spf13/viper"
2021
"github.com/uptrace/bun"
2122
)
2223

@@ -38,6 +39,12 @@ var daemonCmd = &cobra.Command{
3839
return err
3940
}
4041

42+
cfgData, err := toml.Marshal(cfg)
43+
if err != nil {
44+
return err
45+
}
46+
log.Debug(string(cfgData))
47+
4148
shutdown := make(utils.Shutdown)
4249
stop, err := fx_opt.New(cmd.Context(),
4350
fx_opt.Override(new(context.Context), cmd.Context()),
@@ -76,9 +83,4 @@ var daemonCmd = &cobra.Command{
7683

7784
func init() {
7885
rootCmd.AddCommand(daemonCmd)
79-
daemonCmd.Flags().String("db", "", "pg connection string eg. postgres://user:pass@localhost:5432/jiaozifs?sslmode=disable")
80-
daemonCmd.Flags().String("log-level", "INFO", "set log level eg. DEBUG INFO ERROR")
81-
82-
_ = viper.BindPFlag("database.connection", daemonCmd.Flags().Lookup("db"))
83-
_ = viper.BindPFlag("log.level", daemonCmd.Flags().Lookup("log-level"))
8486
}

cmd/root.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package cmd
33
import (
44
"os"
55

6-
"github.com/jiaozifs/jiaozifs/config"
76
"github.com/spf13/cobra"
87
"github.com/spf13/viper"
98
)
@@ -31,7 +30,9 @@ func RootCmd() *cobra.Command {
3130
}
3231
func init() {
3332
rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "~/.jiaozifs/config.toml", "config file (default is $HOME/.jiaozifs/config.toml)")
34-
rootCmd.PersistentFlags().String("listen", config.DefaultLocalBSPath, "config blockstore path")
33+
rootCmd.PersistentFlags().String("listen", "http://127.0.0.1:34913", "config list url")
34+
rootCmd.PersistentFlags().String("log-level", "INFO", "set log level eg. DEBUG INFO ERROR")
3535
_ = viper.BindPFlag("api.listen", rootCmd.PersistentFlags().Lookup("listen"))
3636
_ = viper.BindPFlag("config", rootCmd.PersistentFlags().Lookup("config"))
37+
_ = viper.BindPFlag("log.level", rootCmd.PersistentFlags().Lookup("log-level"))
3738
}

makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,8 @@ test: gen-api
2727
go test -timeout=30m -parallel=4 -v ./...
2828
build:gen-api
2929
go build $(GOFLAGS) -o jzfs
30+
31+
TAG:=test
32+
docker:build
33+
docker build -t gitdatateam/jzfs:$(TAG) .
34+
docker push gitdatateam/jzfs:$(TAG)

0 commit comments

Comments
 (0)