Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d0a3c2d6e | |||
| 16f3791cb6 | |||
| ce0600b8c2 | |||
| c550ece6b4 | |||
| 886e81b256 | |||
| 0521e56c47 | |||
| 1d655e965d | |||
| 41f05c11a4 | |||
| 1ea9e1c685 | |||
| 97e0a11575 | |||
| 72a0745dd1 |
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 1,
|
||||
"kind": "PlatformInfraGiteaGitOpsState",
|
||||
"targetId": "NC01",
|
||||
"sourceCommit": "843c2383e931dc3ac1fcbe4ec965271866397a3e",
|
||||
"desiredManifestSha256": "cb6998e2c6d69e4664f5a49547ebbebcb793939532ab67918a58ce79356b5fd6",
|
||||
"bootstrapApplicationSha256": "ff7155b4fca474025c29099a305fca2fd53c82d8092e3e3954177f99e1875fc7"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 1,
|
||||
"kind": "UniDeskHostReleaseState",
|
||||
"serviceRef": "services.decisionCenter",
|
||||
"sourceCommit": "843c2383e931dc3ac1fcbe4ec965271866397a3e",
|
||||
"digest": "sha256:aa211698c2071548e84bd1a4cfb2c0f6d27c962b34e612f8a1f21c7aba49a7d0",
|
||||
"digestRef": "127.0.0.1:5000/unidesk/decision-center@sha256:aa211698c2071548e84bd1a4cfb2c0f6d27c962b34e612f8a1f21c7aba49a7d0"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 1,
|
||||
"kind": "UniDeskHostReleaseState",
|
||||
"serviceRef": "services.todoNote",
|
||||
"sourceCommit": "13ec1114a75592f9218ec95bd951a042e2e22b28",
|
||||
"digest": "sha256:dfe9f9a8089611ecea1743e30f37f6e9a8f436d323c499847173fb3231e8967d",
|
||||
"digestRef": "127.0.0.1:5000/unidesk/todo-note@sha256:dfe9f9a8089611ecea1743e30f37f6e9a8f436d323c499847173fb3231e8967d"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,237 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: temporal
|
||||
labels:
|
||||
app.kubernetes.io/part-of: temporal
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: temporal-frontend
|
||||
namespace: temporal
|
||||
spec:
|
||||
selector:
|
||||
app.kubernetes.io/name: temporal
|
||||
ports:
|
||||
- name: grpc
|
||||
port: 7233
|
||||
targetPort: grpc
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: temporal
|
||||
namespace: temporal
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal
|
||||
app.kubernetes.io/part-of: temporal
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: temporal
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal
|
||||
app.kubernetes.io/part-of: temporal
|
||||
unidesk.ai/source-commit: 6016400b5d4ed843f0be9cc346e9c291a93a5c07
|
||||
spec:
|
||||
enableServiceLinks: false
|
||||
shareProcessNamespace: true
|
||||
containers:
|
||||
- name: temporal
|
||||
image: temporalio/auto-setup:1.28.1
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- name: grpc
|
||||
containerPort: 7233
|
||||
env:
|
||||
- name: DB
|
||||
value: postgres12
|
||||
- name: DB_PORT
|
||||
value: "5432"
|
||||
- name: POSTGRES_SEEDS
|
||||
value: 10.42.0.1
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: temporal-database
|
||||
key: user
|
||||
- name: POSTGRES_PWD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: temporal-database
|
||||
key: password
|
||||
- name: DBNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: temporal-database
|
||||
key: database
|
||||
- name: VISIBILITY_DBNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: temporal-database
|
||||
key: visibilityDatabase
|
||||
- name: POSTGRES_TLS_ENABLED
|
||||
value: "true"
|
||||
- name: POSTGRES_TLS_DISABLE_HOST_VERIFICATION
|
||||
value: "true"
|
||||
- name: SKIP_DB_CREATE
|
||||
value: "true"
|
||||
- name: DYNAMIC_CONFIG_FILE_PATH
|
||||
value: /etc/temporal/config/dynamicconfig/docker.yaml
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: grpc
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 5
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: grpc
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: temporal-ui
|
||||
namespace: temporal
|
||||
spec:
|
||||
selector:
|
||||
app.kubernetes.io/name: temporal-ui
|
||||
ports:
|
||||
- name: http
|
||||
port: 8080
|
||||
targetPort: auth
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: temporal-ui
|
||||
namespace: temporal
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal-ui
|
||||
app.kubernetes.io/part-of: temporal
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: temporal-ui
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal-ui
|
||||
app.kubernetes.io/part-of: temporal
|
||||
unidesk.ai/source-commit: 6016400b5d4ed843f0be9cc346e9c291a93a5c07
|
||||
spec:
|
||||
enableServiceLinks: false
|
||||
containers:
|
||||
- name: temporal-ui
|
||||
image: temporalio/ui:2.52.1
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
env:
|
||||
- name: TEMPORAL_ADDRESS
|
||||
value: temporal-frontend:7233
|
||||
- name: TEMPORAL_CORS_ORIGINS
|
||||
value: https://temporal.hwpod.com
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
- name: auth-proxy
|
||||
image: caddy:2.10.2-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
command:
|
||||
- sh
|
||||
- -ec
|
||||
- |
|
||||
password="$(cat /run/secrets/admin-password)"
|
||||
hash="$(caddy hash-password --plaintext "$password")"
|
||||
cat >/tmp/Caddyfile <<EOF
|
||||
:8081 {
|
||||
handle /healthz {
|
||||
respond 200
|
||||
}
|
||||
handle {
|
||||
basic_auth {
|
||||
admin $hash
|
||||
}
|
||||
reverse_proxy 127.0.0.1:8080
|
||||
}
|
||||
}
|
||||
EOF
|
||||
exec caddy run --config /tmp/Caddyfile --adapter caddyfile
|
||||
ports:
|
||||
- name: auth
|
||||
containerPort: 8081
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: auth
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 5
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: auth
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 10
|
||||
volumeMounts:
|
||||
- name: web-admin-password
|
||||
mountPath: /run/secrets/admin-password
|
||||
subPath: password
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: web-admin-password
|
||||
secret:
|
||||
secretName: temporal-web-admin
|
||||
---
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: temporal-logical-namespaces
|
||||
namespace: temporal
|
||||
annotations:
|
||||
argocd.argoproj.io/hook: PostSync
|
||||
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation,HookSucceeded
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal-logical-namespaces
|
||||
app.kubernetes.io/part-of: temporal
|
||||
spec:
|
||||
backoffLimit: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: temporal-logical-namespaces
|
||||
app.kubernetes.io/part-of: temporal
|
||||
unidesk.ai/source-commit: 6016400b5d4ed843f0be9cc346e9c291a93a5c07
|
||||
spec:
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
- name: configure
|
||||
image: temporalio/auto-setup:1.28.1
|
||||
imagePullPolicy: IfNotPresent
|
||||
command:
|
||||
- sh
|
||||
- -ec
|
||||
- |
|
||||
attempts=60
|
||||
until temporal operator cluster health --address temporal-frontend:7233 >/dev/null 2>&1; do
|
||||
attempts=$((attempts - 1))
|
||||
test "$attempts" -gt 0
|
||||
sleep 5
|
||||
done
|
||||
if ! temporal operator namespace describe --address temporal-frontend:7233 --namespace unidesk >/dev/null 2>&1; then
|
||||
temporal operator namespace create --address temporal-frontend:7233 --namespace unidesk --retention 7d
|
||||
fi
|
||||
@@ -0,0 +1,3 @@
|
||||
{apiVersion: v1,kind: Service,metadata: {name: decision-center,namespace: unidesk,labels: {app.kubernetes.io/name: decision-center,app.kubernetes.io/part-of: unidesk,app.kubernetes.io/managed-by: argocd,unidesk.ai/deployment: unidesk-host,unidesk.ai/target: NC01}},spec: {type: ClusterIP,selector: {app.kubernetes.io/name: decision-center},ports: [{name: http,port: 4277,targetPort: http}]}}
|
||||
---
|
||||
{apiVersion: apps/v1,kind: Deployment,metadata: {name: decision-center,namespace: unidesk,labels: &labels {app.kubernetes.io/name: decision-center,app.kubernetes.io/part-of: unidesk,app.kubernetes.io/managed-by: argocd,unidesk.ai/deployment: unidesk-host,unidesk.ai/target: NC01}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: decision-center}},template: {metadata: {labels: *labels,annotations: {unidesk.ai/source-commit: 843c2383e931dc3ac1fcbe4ec965271866397a3e,unidesk.ai/config-fingerprint: sha256:fc8916a7d214f0ef}},spec: {initContainers: [{name: wait-database,image: postgres:16-alpine,imagePullPolicy: IfNotPresent,env: [{name: DATABASE_URL,valueFrom: {secretKeyRef: {name: decision-center-runtime-secrets,key: DATABASE_URL}}}],command: [sh,"-ec","db_url=\"$(printf '%s' \"$DATABASE_URL\" | sed 's/[?&]uselibpqcompat=true//g')\"; until psql \"$db_url\" -Atqc 'SELECT 1' >/dev/null 2>&1; do sleep 2; done"]}],containers: [{name: decision-center,image: 127.0.0.1:5000/unidesk/decision-center@sha256:aa211698c2071548e84bd1a4cfb2c0f6d27c962b34e612f8a1f21c7aba49a7d0,imagePullPolicy: IfNotPresent,ports: [{name: http,containerPort: 4277}],env: [{name: HOST,value: 0.0.0.0},{name: PORT,value: "4277"},{name: DATABASE_URL,valueFrom: {secretKeyRef: {name: decision-center-runtime-secrets,key: DATABASE_URL}}},{name: DATABASE_POOL_MAX,value: "4"},{name: UNIDESK_DEPLOY_SERVICE_ID,value: decision-center},{name: UNIDESK_DEPLOY_REPO,value: https://github.com/pikasTech/unidesk},{name: UNIDESK_DEPLOY_COMMIT,value: 843c2383e931dc3ac1fcbe4ec965271866397a3e},{name: UNIDESK_DEPLOY_REQUESTED_COMMIT,value: 843c2383e931dc3ac1fcbe4ec965271866397a3e},{name: LOG_FILE,value: /var/log/unidesk/decision-center.jsonl},{name: DECISION_CENTER_STORAGE_PRIMARY,value: github-repo},{name: DECISION_CENTER_STORAGE_HEALTH_REFRESH_MS,value: "300000"},{name: DECISION_CENTER_GIT_REPO,value: pikasTech/decision-center-data},{name: DECISION_CENTER_GIT_REPO_SSH_URL,value: git@github.com:pikasTech/decision-center-data.git},{name: DECISION_CENTER_GIT_BRANCH,value: main},{name: DECISION_CENTER_GIT_BASE_PATH,value: data},{name: DECISION_CENTER_GIT_WORKTREE,value: /var/lib/unidesk/decision-center/repo},{name: DECISION_CENTER_GIT_AUTHOR_NAME,value: UniDesk Decision Center},{name: DECISION_CENTER_GIT_AUTHOR_EMAIL,value: decision-center@unidesk.local},{name: DECISION_CENTER_GIT_COMMIT_PREFIX,value: "decision-center:"},{name: GIT_SSH_COMMAND,value: ssh -i /var/lib/unidesk/decision-center/ssh/ssh-privatekey -o UserKnownHostsFile=/var/lib/unidesk/decision-center/ssh/known_hosts -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes}],volumeMounts: [{name: logs,mountPath: /var/log/unidesk},{name: github-ssh,mountPath: /var/lib/unidesk/decision-center/ssh,readOnly: true}],readinessProbe: {httpGet: {path: /health,port: http},periodSeconds: 5,timeoutSeconds: 3,failureThreshold: 18},livenessProbe: {httpGet: {path: /live,port: http},periodSeconds: 10,timeoutSeconds: 3,failureThreshold: 6},startupProbe: {httpGet: {path: /live,port: http},periodSeconds: 5,timeoutSeconds: 3,failureThreshold: 30},resources: {requests: {cpu: 50m,memory: 96Mi},limits: {memory: 512Mi}}}],volumes: [{name: logs,emptyDir: {}},{name: github-ssh,secret: {secretName: decision-center-github-ssh,defaultMode: 256}}]}}}}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{apiVersion: argoproj.io/v1alpha1,kind: Application,metadata: {name: platform-infra-gitea-nc01,namespace: argocd,labels: {app.kubernetes.io/managed-by: unidesk,app.kubernetes.io/part-of: platform-infra}},spec: {project: default,source: {repoURL: http://gitea-http.devops-infra.svc.cluster.local:3000/mirrors/pikasTech-unidesk.git,targetRevision: unidesk-host-gitops,path: deploy/gitops/platform-infra/gitea-nc01},destination: {server: https://kubernetes.default.svc,namespace: devops-infra},syncPolicy: {automated: {prune: true,selfHeal: true},syncOptions: [CreateNamespace=true]}}}
|
||||
@@ -0,0 +1,3 @@
|
||||
{apiVersion: v1,kind: Service,metadata: {name: todo-note,namespace: unidesk,labels: {app.kubernetes.io/name: todo-note,app.kubernetes.io/part-of: unidesk,app.kubernetes.io/managed-by: argocd,unidesk.ai/deployment: unidesk-host,unidesk.ai/target: NC01}},spec: {type: ClusterIP,selector: {app.kubernetes.io/name: todo-note},ports: [{name: http,port: 4288,targetPort: http}]}}
|
||||
---
|
||||
{apiVersion: apps/v1,kind: Deployment,metadata: {name: todo-note,namespace: unidesk,labels: &labels {app.kubernetes.io/name: todo-note,app.kubernetes.io/part-of: unidesk,app.kubernetes.io/managed-by: argocd,unidesk.ai/deployment: unidesk-host,unidesk.ai/target: NC01}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: todo-note}},template: {metadata: {labels: *labels,annotations: {unidesk.ai/source-commit: 13ec1114a75592f9218ec95bd951a042e2e22b28,unidesk.ai/config-fingerprint: sha256:276b660c8a8934ec}},spec: {initContainers: [{name: wait-database,image: postgres:16-alpine,imagePullPolicy: IfNotPresent,env: [{name: DATABASE_URL,valueFrom: {secretKeyRef: {name: decision-center-runtime-secrets,key: DATABASE_URL}}}],command: [sh,"-ec","db_url=\"$(printf '%s' \"$DATABASE_URL\" | sed 's/[?&]uselibpqcompat=true//g')\"; until psql \"$db_url\" -Atqc 'SELECT 1' >/dev/null 2>&1; do sleep 2; done"]}],containers: [{name: todo-note,image: 127.0.0.1:5000/unidesk/todo-note@sha256:dfe9f9a8089611ecea1743e30f37f6e9a8f436d323c499847173fb3231e8967d,imagePullPolicy: IfNotPresent,ports: [{name: http,containerPort: 4288}],env: [{name: HOST,value: 0.0.0.0},{name: PORT,value: "4288"},{name: DATABASE_URL,valueFrom: {secretKeyRef: {name: decision-center-runtime-secrets,key: DATABASE_URL}}},{name: DATABASE_POOL_MAX,value: "4"},{name: UNIDESK_DEPLOY_SERVICE_ID,value: todo-note},{name: UNIDESK_DEPLOY_REPO,value: https://github.com/pikasTech/unidesk},{name: UNIDESK_DEPLOY_COMMIT,value: 13ec1114a75592f9218ec95bd951a042e2e22b28},{name: UNIDESK_DEPLOY_REQUESTED_COMMIT,value: 13ec1114a75592f9218ec95bd951a042e2e22b28},{name: LOG_FILE,value: /var/log/unidesk/todo-note.jsonl},{name: TODO_NOTE_STORAGE_PRIMARY,value: github-repo},{name: TODO_NOTE_REMINDER_CLAUDEQQ_ENABLED,value: "true"},{name: TODO_NOTE_REMINDER_CLAUDEQQ_BASE_URL,value: http://backend-core:8080/api/microservices/claudeqq/proxy},{name: TODO_NOTE_REMINDER_CLAUDEQQ_TARGET_TYPE,value: private},{name: TODO_NOTE_REMINDER_CLAUDEQQ_USER_ID,value: "645275593"},{name: TODO_NOTE_REMINDER_CLAUDEQQ_GROUP_ID,value: ""},{name: TODO_NOTE_REMINDER_LEAD_MINUTES,value: "10"},{name: TODO_NOTE_REMINDER_SCAN_INTERVAL_MS,value: "30000"},{name: TODO_NOTE_REMINDER_CLAUDEQQ_TIMEOUT_MS,value: "15000"},{name: TODO_NOTE_REMINDER_CLAUDEQQ_SEND_ATTEMPTS,value: "3"},{name: TODO_NOTE_GIT_REPO,value: pikasTech/decision-center-data},{name: TODO_NOTE_GIT_REPO_SSH_URL,value: git@github.com:pikasTech/decision-center-data.git},{name: TODO_NOTE_GIT_BRANCH,value: main},{name: TODO_NOTE_GIT_BASE_PATH,value: todo-note},{name: TODO_NOTE_GIT_WORKTREE,value: /var/lib/unidesk/todo-note/repo},{name: TODO_NOTE_GIT_AUTHOR_NAME,value: UniDesk Todo Note},{name: TODO_NOTE_GIT_AUTHOR_EMAIL,value: todo-note@unidesk.local},{name: TODO_NOTE_GIT_COMMIT_PREFIX,value: "todo-note:"},{name: GIT_SSH_COMMAND,value: ssh -i /var/lib/unidesk/todo-note/ssh/ssh-privatekey -o UserKnownHostsFile=/var/lib/unidesk/todo-note/ssh/known_hosts -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes}],volumeMounts: [{name: logs,mountPath: /var/log/unidesk},{name: github-ssh,mountPath: /var/lib/unidesk/todo-note/ssh,readOnly: true}],readinessProbe: {httpGet: {path: /health,port: http},periodSeconds: 5,timeoutSeconds: 3,failureThreshold: 18},livenessProbe: {httpGet: {path: /live,port: http},periodSeconds: 10,timeoutSeconds: 3,failureThreshold: 6},startupProbe: {httpGet: {path: /live,port: http},periodSeconds: 5,timeoutSeconds: 3,failureThreshold: 30},resources: {requests: {cpu: 50m,memory: 96Mi},limits: {memory: 768Mi}}}],volumes: [{name: logs,emptyDir: {}},{name: github-ssh,secret: {secretName: decision-center-github-ssh,defaultMode: 256}}]}}}}
|
||||
Reference in New Issue
Block a user