parent
4e4c49405d
commit
810f3d2928
@ -0,0 +1,70 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
namespace: social
|
||||
name: minio
|
||||
labels:
|
||||
app: minio
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: minio
|
||||
template:
|
||||
metadata:
|
||||
name: minio
|
||||
labels:
|
||||
app: minio
|
||||
spec:
|
||||
containers:
|
||||
- name: minio
|
||||
image: minio/minio
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: MINIO_ROOT_USER
|
||||
value: "root"
|
||||
- name: MINIO_ROOT_PASSWORD
|
||||
value: "openIM123"
|
||||
args:
|
||||
- server
|
||||
- --console-address
|
||||
- :9001
|
||||
- /data
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
- containerPort: 9001
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /minio/health/ready
|
||||
port: 9000
|
||||
initialDelaySeconds: 120
|
||||
periodSeconds: 20
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /minio/health/live
|
||||
port: 9000
|
||||
initialDelaySeconds: 120
|
||||
periodSeconds: 20
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: social
|
||||
namespace: social
|
||||
labels:
|
||||
name: social
|
||||
spec:
|
||||
selector:
|
||||
app: social
|
||||
ports:
|
||||
- name: minio-dashboard
|
||||
port: 30046
|
||||
targetPort: 9001
|
||||
nodePort: 30046
|
||||
- name: rpc
|
||||
port: 30047
|
||||
targetPort: 9000
|
||||
nodePort: 30047
|
||||
type: NodePort
|
@ -0,0 +1,58 @@
|
||||
# mongo
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
namespace: social
|
||||
name: mongo
|
||||
labels:
|
||||
app: mongo
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mongo
|
||||
template:
|
||||
metadata:
|
||||
name: mongo
|
||||
labels:
|
||||
app: mongo
|
||||
spec:
|
||||
containers:
|
||||
- name: mongo
|
||||
image: mongo:6.0.2
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 27017
|
||||
protocol: TCP
|
||||
env:
|
||||
- name: MONGO_INITDB_ROOT_USERNAME
|
||||
value: root
|
||||
- name: MONGO_INITDB_ROOT_PASSWORD
|
||||
value: openIM123
|
||||
- name: MONGO_INITDB_DATABASE
|
||||
value: openIM_v3
|
||||
- name: MONGO_USERNAME
|
||||
value: root
|
||||
- name: MONGO_PASSWORD
|
||||
value: openIM123
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: mongo
|
||||
namespace: social
|
||||
labels:
|
||||
name: mongo
|
||||
spec:
|
||||
selector:
|
||||
app: mongo
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 30007
|
||||
targetPort: 27017
|
||||
nodePort: 30007
|
||||
type: NodePort
|
||||
sessionAffinity: None
|
@ -0,0 +1,50 @@
|
||||
#mysql
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: mysql
|
||||
labels:
|
||||
app: mysql
|
||||
namespace: social
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mysql
|
||||
template:
|
||||
metadata:
|
||||
name: mysql
|
||||
labels:
|
||||
app: mysql
|
||||
spec:
|
||||
containers:
|
||||
- name: mysql
|
||||
image: mysql:5.7
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 3306
|
||||
protocol: TCP
|
||||
env:
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
value: "openIM123"
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: mysql
|
||||
namespace: social
|
||||
labels:
|
||||
name: mysql
|
||||
spec:
|
||||
selector:
|
||||
app: mysql
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 30006
|
||||
targetPort: 3306
|
||||
nodePort: 30006
|
||||
type: NodePort
|
||||
sessionAffinity: None
|
@ -0,0 +1,179 @@
|
||||
create DATABASE if not exists openIM_v3;
|
||||
|
||||
CREATE TABLE if not EXISTS `blacks` (
|
||||
`owner_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`block_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`add_source` int(11) DEFAULT NULL,
|
||||
`operator_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`owner_user_id`,`block_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `chat_logs` (
|
||||
`server_msg_id` char(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`client_msg_id` char(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`send_id` char(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`recv_id` char(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`sender_platform_id` int(11) DEFAULT NULL,
|
||||
`sender_nick_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`sender_face_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`session_type` int(11) DEFAULT NULL,
|
||||
`msg_from` int(11) DEFAULT NULL,
|
||||
`content_type` int(11) DEFAULT NULL,
|
||||
`content` varchar(3000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`send_time` datetime(3) DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
KEY `sendTime` (`send_time`),
|
||||
KEY `send_id` (`send_time`,`send_id`),
|
||||
KEY `recv_id` (`send_time`,`recv_id`),
|
||||
KEY `session_type` (`send_time`,`session_type`),
|
||||
KEY `session_type_alone` (`session_type`),
|
||||
KEY `content_type` (`send_time`,`content_type`),
|
||||
KEY `content_type_alone` (`content_type`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `conversations` (
|
||||
`owner_user_id` char(128) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`conversation_id` char(128) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`conversation_type` int(11) DEFAULT NULL,
|
||||
`user_id` char(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`group_id` char(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`recv_msg_opt` int(11) DEFAULT NULL,
|
||||
`is_pinned` tinyint(1) DEFAULT NULL,
|
||||
`is_private_chat` tinyint(1) DEFAULT NULL,
|
||||
`burn_duration` int(11) DEFAULT '30',
|
||||
`group_at_type` int(11) DEFAULT NULL,
|
||||
`attached_info` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`max_seq` bigint(20) DEFAULT NULL,
|
||||
`min_seq` bigint(20) DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`is_msg_destruct` tinyint(1) DEFAULT '0',
|
||||
`msg_destruct_time` bigint(20) DEFAULT '604800',
|
||||
`latest_msg_destruct_time` datetime(3) DEFAULT NULL,
|
||||
PRIMARY KEY (`owner_user_id`,`conversation_id`),
|
||||
KEY `create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `friend_requests` (
|
||||
`from_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`to_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`handle_result` int(11) DEFAULT NULL,
|
||||
`req_msg` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`handler_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`handle_msg` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`handle_time` datetime(3) DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`from_user_id`,`to_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `friends` (
|
||||
`owner_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`friend_user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`add_source` int(11) DEFAULT NULL,
|
||||
`operator_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`owner_user_id`,`friend_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `group_members` (
|
||||
`group_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nickname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`user_group_face_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`role_level` int(11) DEFAULT NULL,
|
||||
`join_time` datetime(3) DEFAULT NULL,
|
||||
`join_source` int(11) DEFAULT NULL,
|
||||
`inviter_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`operator_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`mute_end_time` datetime(3) DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`group_id`,`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `group_requests` (
|
||||
`user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`group_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`handle_result` int(11) DEFAULT NULL,
|
||||
`req_msg` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`handle_msg` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`req_time` datetime(3) DEFAULT NULL,
|
||||
`handle_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`handle_time` datetime(3) DEFAULT NULL,
|
||||
`join_source` int(11) DEFAULT NULL,
|
||||
`inviter_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`user_id`,`group_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `groups` (
|
||||
`group_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`notification` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`introduction` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`face_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`ex` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`creator_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`group_type` int(11) DEFAULT NULL,
|
||||
`need_verification` int(11) DEFAULT NULL,
|
||||
`look_member_info` int(11) DEFAULT NULL,
|
||||
`apply_member_friend` int(11) DEFAULT NULL,
|
||||
`notification_update_time` datetime(3) DEFAULT NULL,
|
||||
`notification_user_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`group_id`),
|
||||
KEY `create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `object_hash` (
|
||||
`hash` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`engine` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`size` bigint(20) DEFAULT NULL,
|
||||
`bucket` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`name` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
PRIMARY KEY (`hash`,`engine`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `object_info` (
|
||||
`name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`hash` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`content_type` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`valid_time` datetime(3) DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `object_put` (
|
||||
`put_id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`hash` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`path` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`name` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`content_type` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`object_size` bigint(20) DEFAULT NULL,
|
||||
`fragment_size` bigint(20) DEFAULT NULL,
|
||||
`put_urls_hash` longtext COLLATE utf8mb4_unicode_ci,
|
||||
`valid_time` datetime(3) DEFAULT NULL,
|
||||
`effective_time` datetime(3) DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
PRIMARY KEY (`put_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE if not EXISTS `users` (
|
||||
`user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`face_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ex` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`create_time` datetime(3) DEFAULT NULL,
|
||||
`app_manger_level` int(11) DEFAULT '18',
|
||||
`global_recv_msg_opt` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`user_id`),
|
||||
KEY `create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
@ -0,0 +1,52 @@
|
||||
# redis
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: redis
|
||||
labels:
|
||||
app: redis
|
||||
namespace: social
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: redis
|
||||
template:
|
||||
metadata:
|
||||
name: redis
|
||||
labels:
|
||||
app: redis
|
||||
spec:
|
||||
containers:
|
||||
- name: redis
|
||||
image: redis:7.0.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
protocol: TCP
|
||||
# env:
|
||||
# - name: REDIS_PASSWORD
|
||||
# value: "openIM123"
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: redis
|
||||
namespace: social
|
||||
labels:
|
||||
name: redis
|
||||
spec:
|
||||
selector:
|
||||
app: redis
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 30029
|
||||
targetPort: 6379
|
||||
nodePort: 30029
|
||||
type: NodePort
|
||||
sessionAffinity: None
|
||||
|
||||
|
@ -0,0 +1,48 @@
|
||||
#zk
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: zookeeper
|
||||
labels:
|
||||
app: zookeeper
|
||||
namespace: social
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: zookeeper
|
||||
template:
|
||||
metadata:
|
||||
name: zookeeper
|
||||
labels:
|
||||
app: zookeeper
|
||||
spec:
|
||||
containers:
|
||||
- name: zookeeper:latest
|
||||
image: wurstmeister/zookeeper
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 2181
|
||||
protocol: TCP
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: zookeeper
|
||||
namespace: social
|
||||
labels:
|
||||
name: zookeeper
|
||||
spec:
|
||||
selector:
|
||||
app: zookeeper
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 30001
|
||||
targetPort: 2181
|
||||
nodePort: 30001
|
||||
type: NodePort
|
||||
sessionAffinity: None
|
||||
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make api
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10002
|
||||
CMD ["./bin/openim-api","--port", "10002"]
|
@ -0,0 +1,20 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt && make tidy
|
||||
RUN make gateway
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
#Copy binary files to the blank image
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10140
|
||||
EXPOSE 10001
|
||||
CMD ["./bin/openim-rpc-msg-gateway","--port", "10140","--ws_port", "10001"]
|
@ -0,0 +1,18 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt && make tidy
|
||||
RUN make transfer
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
#Copy binary files to the blank image
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
CMD ["./bin/openim-msgtransfer"]
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make push
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10170
|
||||
CMD ["./bin/openim-push","--port", "10170"]
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make auth
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10002
|
||||
CMD ["./bin/openim-api","--port", "10160"]
|
@ -0,0 +1,20 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make conversation
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10230
|
||||
CMD ["./bin/openim-rpc-conversation","--port", "10230"]
|
||||
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make friend
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10002
|
||||
CMD ["./bin/openim-api","--port", "10120"]
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make group
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10150
|
||||
CMD ["./bin/openim-rpc-group","--port", "10150"]
|
@ -0,0 +1,20 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make msg
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10130
|
||||
CMD ["./bin/openim-rpc-msg","--port", "10130"]
|
||||
|
@ -0,0 +1,19 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make third
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10002
|
||||
CMD ["./bin/openim-api","--port", "10200"]
|
@ -0,0 +1,20 @@
|
||||
FROM golang:1.18.0 as build
|
||||
|
||||
WORKDIR /openim
|
||||
COPY . .
|
||||
|
||||
RUN make fmt \
|
||||
&& make tidy
|
||||
RUN make user
|
||||
|
||||
FROM ubuntu
|
||||
|
||||
WORKDIR /openim
|
||||
VOLUME ["/openim/logs","/openim/bin"]
|
||||
|
||||
COPY --from=build /openim/bin /openim/bin
|
||||
COPY --from=build /openim/config /openim/config
|
||||
|
||||
EXPOSE 10110
|
||||
CMD ["./bin/openim-rpc-user","--port", "10110"]
|
||||
|
@ -0,0 +1,129 @@
|
||||
pipeline {
|
||||
agent any
|
||||
// agent {
|
||||
// node {
|
||||
// label 'jnlp-slave'
|
||||
// }
|
||||
// }
|
||||
environment {
|
||||
JOB_ENV = "social" // namespace
|
||||
DEPLOYMENT_NAME = "api" // k8s deploy name
|
||||
CONFIGMAP_NAME = "${DEPLOYMENT_NAME}-conf" // runtime conf
|
||||
JOB_NAME = "${JOB_NAME}" // jenkins job name
|
||||
GIT_URL = "https://github.com/truongpx396/k8s-jenkins" // gitlab or github codebase
|
||||
CREDENTIALS_ID = "GitHub" // need configure it in jenkins, will use it's username and password to pull codebase
|
||||
HARBOR_URL = "truongpx396" // docker harbor url
|
||||
HARBOR_ID = "" // docker harbor id, will use it to login
|
||||
DOCKER_CPU = "100m"
|
||||
DOCKER_MEM = "200Mi"
|
||||
BASEDIR = "."
|
||||
BUILD_NUM = "${BUILD_NUMBER}"
|
||||
CONF_PATH = "/openim/config/"
|
||||
}
|
||||
parameters {
|
||||
gitParameter(
|
||||
branch: '',
|
||||
branchFilter: 'origin/(.*)',
|
||||
defaultValue: 'main',
|
||||
description: '',
|
||||
name: 'RELEASE_BRANCH',
|
||||
quickFilterEnabled: false,
|
||||
selectedValue: 'NONE',
|
||||
sortMode: 'NONE',
|
||||
tagFilter: '*',
|
||||
type: 'PT_BRANCH'
|
||||
)
|
||||
extendedChoice(
|
||||
name: "RELEASE_PROJECTS",
|
||||
type: "PT_RADIO",
|
||||
multiSelectDelimiter: " ",
|
||||
value: """api,msg_gateway,msg_transfer,push,rpc_conversation,rpc_group,rpc_msg,rpc_user""",
|
||||
defaultValue: "",
|
||||
description: "please choice projects to deploy"
|
||||
)
|
||||
}
|
||||
stages {
|
||||
stage('Git') {
|
||||
steps {
|
||||
checkout([$class: 'GitSCM',
|
||||
branches: [[name: "${params.RELEASE_BRANCH}"]],
|
||||
doGenerateSubmoduleConfigurations: false,
|
||||
extensions: [],
|
||||
gitTool: 'Default',
|
||||
submoduleCfg: [],
|
||||
userRemoteConfigs: [[url: "${GIT_URL}", credentialsId: "${CREDENTIALS_ID}"]]
|
||||
])
|
||||
}
|
||||
}
|
||||
stage('CommitHash') {
|
||||
steps {
|
||||
script {
|
||||
env.CommitHash = sh (script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Check Param') {
|
||||
steps {
|
||||
script {
|
||||
def releaseParams = "${params.RELEASE_PROJECTS}"
|
||||
def tag = "${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}"
|
||||
def selectEnv = "${params.SERVICE_ENV}"
|
||||
if(releaseParams) {
|
||||
echo "============================================="
|
||||
echo "projects: $releaseParams"
|
||||
echo "tag: $tag"
|
||||
echo "selectEnv: $selectEnv"
|
||||
echo "============================================="
|
||||
} else {
|
||||
echo "============================================="
|
||||
echo "invalid release projects!!! stop now!!!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Docker Build') {
|
||||
steps {
|
||||
// container ('docker') {
|
||||
// withCredentials([usernamePassword(credentialsId: "${HARBOR_ID}", passwordVariable: 'password', usernameVariable: 'username')]) {
|
||||
// sh """
|
||||
// docker build -t ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} -f ${BASEDIR}/deploy/dockerfile/${params.RELEASE_PROJECTS}.Dockerfile .
|
||||
// docker tag ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
|
||||
// docker login -u ${username} -p ${password} ${HARBOR_URL}
|
||||
|
||||
// docker push ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
// docker rmi ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
// docker rmi ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
// """
|
||||
// }
|
||||
// }
|
||||
withDockerRegistry([ credentialsId: "DockerHub", url: "" ]){
|
||||
sh """
|
||||
echo `Build image ...`
|
||||
docker build -t ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} -f ${BASEDIR}/dockerfile/${params.RELEASE_PROJECTS}.Dockerfile .
|
||||
docker tag ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
|
||||
echo `Push image ...`
|
||||
docker push ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
|
||||
echo `Start removing image ...1.`
|
||||
docker rmi ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
docker rmi ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
echo `Done removing image!`
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
// stage('Deploy') {
|
||||
// steps {
|
||||
// container ('helm-kubectl') {
|
||||
// sh """
|
||||
// envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-configMap-test.yaml | kubectl apply -f -
|
||||
// envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-namespace-test.yaml | kubectl apply -f -
|
||||
// envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/api.yaml | kubectl apply -f - && kubectl rollout status -f -
|
||||
// """
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
pipeline {
|
||||
agent {
|
||||
node {
|
||||
label 'jnlp-slave'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
JOB_ENV = "social" // namespace
|
||||
DEPLOYMENT_NAME = "gateway" // k8s deploy name
|
||||
CONFIGMAP_NAME = "${DEPLOYMENT_NAME}-conf" // runtime conf
|
||||
JOB_NAME = "${JOB_NAME}" // jenkins job name
|
||||
GIT_URL = "" // gitlab or github codebase
|
||||
CREDENTIALS_ID = "" // need configure it in jenkins, will use it's username and password to pull codebase
|
||||
HARBOR_URL = "" // docker harbor url
|
||||
HARBOR_ID = "" // docker harbor id, will use it to login
|
||||
DOCKER_CPU = "100m"
|
||||
DOCKER_MEM = "200Mi"
|
||||
BASEDIR = "."
|
||||
BUILD_NUM = "${BUILD_NUMBER}"
|
||||
CONF_PATH = "/openim/config/"
|
||||
}
|
||||
parameters {
|
||||
gitParameter(
|
||||
branch: '',
|
||||
branchFilter: 'origin/(.*)',
|
||||
defaultValue: 'main',
|
||||
description: '',
|
||||
name: 'RELEASE_BRANCH',
|
||||
quickFilterEnabled: false,
|
||||
selectedValue: 'NONE',
|
||||
sortMode: 'NONE',
|
||||
tagFilter: '*',
|
||||
type: 'PT_BRANCH'
|
||||
)
|
||||
extendedChoice(
|
||||
name: "RELEASE_PROJECTS",
|
||||
type: "PT_RADIO",
|
||||
multiSelectDelimiter: " ",
|
||||
value: """api,msg_gateway,msg_transfer,push,rpc_conversation,rpc_group,rpc_msg,rpc_user""",
|
||||
defaultValue: "",
|
||||
description: "please choice projects to deploy"
|
||||
)
|
||||
}
|
||||
stages {
|
||||
stage('Git') {
|
||||
steps {
|
||||
checkout([$class: 'GitSCM',
|
||||
branches: [[name: "${params.RELEASE_BRANCH}"]],
|
||||
doGenerateSubmoduleConfigurations: false,
|
||||
extensions: [],
|
||||
gitTool: 'Default',
|
||||
submoduleCfg: [],
|
||||
userRemoteConfigs: [[url: "${GIT_URL}", credentialsId: "${CREDENTIALS_ID}"]]
|
||||
])
|
||||
}
|
||||
}
|
||||
stage('CommitHash') {
|
||||
steps {
|
||||
script {
|
||||
env.CommitHash = sh (script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Check Param') {
|
||||
steps {
|
||||
script {
|
||||
def releaseParams = "${params.RELEASE_PROJECTS}"
|
||||
def tag = "${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}"
|
||||
def selectEnv = "${params.SERVICE_ENV}"
|
||||
if(releaseParams) {
|
||||
echo "============================================="
|
||||
echo "projects: $releaseParams"
|
||||
echo "tag: $tag"
|
||||
echo "selectEnv: $selectEnv"
|
||||
echo "============================================="
|
||||
} else {
|
||||
echo "============================================="
|
||||
echo "invalid release projects!!! stop now!!!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Docker Build') {
|
||||
steps {
|
||||
container ('docker') {
|
||||
withCredentials([usernamePassword(credentialsId: "${HARBOR_ID}", passwordVariable: 'password', usernameVariable: 'username')]) {
|
||||
sh """
|
||||
docker build -t ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} -f ${BASEDIR}/deploy/dockerfile/${params.RELEASE_PROJECTS}.Dockerfile .
|
||||
docker tag ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
|
||||
docker login -u ${username} -p ${password} ${HARBOR_URL}
|
||||
|
||||
docker push ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
docker rmi ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
docker rmi ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
container ('helm-kubectl') {
|
||||
sh """
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-configMap-test.yaml | kubectl apply -f -
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-namespace-test.yaml | kubectl apply -f -
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/msg_gateway.yaml | kubectl apply -f - && kubectl rollout status -f -
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
pipeline {
|
||||
agent {
|
||||
node {
|
||||
label 'jnlp-slave'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
JOB_ENV = "social" // namespace
|
||||
DEPLOYMENT_NAME = "" // rpc server k8s deploy name, like user
|
||||
CONFIGMAP_NAME = "${DEPLOYMENT_NAME}-conf" // runtime conf
|
||||
JOB_NAME = "${JOB_NAME}" // jenkins job name
|
||||
GIT_URL = "" // gitlab or github codebase
|
||||
CREDENTIALS_ID = "" // need configure it in jenkins, will use it's username and password to pull codebase
|
||||
HARBOR_URL = "" // docker harbor url
|
||||
HARBOR_ID = "" // docker harbor id, will use it to login
|
||||
DOCKER_CPU = "100m"
|
||||
DOCKER_MEM = "200Mi"
|
||||
BASEDIR = "."
|
||||
BUILD_NUM = "${BUILD_NUMBER}"
|
||||
CONF_PATH = "/openim/config/"
|
||||
EXPOSED_PORT = "10110" // server port,will be container expose port
|
||||
}
|
||||
parameters {
|
||||
gitParameter(
|
||||
branch: '',
|
||||
branchFilter: 'origin/(.*)',
|
||||
defaultValue: 'main',
|
||||
description: '',
|
||||
name: 'RELEASE_BRANCH',
|
||||
quickFilterEnabled: false,
|
||||
selectedValue: 'NONE',
|
||||
sortMode: 'NONE',
|
||||
tagFilter: '*',
|
||||
type: 'PT_BRANCH'
|
||||
)
|
||||
extendedChoice(
|
||||
name: "RELEASE_PROJECTS",
|
||||
type: "PT_RADIO",
|
||||
multiSelectDelimiter: " ",
|
||||
value: """api,msg_gateway,msg_transfer,push,rpc_conversation,rpc_group,rpc_msg,rpc_user""",
|
||||
defaultValue: "",
|
||||
description: "please choice projects to deploy"
|
||||
)
|
||||
}
|
||||
stages {
|
||||
stage('Git') {
|
||||
steps {
|
||||
checkout([$class: 'GitSCM',
|
||||
branches: [[name: "${params.RELEASE_BRANCH}"]],
|
||||
doGenerateSubmoduleConfigurations: false,
|
||||
extensions: [],
|
||||
gitTool: 'Default',
|
||||
submoduleCfg: [],
|
||||
userRemoteConfigs: [[url: "${GIT_URL}", credentialsId: "${CREDENTIALS_ID}"]]
|
||||
])
|
||||
}
|
||||
}
|
||||
stage('CommitHash') {
|
||||
steps {
|
||||
script {
|
||||
env.CommitHash = sh (script: 'git rev-parse --short HEAD', returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Check Param') {
|
||||
steps {
|
||||
script {
|
||||
def releaseParams = "${params.RELEASE_PROJECTS}"
|
||||
def tag = "${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}"
|
||||
def selectEnv = "${params.SERVICE_ENV}"
|
||||
if(releaseParams) {
|
||||
echo "============================================="
|
||||
echo "projects: $releaseParams"
|
||||
echo "tag: $tag"
|
||||
echo "selectEnv: $selectEnv"
|
||||
echo "============================================="
|
||||
} else {
|
||||
echo "============================================="
|
||||
echo "invalid release projects!!! stop now!!!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Docker Build') {
|
||||
steps {
|
||||
container ('docker') {
|
||||
withCredentials([usernamePassword(credentialsId: "${HARBOR_ID}", passwordVariable: 'password', usernameVariable: 'username')]) {
|
||||
sh """
|
||||
docker build -t ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} -f ${BASEDIR}/deploy/dockerfile/${params.RELEASE_PROJECTS}.Dockerfile .
|
||||
docker tag ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM} ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
|
||||
docker login -u ${username} -p ${password} ${HARBOR_URL}
|
||||
|
||||
docker push ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
docker rmi ${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
docker rmi ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
container ('helm-kubectl') {
|
||||
sh """
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-configMap-test.yaml | kubectl apply -f -
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/default-namespace-test.yaml | kubectl apply -f -
|
||||
envsubst < ${BASEDIR}/deploy/k8sdeployment_dev/rpc_deployment.yaml | kubectl apply -f - && kubectl rollout status -f -
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
# api.yaml
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: api
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: api
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: api
|
||||
spec:
|
||||
containers:
|
||||
- name: api
|
||||
image: ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
imagePullPolicy: Always
|
||||
resources:
|
||||
limits:
|
||||
memory: "500Mi"
|
||||
cpu: "80m"
|
||||
requests:
|
||||
memory: "200Mi"
|
||||
cpu: "50m"
|
||||
ports:
|
||||
- containerPort: 10002
|
||||
name: api
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: localtime
|
||||
mountPath: /etc/localtime
|
||||
- name: config
|
||||
mountPath: ${CONF_PATH}
|
||||
volumes:
|
||||
- name: localtime
|
||||
hostPath:
|
||||
path: /usr/share/zoneinfo/UTC
|
||||
- name: config
|
||||
configMap:
|
||||
name: ${CONFIGMAP_NAME}
|
||||
restartPolicy: Always
|
||||
|
||||
---
|
||||
# 外部访问的服务
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
labels:
|
||||
name: api
|
||||
name: api
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- name: api
|
||||
port: 10002
|
||||
targetPort: 10002
|
||||
nodePort: 30020
|
||||
selector:
|
||||
name: api
|
@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: ${JOB_ENV}
|
@ -0,0 +1,66 @@
|
||||
# msg-gateway.yaml
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: msg-gateway
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: msg-gateway
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: msg-gateway
|
||||
spec:
|
||||
containers:
|
||||
- name: msg-gateway
|
||||
image: ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
imagePullPolicy: Always
|
||||
resources:
|
||||
limits:
|
||||
memory: "1024Mi"
|
||||
cpu: "200m"
|
||||
requests:
|
||||
memory: "500Mi"
|
||||
cpu: "50m"
|
||||
ports:
|
||||
- containerPort: 10001
|
||||
name: ws
|
||||
protocol: TCP
|
||||
- containerPort: 10140
|
||||
name: rpc
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: localtime
|
||||
mountPath: /etc/localtime
|
||||
- name: config
|
||||
mountPath: ${CONF_PATH}
|
||||
volumes:
|
||||
- name: localtime
|
||||
hostPath:
|
||||
path: /usr/share/zoneinfo/UTC
|
||||
- name: config
|
||||
configMap:
|
||||
name: ${CONFIGMAP_NAME}
|
||||
restartPolicy: Always
|
||||
---
|
||||
# 外部访问的服务
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
labels:
|
||||
name: msg-gateway
|
||||
name: msg-gateway
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- name: msg-gateway-ws
|
||||
port: 10001
|
||||
targetPort: 10001
|
||||
nodePort: 30031
|
||||
selector:
|
||||
name: msg-gateway
|
@ -0,0 +1,59 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
spec:
|
||||
containers:
|
||||
- name: ${DEPLOYMENT_NAME}
|
||||
image: ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
imagePullPolicy: Always
|
||||
resources:
|
||||
limits:
|
||||
memory: ${DOCKER_MEM}
|
||||
cpu: ${DOCKER_CPU}
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 80m
|
||||
ports:
|
||||
- containerPort: ${EXPOSED_PORT}
|
||||
protocol: TCP
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: ${EXPOSED_PORT}
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 5
|
||||
periodSeconds: 300
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: ${EXPOSED_PORT}
|
||||
initialDelaySeconds: 10
|
||||
timeoutSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 5
|
||||
periodSeconds: 60
|
||||
volumeMounts:
|
||||
- name: localtime
|
||||
mountPath: /etc/localtime
|
||||
- name: config
|
||||
mountPath: ${CONF_PATH}
|
||||
volumes:
|
||||
- name: localtime
|
||||
hostPath:
|
||||
path: /usr/share/zoneinfo/UTC
|
||||
- name: config
|
||||
configMap:
|
||||
name: ${CONFIGMAP_NAME}
|
||||
restartPolicy: Always
|
@ -0,0 +1,41 @@
|
||||
# transfer don't need port, please handle it separately
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
namespace: ${JOB_ENV}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: ${DEPLOYMENT_NAME}
|
||||
spec:
|
||||
containers:
|
||||
- name: ${DEPLOYMENT_NAME}
|
||||
image: ${HARBOR_URL}/${JOB_ENV}/${JOB_NAME}:${CommitHash}-${BUILD_NUM}
|
||||
imagePullPolicy: Always
|
||||
resources:
|
||||
limits:
|
||||
memory: ${DOCKER_MEM}
|
||||
cpu: ${DOCKER_CPU}
|
||||
requests:
|
||||
memory: 100Mi
|
||||
cpu: 80m
|
||||
volumeMounts:
|
||||
- name: localtime
|
||||
mountPath: /etc/localtime
|
||||
- name: config
|
||||
mountPath: ${CONF_PATH}
|
||||
volumes:
|
||||
- name: localtime
|
||||
hostPath:
|
||||
path: /usr/share/zoneinfo/UTC
|
||||
- name: config
|
||||
configMap:
|
||||
name: ${CONFIGMAP_NAME}
|
||||
restartPolicy: Always
|
Loading…
Reference in new issue