diff --git a/template/filecodebox.yaml b/template/filecodebox.yaml new file mode 100644 index 00000000..790a67df --- /dev/null +++ b/template/filecodebox.yaml @@ -0,0 +1,132 @@ +apiVersion: app.sealos.io/v1 +kind: Template +metadata: + name: filecodebox +spec: + title: 'FileCodeBox' + url: 'https://github.com/vastsa/FileCodeBox' + gitRepo: 'https://github.com/vastsa/FileCodeBox' + author: 'vastsa' + description: '文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件。支持文本/文件分享,口令提取,一键部署。' + readme: 'https://raw.githubusercontent.com/vastsa/FileCodeBox/master/readme.md' + icon: 'https://raw.githubusercontent.com/vastsa/FileCodeBox/master/.github/images/img.png' + templateType: inline + defaults: + app_host: + type: string + value: filecodebox-${{ random(8) }} + app_name: + type: string + value: filecodebox-${{ random(8) }} + admin_password: + type: string + value: FileCodeBox${{ random(8) }} + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ${{ defaults.app_name }} + annotations: + originImageName: lanol/filecodebox:beta + deploy.cloud.sealos.io/minReplicas: '1' + deploy.cloud.sealos.io/maxReplicas: '1' + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + app: ${{ defaults.app_name }} +spec: + replicas: 1 + selector: + matchLabels: + app: ${{ defaults.app_name }} + template: + metadata: + labels: + app: ${{ defaults.app_name }} + spec: + containers: + - name: ${{ defaults.app_name }} + image: lanol/filecodebox:beta + env: + - name: PORT + value: "12345" + - name: ADMIN_PASSWORD + value: ${{ defaults.admin_password }} + - name: FILE_SIZE_LIMIT + value: "100" + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 1000m + memory: 1Gi + ports: + - containerPort: 12345 + imagePullPolicy: Always + volumeMounts: + - mountPath: /app/data + name: data-volume + volumes: + - name: data-volume + emptyDir: {} + +--- +apiVersion: v1 +kind: Service +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + ports: + - port: 12345 + targetPort: 12345 + selector: + app: ${{ defaults.app_name }} + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + cloud.sealos.io/app-deploy-manager-domain: ${{ defaults.app_host }} + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/proxy-body-size: 1024m + nginx.ingress.kubernetes.io/ssl-redirect: 'true' +spec: + rules: + - host: ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + http: + paths: + - pathType: Prefix + path: / + backend: + service: + name: ${{ defaults.app_name }} + port: + number: 12345 + tls: + - hosts: + - ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + secretName: ${{ SEALOS_CERT_SECRET_NAME }} + +--- +apiVersion: app.sealos.io/v1 +kind: App +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + data: + url: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + adminUrl: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }}/#/admin + password: ${{ defaults.admin_password }} + displayType: normal + icon: "https://raw.githubusercontent.com/vastsa/FileCodeBox/master/.github/images/img.png" + name: ${{ defaults.app_name }} + type: iframe \ No newline at end of file diff --git a/template/nsq.yaml b/template/nsq.yaml new file mode 100644 index 00000000..3973b298 --- /dev/null +++ b/template/nsq.yaml @@ -0,0 +1,168 @@ +apiVersion: app.sealos.io/v1 +kind: Template +metadata: + name: nsq +spec: + title: 'NSQ' + url: 'https://nsq.io' + gitRepo: 'https://github.com/nsqio/nsq' + author: 'nsqio' + description: 'NSQ 是一个实时分布式消息平台,设计用于大规模操作,处理每天数十亿条消息。' + readme: 'https://raw.githubusercontent.com/nsqio/nsq/master/README.md' + icon: 'https://nsq.io/static/img/nsq_blue.png' + templateType: inline + locale: zh + i18n: + en: + description: 'NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.' + categories: + - middleware + defaults: + app_name: + type: string + value: nsq-${{ random(8) }} + app_host: + type: string + value: nsq-${{ random(8) }} + +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: ${{ defaults.app_name }} + annotations: + originImageName: nsqio/nsq:v1.2.1 + deploy.cloud.sealos.io/minReplicas: '1' + deploy.cloud.sealos.io/maxReplicas: '1' + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + app: ${{ defaults.app_name }} +spec: + replicas: 1 + serviceName: ${{ defaults.app_name }} + selector: + matchLabels: + app: ${{ defaults.app_name }} + template: + metadata: + labels: + app: ${{ defaults.app_name }} + spec: + containers: + - name: nsqlookupd + image: nsqio/nsq:v1.2.1 + command: ["/nsqlookupd"] + ports: + - containerPort: 4160 + name: tcp + - containerPort: 4161 + name: http + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + - name: nsqd + image: nsqio/nsq:v1.2.1 + command: + - "/nsqd" + - "--lookupd-tcp-address=localhost:4160" + ports: + - containerPort: 4150 + name: tcp + - containerPort: 4151 + name: http + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + - name: nsqadmin + image: nsqio/nsq:v1.2.1 + command: + - "/nsqadmin" + - "--lookupd-http-address=localhost:4161" + ports: + - containerPort: 4171 + name: http + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + +--- +apiVersion: v1 +kind: Service +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + ports: + - port: 4171 + targetPort: 4171 + name: admin + - port: 4150 + targetPort: 4150 + name: nsqd-tcp + - port: 4151 + targetPort: 4151 + name: nsqd-http + - port: 4160 + targetPort: 4160 + name: lookup-tcp + - port: 4161 + targetPort: 4161 + name: lookup-http + selector: + app: ${{ defaults.app_name }} + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + cloud.sealos.io/app-deploy-manager-domain: ${{ defaults.app_host }} + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/ssl-redirect: 'true' +spec: + rules: + - host: ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + http: + paths: + - pathType: Prefix + path: / + backend: + service: + name: ${{ defaults.app_name }} + port: + number: 4171 + tls: + - hosts: + - ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + secretName: ${{ SEALOS_CERT_SECRET_NAME }} + +--- +apiVersion: app.sealos.io/v1 +kind: App +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + data: + url: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + displayType: normal + icon: "https://nsq.io/static/img/nsq_blue.png" + name: ${{ defaults.app_name }} + type: iframe \ No newline at end of file diff --git a/template/whodb.yaml b/template/whodb.yaml new file mode 100644 index 00000000..777deac8 --- /dev/null +++ b/template/whodb.yaml @@ -0,0 +1,114 @@ +apiVersion: app.sealos.io/v1 +kind: Template +metadata: + name: whodb +spec: + title: 'WhoDB' + url: 'https://whodb.clidey.com' + gitRepo: 'https://github.com/clidey/whodb' + author: 'clidey' + description: '🚀 WhoDB - 一个轻量级的新一代数据库管理工具,具有聊天界面。支持 Postgres、MySQL、SQLite、MongoDB、Redis、MariaDB 和 Elastic Search 等多种数据库。' + readme: 'https://raw.githubusercontent.com/clidey/whodb/main/README.md' + icon: 'https://raw.githubusercontent.com/clidey/whodb/main/frontend/public/logo.png' + templateType: inline + defaults: + app_host: + type: string + value: whodb-${{ random(8) }} + app_name: + type: string + value: whodb-${{ random(8) }} + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ${{ defaults.app_name }} + annotations: + originImageName: clidey/whodb:latest + deploy.cloud.sealos.io/minReplicas: '1' + deploy.cloud.sealos.io/maxReplicas: '1' + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + app: ${{ defaults.app_name }} +spec: + replicas: 1 + selector: + matchLabels: + app: ${{ defaults.app_name }} + template: + metadata: + labels: + app: ${{ defaults.app_name }} + spec: + containers: + - name: ${{ defaults.app_name }} + image: clidey/whodb:latest + resources: + requests: + cpu: 200m + memory: 256Mi + limits: + cpu: 1000m + memory: 1Gi + ports: + - containerPort: 8080 + imagePullPolicy: IfNotPresent + +--- +apiVersion: v1 +kind: Service +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + ports: + - port: 8080 + targetPort: 8080 + selector: + app: ${{ defaults.app_name }} + +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} + cloud.sealos.io/app-deploy-manager-domain: ${{ defaults.app_host }} + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/proxy-body-size: 32m + nginx.ingress.kubernetes.io/ssl-redirect: 'true' +spec: + rules: + - host: ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + http: + paths: + - pathType: Prefix + path: / + backend: + service: + name: ${{ defaults.app_name }} + port: + number: 8080 + tls: + - hosts: + - ${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + secretName: ${{ SEALOS_CERT_SECRET_NAME }} + +--- +apiVersion: app.sealos.io/v1 +kind: App +metadata: + name: ${{ defaults.app_name }} + labels: + cloud.sealos.io/app-deploy-manager: ${{ defaults.app_name }} +spec: + data: + url: https://${{ defaults.app_host }}.${{ SEALOS_CLOUD_DOMAIN }} + displayType: normal + icon: "https://whodb.clidey.com/images/logo.png" + name: ${{ defaults.app_name }} + type: iframe \ No newline at end of file