From 5ab2bbb540cb68d6c17e9d9832920d914fee9ced Mon Sep 17 00:00:00 2001 From: leo <962055298@qq.com> Date: Tue, 10 Dec 2024 14:19:52 +0800 Subject: [PATCH] feat: add FileCodeBox template --- template/filecodebox.yaml | 132 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 template/filecodebox.yaml 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