diff --git a/ironclaw/.gitignore b/ironclaw/.gitignore new file mode 100644 index 0000000..f6628a4 --- /dev/null +++ b/ironclaw/.gitignore @@ -0,0 +1 @@ +secret/ \ No newline at end of file diff --git a/ironclaw/deploy.yaml b/ironclaw/deploy.yaml new file mode 100644 index 0000000..5527c0a --- /dev/null +++ b/ironclaw/deploy.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ironclaw +spec: + strategy: + type: Recreate + selector: + matchLabels: + app: ironclaw + template: + metadata: + labels: + app: ironclaw + spec: + volumes: + - name: data + hostPath: + path: /data/ironclaw + type: "" + - name: projects + hostPath: + path: /data/code-server/coder + type: DirectoryOrCreate + - name: tmp + emptyDir: {} + containers: + - name: ironclaw + image: image + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "1Gi" + cpu: "1" + ports: + - containerPort: 3000 + volumeMounts: + - name: data + mountPath: /home/ironclaw + - name: projects + mountPath: /home/ironclaw/.ironclaw/workspace/Projects + - name: tmp + mountPath: /tmp + envFrom: + - configMapRef: + name: ironclaw + - secretRef: + name: ironclaw diff --git a/ironclaw/kustomization.yaml b/ironclaw/kustomization.yaml new file mode 100644 index 0000000..84bfcbe --- /dev/null +++ b/ironclaw/kustomization.yaml @@ -0,0 +1,23 @@ +# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json +kind: Kustomization +resources: +- deploy.yaml +- service.yaml +images: +- name: image + newName: cr.wetofu.me/nearaidev/ironclaw + newTag: 0.28.1 +configMapGenerator: +- name: ironclaw + files: + - config/DATABASE_BACKEND + - config/ONBOARD_COMPLETED + - config/AGENT_NAME + - config/HTTP_HOST +secretGenerator: +- name: ironclaw + files: + - secret/DATABASE_URL + - secret/SECRETS_MASTER_KEY + - secret/LLM_API_KEY + - secret/TELEGRAM_BOT_TOKEN diff --git a/ironclaw/service.yaml b/ironclaw/service.yaml new file mode 100644 index 0000000..12bd02e --- /dev/null +++ b/ironclaw/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: ironclaw +spec: + selector: + app: ironclaw + ports: + - port: 3000 + targetPort: 3000 + ipFamilies: + - IPv4 + - IPv6 + ipFamilyPolicy: PreferDualStack