feat: add linter

This commit is contained in:
Sun-ZhenXing
2026-02-19 16:21:45 +08:00
parent 3360ca01a2
commit be71b96317
37 changed files with 3608 additions and 100 deletions

3
.gitignore vendored
View File

@@ -1,3 +1,6 @@
# Node.js
node_modules/
# Ignore Helm chart default values files
*-values.yaml
values-*.yaml

5
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"recommendations": [
"dbaeumer.vscode-eslint"
]
}

59
.vscode/settings.json vendored
View File

@@ -1,6 +1,10 @@
{
// Disable Prettier, use ESLint for formatting instead
"prettier.enable": false,
// Disable default formatOnSave, use ESLint fixOnSave
"editor.formatOnSave": false,
// Markdown settings
"[markdown]": {
"editor.wordWrap": "on",
"editor.formatOnSave": true,
@@ -13,12 +17,61 @@
"strings": "off"
}
},
// YAML settings: auto-fix ESLint issues on save
"[yaml]": {
"editor.formatOnSave": true
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
// Docker Compose settings
"[dockercompose]": {
"editor.formatOnSave": true
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
},
// File EOL configuration
"files.eol": "\n",
"cSpell.enabled": false
// Disable spell checking
"cSpell.enabled": false,
// ESLint settings: auto-fix on save
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},
// Silent stylistic rules in IDE but still auto-fix them
"eslint.rules.customizations": [
{ "rule": "style/*", "severity": "off", "fixable": true },
{ "rule": "format/*", "severity": "off", "fixable": true },
{ "rule": "*-indent", "severity": "off", "fixable": true },
{ "rule": "*-spacing", "severity": "off", "fixable": true },
{ "rule": "*-spaces", "severity": "off", "fixable": true },
{ "rule": "*-order", "severity": "off", "fixable": true },
{ "rule": "*-dangle", "severity": "off", "fixable": true },
{ "rule": "*-newline", "severity": "off", "fixable": true },
{ "rule": "*quotes", "severity": "off", "fixable": true },
{ "rule": "*semi", "severity": "off", "fixable": true }
],
// Enable ESLint for supported languages
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"toml"
]
}

View File

@@ -14,15 +14,19 @@ The following services are currently supported:
- Elasticsearch
- etcd
- Kafka
- Keycloak
- Kibana
- Langfuse
- MariaDB
- Milvus
- MinIO
- MongoDB
- Nginx
- OpenTelemetry Collector
- Phoenix
- PostgreSQL
- RabbitMQ
- RabbitMQ Cluster Operator
- Redis
- Valkey
- ZooKeeper

35
eslint.config.mjs Normal file
View File

@@ -0,0 +1,35 @@
import antfu from '@antfu/eslint-config'
export default antfu({
// Enable YAML support
yaml: {
overrides: {
// For Helm values files, allow flexible string styles
'yaml/quotes': ['error', { prefer: 'single', avoidEscape: true }],
// 'yaml/plain-scalar': 'off',
},
},
// Disable other language support we don't need
typescript: false,
vue: false,
react: false,
svelte: false,
astro: false,
// Enable stylistic formatting
stylistic: {
indent: 2,
quotes: 'single',
semi: false,
},
// Files to ignore
ignores: [
'**/node_modules/**',
'**/.git/**',
],
}, {
// Disable sort keys rule for JSON files
files: ['**/package.json'],
rules: {
'jsonc/sort-keys': 'off',
},
})

19
package.json Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "helm-anything",
"version": "1.0.0",
"description": "Helm command templates for quick service deployment",
"main": "index.js",
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["helm", "kubernetes", "deployment"],
"author": "",
"license": "ISC",
"packageManager": "pnpm@10.25.0",
"devDependencies": {
"@antfu/eslint-config": "^7.4.3",
"eslint": "^10.0.0"
}
}

2684
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@ clickhouse:
shardsCount: 1
antiAffinity: true
defaultUser:
password: "clickhouse-password" # Change me!
password: clickhouse-password # Change me!
allowExternalAccess: true
persistence:
enabled: true

View File

@@ -2,18 +2,18 @@ replicas: 3
minimumMasterNodes: 2
volumeClaimTemplate:
accessModes: ["ReadWriteOnce"]
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 30Gi
resources:
requests:
cpu: "500m"
memory: "2Gi"
cpu: 500m
memory: 2Gi
limits:
cpu: "1000m"
memory: "2Gi"
cpu: 1000m
memory: 2Gi
esConfig:
elasticsearch.yml: |
@@ -25,14 +25,14 @@ esConfig:
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length
esJavaOpts: "-Xmx1g -Xms1g"
esJavaOpts: -Xmx1g -Xms1g
service:
type: ClusterIP
port: 9200
nodePort: ""
nodePort: ''
xpack:
enabled: false
clusterHealthCheckParams: "wait_for_status=yellow&timeout=1s"
clusterHealthCheckParams: 'wait_for_status=yellow&timeout=1s'

View File

@@ -21,7 +21,7 @@ spec:
transaction.state.log.min.isr: 2
default.replication.factor: 3
min.insync.replicas: 2
inter.broker.protocol.version: "3.6"
inter.broker.protocol.version: '3.6'
storage:
type: jbod
volumes:
@@ -32,10 +32,10 @@ spec:
resources:
requests:
memory: 2Gi
cpu: "1"
cpu: '1'
limits:
memory: 2Gi
cpu: "2"
cpu: '2'
zookeeper:
replicas: 3
storage:
@@ -45,24 +45,24 @@ spec:
resources:
requests:
memory: 1Gi
cpu: "0.5"
cpu: '0.5'
limits:
memory: 1Gi
cpu: "1"
cpu: '1'
entityOperator:
topicOperator:
resources:
requests:
memory: 512Mi
cpu: "0.2"
cpu: '0.2'
limits:
memory: 512Mi
cpu: "0.5"
cpu: '0.5'
userOperator:
resources:
requests:
memory: 512Mi
cpu: "0.2"
cpu: '0.2'
limits:
memory: 512Mi
cpu: "0.5"
cpu: '0.5'

16
src/keycloak/Makefile Normal file
View File

@@ -0,0 +1,16 @@
HELM_RELEASE_NAME ?= keycloak
HELM_APPLICATION_NAME ?= keycloak
HELM_NAMESPACE ?= keycloak
HELM_DIR ?= ./helm
HELM_CHART_VERSION ?= 0.15.1
HELM_VALUES_FILE ?= ./values.yaml
HELM_OCI_REGISTRY ?= docker.io
HELM_OCI_NAMESPACE ?= cloudpirates
HELM_OCI_USERNAME ?=
HELM_OCI_PASSWORD ?=
HELM_REPO_NAME ?=
HELM_REPO_URL ?=
HELM_CHART_REPO ?= oci://$(HELM_OCI_REGISTRY)/$(HELM_OCI_NAMESPACE)/$(HELM_APPLICATION_NAME)
HELM_LANE ?=
include ../_template/base.mk

79
src/keycloak/README.md Normal file
View File

@@ -0,0 +1,79 @@
# Keycloak
## Introduction
Keycloak is an open source identity and access management solution. It provides user federation, strong authentication, user management, fine-grained authorization, and more.
## Installation
To install Keycloak, run:
```bash
make install
```
## Usage
After installation, verify the deployment:
```bash
kubectl get pods -n keycloak
```
To access Keycloak, port-forward the service:
```bash
kubectl port-forward svc/keycloak 8080:8080 -n keycloak
```
Then access the admin console at <http://localhost:8080/admin>
Default credentials:
- Username: `admin`
- Password: (see `values.yaml` keycloak.adminPassword)
## Configuration
You can customize Keycloak by editing `values.yaml`:
- `keycloak`: Core Keycloak settings (admin user, hostname, production mode)
- `database`: External database configuration (PostgreSQL, MySQL, MariaDB)
- `postgres`: Embedded PostgreSQL configuration
- `ingress`: Configure ingress for external access
- `tls`: Enable TLS/HTTPS support
## Production Mode
For production deployments, set:
```yaml
keycloak:
production: true
hostname: keycloak.yourdomain.com
hostnameStrict: true
```
## External Database
To use an external database instead of the embedded PostgreSQL:
```yaml
postgres:
enabled: false
database:
type: postgres
host: postgres.example.com
port: 5432
name: keycloak
username: keycloak
password: your-password
```
## Documentation
For more information, see:
- [Keycloak Official Website](https://www.keycloak.org)
- [Keycloak Documentation](https://www.keycloak.org/documentation)

79
src/keycloak/README.zh.md Normal file
View File

@@ -0,0 +1,79 @@
# Keycloak
## 简介
Keycloak 是一个开源的身份和访问管理解决方案。它提供用户联合、强身份认证、用户管理、细粒度授权等功能。
## 安装
要安装 Keycloak请运行
```bash
make install
```
## 使用
安装后,验证部署:
```bash
kubectl get pods -n keycloak
```
要访问 Keycloak请端口转发服务
```bash
kubectl port-forward svc/keycloak 8080:8080 -n keycloak
```
然后在 <http://localhost:8080/admin> 访问管理控制台
默认凭据:
- 用户名:`admin`
- 密码:(参见 `values.yaml` 中的 keycloak.adminPassword
## 配置
您可以通过编辑 `values.yaml` 来自定义 Keycloak
- `keycloak`: 核心 Keycloak 设置(管理员用户、主机名、生产模式)
- `database`: 外部数据库配置PostgreSQL、MySQL、MariaDB
- `postgres`: 嵌入式 PostgreSQL 配置
- `ingress`: 配置 ingress 以进行外部访问
- `tls`: 启用 TLS/HTTPS 支持
## 生产模式
对于生产部署,请设置:
```yaml
keycloak:
production: true
hostname: keycloak.yourdomain.com
hostnameStrict: true
```
## 外部数据库
要使用外部数据库而不是嵌入式 PostgreSQL
```yaml
postgres:
enabled: false
database:
type: postgres
host: postgres.example.com
port: 5432
name: keycloak
username: keycloak
password: your-password
```
## 文档
更多信息请参阅:
- [Keycloak 官方网站](https://www.keycloak.org)
- [Keycloak 文档](https://www.keycloak.org/documentation)

62
src/keycloak/values.yaml Normal file
View File

@@ -0,0 +1,62 @@
# Keycloak Configuration
# https://github.com/CloudPirates-io/helm-charts/tree/main/charts/keycloak
replicaCount: 1
keycloak:
adminUser: admin
adminPassword: admin-password # Change me!
hostname: ''
hostnameStrict: false
httpEnabled: true
httpsEnabled: false
production: false
extraArgs: []
database:
type: postgres
host: ''
port: ''
name: keycloak
username: keycloak
password: keycloak-db-password # Change me!
# Embedded PostgreSQL
postgres:
enabled: true
auth:
database: keycloak
username: ''
password: ''
service:
type: ClusterIP
httpPort: 8080
httpsPort: 8443
ingress:
enabled: true
className: nginx
annotations: {}
hosts:
- host: keycloak.local
paths:
- path: /
pathType: Prefix
tls: []
resources:
limits:
cpu: '1'
memory: 1Gi
requests:
cpu: '0.5'
memory: 512Mi
persistence:
enabled: false
storageClass: ''
size: 1Gi
metrics:
enabled: false

View File

@@ -1,14 +1,14 @@
replicas: 3
elasticsearchHosts: "http://elasticsearch:9200"
elasticsearchHosts: 'http://elasticsearch:9200'
resources:
requests:
cpu: "500m"
memory: "1Gi"
cpu: 500m
memory: 1Gi
limits:
cpu: "1000m"
memory: "2Gi"
cpu: 1000m
memory: 2Gi
kibanaConfig:
kibana.yml: |
@@ -19,11 +19,11 @@ service:
type: ClusterIP
port: 5601
healthCheckPath: "/api/status"
healthCheckPath: /api/status
ingress:
enabled: false
className: "nginx"
className: nginx
hosts:
- host: kibana.example.com
paths:

View File

@@ -3,47 +3,47 @@ langfuse:
web:
replicas: 3
salt:
value: "salt-key" # Change me: $ openssl rand -base64 32
value: salt-key # Change me: $ openssl rand -base64 32
nextauth:
url: http://langfuse-web:3000 # Change me if you change the web service name or port
secret:
value: "secret-key" # Change me: $ openssl rand -hex 32
value: secret-key # Change me: $ openssl rand -hex 32
additionalEnv:
- name: "DATABASE_URL"
value: "postgres://postgres:wFvh4a6QdJ@postgres-postgresql.db:5432/postgres_langfuse"
- name: DATABASE_URL
value: 'postgres://postgres:wFvh4a6QdJ@postgres-postgresql.db:5432/postgres_langfuse'
encryptionKey:
value: "encryption-key" # Change me: $ openssl rand -hex 32
value: encryption-key # Change me: $ openssl rand -hex 32
postgresql:
deploy: false
directUrl: "postgres://postgres:wFvh4a6QdJ@postgres-postgresql.db:5432/postgres_langfuse"
directUrl: 'postgres://postgres:wFvh4a6QdJ@postgres-postgresql.db:5432/postgres_langfuse'
auth:
secretKeys:
adminPasswordKey: "wFvh4a6QdJ"
password: "wFvh4a6QdJ"
adminPasswordKey: wFvh4a6QdJ
password: wFvh4a6QdJ
redis:
auth:
password: "FfuNDfCpeUUmmcD5GS7FMBm"
password: FfuNDfCpeUUmmcD5GS7FMBm
clickhouse:
auth:
password: "FfuNDfCpeUUmmcD5GS7FMBm"
password: FfuNDfCpeUUmmcD5GS7FMBm
clusterEnabled: true
replicaCount: 3
resources:
requests:
memory: "512Mi"
cpu: "500m"
memory: 512Mi
cpu: 500m
limits:
memory: "4Gi"
cpu: "1"
memory: 4Gi
cpu: '1'
zookeeper:
enabled: true
resources:
requests:
memory: "512Mi"
cpu: "500m"
memory: 512Mi
cpu: 500m
limits:
memory: "4Gi"
cpu: "1"
memory: 4Gi
cpu: '1'

16
src/mariadb/Makefile Normal file
View File

@@ -0,0 +1,16 @@
HELM_RELEASE_NAME ?= mariadb
HELM_APPLICATION_NAME ?= mariadb
HELM_NAMESPACE ?= mariadb
HELM_DIR ?= ./helm
HELM_CHART_VERSION ?= 0.14.1
HELM_VALUES_FILE ?= ./values.yaml
HELM_OCI_REGISTRY ?= docker.io
HELM_OCI_NAMESPACE ?= cloudpirates
HELM_OCI_USERNAME ?=
HELM_OCI_PASSWORD ?=
HELM_REPO_NAME ?=
HELM_REPO_URL ?=
HELM_CHART_REPO ?= oci://$(HELM_OCI_REGISTRY)/$(HELM_OCI_NAMESPACE)/$(HELM_APPLICATION_NAME)
HELM_LANE ?=
include ../_template/base.mk

65
src/mariadb/README.md Normal file
View File

@@ -0,0 +1,65 @@
# MariaDB
## Introduction
MariaDB is a high-performance, open-source relational database server that is a drop-in replacement for MySQL. It supports both single-node and Galera Cluster deployments.
## Installation
To install MariaDB, run:
```bash
make install
```
## Usage
After installation, verify the deployment:
```bash
kubectl get pods -n mariadb
```
To connect to MariaDB from within the cluster:
```bash
kubectl exec -it -n mariadb deploy/mariadb -- mysql -u root -p
```
To access MariaDB from outside the cluster, port-forward the service:
```bash
kubectl port-forward svc/mariadb 3306:3306 -n mariadb
```
Then connect using:
```bash
mysql -h 127.0.0.1 -P 3306 -u root -p
```
## Configuration
You can customize the MariaDB configuration by editing `values.yaml`:
- `auth`: Configure database authentication (root password, custom user)
- `galera`: Enable Galera Cluster mode for high availability
- `persistence`: Configure PVC storage settings
- `metrics`: Enable Prometheus metrics exporter
## Galera Cluster
To enable Galera Cluster mode, set:
```yaml
galera:
enabled: true
replicaCount: 3
```
## Documentation
For more information, see:
- [MariaDB Official Website](https://mariadb.org)
- [MariaDB Documentation](https://mariadb.com/kb/en/documentation/)

65
src/mariadb/README.zh.md Normal file
View File

@@ -0,0 +1,65 @@
# MariaDB
## 简介
MariaDB 是一个高性能的开源关系数据库服务器,是 MySQL 的直接替代品。它支持单节点和 Galera 集群部署。
## 安装
要安装 MariaDB请运行
```bash
make install
```
## 使用
安装后,验证部署:
```bash
kubectl get pods -n mariadb
```
要从集群内部连接到 MariaDB
```bash
kubectl exec -it -n mariadb deploy/mariadb -- mysql -u root -p
```
要从集群外部访问 MariaDB请端口转发服务
```bash
kubectl port-forward svc/mariadb 3306:3306 -n mariadb
```
然后使用以下方式连接:
```bash
mysql -h 127.0.0.1 -P 3306 -u root -p
```
## 配置
您可以通过编辑 `values.yaml` 来自定义 MariaDB 配置:
- `auth`: 配置数据库认证root 密码、自定义用户)
- `galera`: 启用 Galera 集群模式以实现高可用性
- `persistence`: 配置 PVC 存储设置
- `metrics`: 启用 Prometheus 指标导出器
## Galera 集群
要启用 Galera 集群模式,请设置:
```yaml
galera:
enabled: true
replicaCount: 3
```
## 文档
更多信息请参阅:
- [MariaDB 官方网站](https://mariadb.org)
- [MariaDB 文档](https://mariadb.com/kb/en/documentation/)

33
src/mariadb/values.yaml Normal file
View File

@@ -0,0 +1,33 @@
# MariaDB Configuration
# https://github.com/CloudPirates-io/helm-charts/tree/main/charts/mariadb
auth:
enabled: true
rootPassword: mariadb-root-password # Change me!
database: mariadb
username: mariadb
password: mariadb-password # Change me!
service:
type: ClusterIP
port: 3306
persistence:
enabled: true
storageClass: local-path
accessModes:
- ReadWriteOnce
size: 8Gi
resources:
limits:
cpu: '1'
memory: 1Gi
requests:
cpu: '0.1'
memory: 512Mi
# Galera Cluster Configuration
galera:
enabled: false
replicaCount: 3

View File

@@ -33,11 +33,11 @@ standalone:
enabled: true
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi
persistence:
persistentVolumeClaim:
storageClass: local-path
@@ -51,7 +51,7 @@ minio:
mode: standalone
persistence:
enabled: true
existingClaim: ""
existingClaim: ''
storageClass: local-path
accessMode: ReadWriteOnce
size: 500Gi

View File

@@ -2,7 +2,7 @@ replicaCount: 3
auth:
rootUser: admin
rootPassword: "root-password" # Change me: $ openssl rand -base64 12
rootPassword: root-password # Change me: $ openssl rand -base64 12
ingress:
enabled: true
@@ -20,8 +20,8 @@ persistence:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

View File

@@ -3,12 +3,12 @@ replicaCount: 3
replicaSet:
enabled: true
name: rs0
key: "qJlSywRHAWOysZaow3uE5f3BQAY/1ml/" # change me!
key: qJlSywRHAWOysZaow3uE5f3BQAY/1ml/ # change me!
auth:
enabled: true
rootUsername: admin
rootPassword: "password" # Change me!
rootPassword: password # Change me!
persistence:
enabled: true
@@ -16,8 +16,8 @@ persistence:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

16
src/nginx/Makefile Normal file
View File

@@ -0,0 +1,16 @@
HELM_RELEASE_NAME ?= nginx
HELM_APPLICATION_NAME ?= nginx
HELM_NAMESPACE ?= nginx
HELM_DIR ?= ./helm
HELM_CHART_VERSION ?= 0.6.0
HELM_VALUES_FILE ?= ./values.yaml
HELM_OCI_REGISTRY ?= docker.io
HELM_OCI_NAMESPACE ?= cloudpirates
HELM_OCI_USERNAME ?=
HELM_OCI_PASSWORD ?=
HELM_REPO_NAME ?=
HELM_REPO_URL ?=
HELM_CHART_REPO ?= oci://$(HELM_OCI_REGISTRY)/$(HELM_OCI_NAMESPACE)/$(HELM_APPLICATION_NAME)
HELM_LANE ?=
include ../_template/base.mk

45
src/nginx/README.md Normal file
View File

@@ -0,0 +1,45 @@
# Nginx
## Introduction
Nginx is a high-performance HTTP server and reverse proxy, known for its stability, rich feature set, simple configuration, and low resource consumption.
## Installation
To install Nginx, run:
```bash
make install
```
## Usage
After installation, verify the deployment:
```bash
kubectl get pods -n nginx
```
To access Nginx, port-forward the service:
```bash
kubectl port-forward svc/nginx 8080:80 -n nginx
```
Then access at <http://localhost:8080>
## Configuration
You can customize the Nginx configuration by editing `values.yaml`:
- `config`: Custom nginx.conf content
- `serverConfig`: Custom server block configuration
- `staticSiteConfigmap`: Use an existing ConfigMap with static site content
- `ingress`: Configure ingress for external access
## Documentation
For more information, see:
- [Nginx Official Website](https://www.nginx.com)
- [Nginx Documentation](https://nginx.org/en/docs/)

45
src/nginx/README.zh.md Normal file
View File

@@ -0,0 +1,45 @@
# Nginx
## 简介
Nginx 是一个高性能的 HTTP 服务器和反向代理,以其稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。
## 安装
要安装 Nginx请运行
```bash
make install
```
## 使用
安装后,验证部署:
```bash
kubectl get pods -n nginx
```
要访问 Nginx请端口转发服务
```bash
kubectl port-forward svc/nginx 8080:80 -n nginx
```
然后在 <http://localhost:8080> 访问
## 配置
您可以通过编辑 `values.yaml` 来自定义 Nginx 配置:
- `config`: 自定义 nginx.conf 内容
- `serverConfig`: 自定义服务器块配置
- `staticSiteConfigmap`: 使用带有静态站点内容的现有 ConfigMap
- `ingress`: 配置 ingress 以进行外部访问
## 文档
更多信息请参阅:
- [Nginx 官方网站](https://www.nginx.com)
- [Nginx 文档](https://nginx.org/en/docs/)

31
src/nginx/values.yaml Normal file
View File

@@ -0,0 +1,31 @@
# Nginx Configuration
# https://github.com/CloudPirates-io/helm-charts/tree/main/charts/nginx
replicaCount: 1
service:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
ingress:
enabled: true
className: nginx
annotations: {}
hosts:
- host: nginx.local
paths:
- path: /
pathType: Prefix
tls: []
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 50m
memory: 128Mi

View File

@@ -36,11 +36,11 @@ config:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi
service:
type: ClusterIP

View File

@@ -27,21 +27,21 @@ service:
auth:
enableAuth: false
secret:
- key: "PHOENIX_SECRET"
value: "phoenix-secret" # Change me!
- key: "PHOENIX_ADMIN_SECRET"
value: "phoenix-admin-secret" # Change me!
- key: "PHOENIX_POSTGRES_PASSWORD"
value: "phoenix-postgres-password" # Change me!
- key: "PHOENIX_SMTP_PASSWORD"
value: "phoenix-smtp-password" # Change me!
- key: "PHOENIX_DEFAULT_ADMIN_INITIAL_PASSWORD"
value: "phoenix-default-admin-initial-password" # Change me!
- key: PHOENIX_SECRET
value: phoenix-secret # Change me!
- key: PHOENIX_ADMIN_SECRET
value: phoenix-admin-secret # Change me!
- key: PHOENIX_POSTGRES_PASSWORD
value: phoenix-postgres-password # Change me!
- key: PHOENIX_SMTP_PASSWORD
value: phoenix-smtp-password # Change me!
- key: PHOENIX_DEFAULT_ADMIN_INITIAL_PASSWORD
value: phoenix-default-admin-initial-password # Change me!
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

View File

@@ -0,0 +1,16 @@
HELM_RELEASE_NAME ?= rabbitmq-cluster-operator
HELM_APPLICATION_NAME ?= rabbitmq-cluster-operator
HELM_NAMESPACE ?= rabbitmq-cluster-operator
HELM_DIR ?= ./helm
HELM_CHART_VERSION ?= 0.2.0
HELM_VALUES_FILE ?= ./values.yaml
HELM_OCI_REGISTRY ?= docker.io
HELM_OCI_NAMESPACE ?= cloudpirates
HELM_OCI_USERNAME ?=
HELM_OCI_PASSWORD ?=
HELM_REPO_NAME ?=
HELM_REPO_URL ?=
HELM_CHART_REPO ?= oci://$(HELM_OCI_REGISTRY)/$(HELM_OCI_NAMESPACE)/$(HELM_APPLICATION_NAME)
HELM_LANE ?=
include ../_template/base.mk

View File

@@ -0,0 +1,55 @@
# RabbitMQ Cluster Operator
## Introduction
The RabbitMQ Cluster Operator is a Kubernetes operator that automates the deployment and management of RabbitMQ clusters on Kubernetes.
## Installation
To install RabbitMQ Cluster Operator, run:
```bash
make install
```
## Usage
After installation, verify the deployment:
```bash
kubectl get pods -n rabbitmq-cluster-operator
```
To create a RabbitMQ cluster, apply a RabbitmqCluster custom resource:
```yaml
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: my-rabbitmq
namespace: default
spec:
replicas: 3
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 1
memory: 2Gi
```
To access the RabbitMQ Management UI, port-forward the service:
```bash
kubectl port-forward svc/my-rabbitmq 15672:15672 -n default
```
Then access at <http://localhost:15672>
## Documentation
For more information, see:
- [RabbitMQ Cluster Operator GitHub](https://github.com/rabbitmq/cluster-operator)
- [RabbitMQ Documentation](https://www.rabbitmq.com/kubernetes/operator/operator-overview.html)

View File

@@ -0,0 +1,55 @@
# RabbitMQ Cluster Operator
## 简介
RabbitMQ Cluster Operator 是一个 Kubernetes 运营商,用于在 Kubernetes 上自动部署和管理 RabbitMQ 集群。
## 安装
要安装 RabbitMQ Cluster Operator请运行
```bash
make install
```
## 使用
安装后,验证部署:
```bash
kubectl get pods -n rabbitmq-cluster-operator
```
要创建 RabbitMQ 集群,请应用 RabbitmqCluster 自定义资源:
```yaml
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: my-rabbitmq
namespace: default
spec:
replicas: 3
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 1
memory: 2Gi
```
要访问 RabbitMQ 管理 UI请端口转发服务
```bash
kubectl port-forward svc/my-rabbitmq 15672:15672 -n default
```
然后在 <http://localhost:15672> 访问
## 文档
更多信息请参阅:
- [RabbitMQ Cluster Operator GitHub](https://github.com/rabbitmq/cluster-operator)
- [RabbitMQ 文档](https://www.rabbitmq.com/kubernetes/operator/operator-overview.html)

View File

@@ -0,0 +1,27 @@
# RabbitMQ Cluster Operator Configuration
# https://github.com/CloudPirates-io/helm-charts/tree/main/charts/rabbitmq-cluster-operator
clusterOperator:
replicaCount: 1
watchAllNamespaces: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
msgTopologyOperator:
enabled: true
replicaCount: 1
watchAllNamespaces: true
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi

View File

@@ -1,8 +1,8 @@
replicaCount: 3
auth:
password: "password" # Change me!
erlangCookie: "erlang-cookie" # Change me!
password: password # Change me!
erlangCookie: erlang-cookie # Change me!
ingress:
enabled: true
@@ -20,8 +20,8 @@ persistence:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

View File

@@ -5,7 +5,7 @@ service:
auth:
enabled: true
password: "password" # Change me!
password: password # Change me!
persistence:
enabled: true
@@ -13,8 +13,8 @@ persistence:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

View File

@@ -8,12 +8,12 @@ persistence:
auth:
enabled: true
password: "password" # Change me!
password: password # Change me!
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi

View File

@@ -7,8 +7,8 @@ service:
resources:
limits:
cpu: "1"
memory: "2Gi"
cpu: '1'
memory: 2Gi
requests:
cpu: "0.1"
memory: "512Mi"
cpu: '0.1'
memory: 512Mi