feat(deploy): 首次提交

这个提交包含在:
2024-04-07 19:42:51 +08:00 未验证
当前提交 baf810745e
修改 28 个文件,包含 859 行新增0 行删除
+20
查看文件
@@ -0,0 +1,20 @@
# postgresql-ha
helm instll postgresql-ha \
--set global.postgresql.username=rohow \
--set global.postgresql.password=XXX \
--set postgresql.postgresPassword=XXX \
--set namespaceOverride=infra-data \
oci://registry-1.docker.io/bitnamicharts/postgresql-ha --output-dir .
# redis
helm instll redis \
--set replica.replicaCount=0 \
--set global.redis.password=XXX \
--set namespaceOverride=infra-data \
oci://registry-1.docker.io/bitnamicharts/redis --output-dir .
# gitea
helm instll gitea \
--set redis-cluster.enabled=false \
--set postgresql-ha.enabled=false \
oci://registry-1.docker.io/giteacharts/gitea --output-dir .
+35
查看文件
@@ -0,0 +1,35 @@
# 需要提前安装crds
# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.crds.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: cert-manager-webhook-dnspod
namespace: infra-cert
spec:
chart: oci://registry-1.docker.io/imroc/cert-manager-webhook-dnspod
targetNamespace: infra-cert
valuesContent: |-
namespace: infra-cert
certManager:
namespace: infra-cert
groupName: cert.dev.cm
clusterIssuer:
# cnameStrategy: Follow
staging: false
email: [email protected]
secretId: AKIDzmKdvDSfonogKip55pIVR6h7ScjaBWcg
secretKey: zudDdtytkPr8HI9oKeniSxIRPCmCe0CD
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: In
values:
- "true"
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
+54
查看文件
@@ -0,0 +1,54 @@
# 需要提前安装crds
# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.crds.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: cert-manager
namespace: infra-cert
spec:
repo: https://charts.jetstack.io
chart: cert-manager
targetNamespace: infra-cert
version: v1.14.4
valuesContent: |-
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: In
values:
- "true"
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
webhook:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: In
values:
- "true"
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
cainjector:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: In
values:
- "true"
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
+27
查看文件
@@ -0,0 +1,27 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: gitea-custom-templates
namespace: infra-devops
data:
home.tmpl: |-
{{template "base/head" .}}
<div class="page-content home">
<div class="ui stackable middle very relaxed page grid">
<div class="sixteen wide center aligned centered column">
<div>
<img class="logo" width="220" height="220" src="{{AssetUrlPrefix}}/img/logo.svg"/>
</div>
<div class="hero">
<h1 class="ui icon header title">
{{AppName}}
</h1>
<h2><a href="https://git.dev.cm">dev.cm</a> - Git 仓库</h2>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
extra_links.tmpl: |-
<a class="item" href="https://ci.dev.cm" target="_blank">CI</a>
+61
查看文件
@@ -0,0 +1,61 @@
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: gitea
namespace: infra-devops
spec:
repo: https://dl.gitea.com/charts
chart: gitea
targetNamespace: infra-devops
valuesContent: |-
redis-cluster:
enabled: false
postgresql-ha:
enabled: false
gitea:
config:
APP_NAME: Git.dev.cm
RUN_MODE: prod
server:
DOMAIN: git.dev.cm
ROOT_URL: https://git.dev.cm/
database:
DB_TYPE: postgres
HOST: postgresql-ha-pgpool.infra-data:5432
NAME: gitea
USER: rohow
PASSWD: L#GRtTR2QuL@20pm6+c~
session:
PROVIDER: redis
PROVIDER_CONFIG: redis://:[email protected]:6379/0
cache:
ADAPTER: redis
HOST: redis://:[email protected]:6379/0?pool_size=100&idle_timeout=180s
queue:
TYPE: redis
CONN_STR: redis://:[email protected]:6379/0
service:
DISABLE_REGISTRATION: true
NO_REPLY_ADDRESS: noreply.dev.cm
picture:
GRAVATAR_SOURCE: https://cravatar.cn/avatar/
i18n:
LANGS: zh-CN,en-US
NAMES: 简体中文,English
extraVolumes:
- name: gitea-custom-templates-volume
configMap:
name: gitea-custom-templates
items:
- key: home.tmpl
path: home.tmpl
- key: extra_links.tmpl
path: custom/extra_links.tmpl
extraContainerVolumeMounts:
- name: gitea-custom-templates-volume
readOnly: true
mountPath: /data/gitea/templates
+16
查看文件
@@ -0,0 +1,16 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: gitea-http
namespace: infra-devops
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`git.dev.cm`)
services:
- kind: Service
name: gitea-http
namespace: infra-devops
port: 3000
+14
查看文件
@@ -0,0 +1,14 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
name: gitea-ssh
namespace: infra-devops
spec:
entryPoints:
- ssh
routes:
- match: HostSNI(`*`)
services:
- name: gitea-ssh
namespace: infra-devops
port: 22
+24
查看文件
@@ -0,0 +1,24 @@
apiVersion: v1
kind: Namespace
metadata:
name: apps
---
apiVersion: v1
kind: Namespace
metadata:
name: infra-data
---
apiVersion: v1
kind: Namespace
metadata:
name: infra-cert
---
apiVersion: v1
kind: Namespace
metadata:
name: infra-devops
---
apiVersion: v1
kind: Namespace
metadata:
name: infra-monitor
+60
查看文件
@@ -0,0 +1,60 @@
http:
routers:
router:
entryPoints:
- websecure
rule: "Host(`router.dev.cm`)"
service: "router@file"
middlewares:
- web-base
vm:
entryPoints:
- websecure
rule: "Host(`vm.dev.cm`)"
service: "vm@file"
middlewares:
- web-base
nas:
entryPoints:
- websecure
rule: "Host(`nas.dev.cm`)"
service: "nas@file"
middlewares:
- web-base
download:
entryPoints:
- websecure
rule: "Host(`download.dev.cm`)"
service: "download@file"
middlewares:
- traefik-forward-auth
- web-base
downloadRpc:
entryPoints:
- websecure
rule: "Host(`download.dev.cm`) && PathPrefix(`/jsonrpc`)"
service: "downloadRpc@file"
middlewares:
- web-base
services:
router:
loadBalancer:
servers:
- url: "https://192.168.21.1/"
vm:
loadBalancer:
servers:
- url: "https://192.168.21.2:8006/"
nas:
loadBalancer:
servers:
- url: "http://192.168.21.3/"
download:
loadBalancer:
servers:
- url: "http://192.168.21.3:6880/"
downloadRpc:
loadBalancer:
servers:
- url: "http://192.168.21.3:6800/"
+37
查看文件
@@ -0,0 +1,37 @@
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: postgresql-ha
namespace: infra-data
spec:
chart: oci://registry-1.docker.io/bitnamicharts/postgresql-ha
targetNamespace: infra-data
valuesContent: |-
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
global:
postgresql:
username: rohow
password: L#GRtTR2QuL@20pm6+c~
postgresql:
image:
debug: true
postgresPassword: L#GRtTR2QuL@20pm6+c~
nodeAffinityPreset:
type: "hard"
key: "topology.kubernetes.io/region"
values:
- "cn-sh"
pgpool:
image:
debug: true
nodeAffinityPreset:
type: "hard"
key: "topology.kubernetes.io/region"
values:
- "cn-sh"
+15
查看文件
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: postgresql-ha
namespace: infra-data
spec:
selector:
app.kubernetes.io/instance: postgresql-ha
app.kubernetes.io/name: postgresql-ha
app.kubernetes.io/component: pgpool
ports:
- protocol: TCP
port: 65432
targetPort: 5432
type: LoadBalancer
+17
查看文件
@@ -0,0 +1,17 @@
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: redis
namespace: infra-data
spec:
chart: oci://registry-1.docker.io/bitnamicharts/redis
targetNamespace: infra-data
valuesContent: |-
global:
redis:
password: ribiPwYQNU6GWxCYR0Nj
replica:
replicaCount: 0