feat: 🚛 完成了 client 资源创建

This commit is contained in:
zhaoyupeng
2025-12-31 17:31:25 +08:00
parent 0bcb138fd5
commit eb87d6fbed
20 changed files with 632 additions and 60 deletions

View File

@@ -0,0 +1,28 @@
user root;
worker_processes auto;
events {
worker_connections 1024;
}
http {
log_format custom '$time_iso8601 - $remote_addr - $http_host - $status - $request_time - $request_method - $request_uri';
access_log /var/log/nginx/access.log custom;
include /etc/nginx/mime.types;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
gzip on;
server {
listen 80;
location %s {
alias /data;
try_files $uri $uri/ =404;
}
}
}

View File

@@ -71,6 +71,9 @@ var (
//go:embed yaml/app.nginx.yaml
YAMLAppNGINX string
//go:embed yaml/client.pkg.yaml
YAMLClientPKG string
//go:embed ssl/ca.crt
SSLCaCrt string
@@ -127,4 +130,7 @@ var (
//go:embed nginx/user.conf
NGINXUser []byte
//go:embed nginx/client_pkg.conf
NGINXClientPKG string
)

View File

@@ -0,0 +1,42 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: client-__os__-deployment
namespace: hsv2
spec:
replicas: %d
selector:
matchLabels:
app: client-__os__
template:
metadata:
labels:
app: client-__os__
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: client-__os__
containers:
- name: client-__os__
image: %s
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: client-__os__-service
namespace: hsv2
spec:
selector:
app: client-__os__
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP

View File

@@ -54,7 +54,7 @@ metadata:
namespace: db-registry
spec:
clusterIP: 10.96.123.45
type: NodePork
type: NodePort
selector:
app: registry
ports:

40
pkg/tool/client/http.go Normal file
View File

@@ -0,0 +1,40 @@
package client
import (
"crypto/tls"
"net/http"
"net/url"
)
type HttpClientOption func(*httpClientOption)
type httpClientOption struct {
SkipTLSVerify bool
Proxy string
}
func HttpClient(opts ...HttpClientOption) *http.Client {
var (
o = &httpClientOption{}
t = &http.Transport{}
)
for _, fn := range opts {
fn(o)
}
if o.SkipTLSVerify {
t.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
}
if o.Proxy != "" {
if ins, err := url.Parse(o.Proxy); err == nil {
t.Proxy = http.ProxyURL(ins)
}
}
c := &http.Client{
Transport: t,
}
return c
}