From b7cf4c2a26fdf51d6daf31c5120ccce9ae84ea7a Mon Sep 17 00:00:00 2001 From: UniDesk AgentRun Ops Date: Mon, 29 Jun 2026 07:45:34 +0000 Subject: [PATCH] deploy: render AgentRun jd01-v0.2-gitops from UniDesk YAML --- deploy/artifact-catalog.jd01-v02.json | 30 +++++++++++++++++++ .../node/jd01/argocd/application-v02.yaml | 1 + deploy/gitops/node/jd01/argocd/project.yaml | 1 + .../node/jd01/runtime-v02/kustomization.yaml | 1 + deploy/gitops/node/jd01/runtime-v02/mgr.yaml | 13 ++++++++ .../node/jd01/runtime-v02/namespace.yaml | 1 + .../node/jd01/runtime-v02/postgres.yaml | 1 + .../node/jd01/runtime-v02/runner-rbac.yaml | 5 ++++ source.json | 6 ++++ 9 files changed, 59 insertions(+) create mode 100644 deploy/artifact-catalog.jd01-v02.json create mode 100644 deploy/gitops/node/jd01/argocd/application-v02.yaml create mode 100644 deploy/gitops/node/jd01/argocd/project.yaml create mode 100644 deploy/gitops/node/jd01/runtime-v02/kustomization.yaml create mode 100644 deploy/gitops/node/jd01/runtime-v02/mgr.yaml create mode 100644 deploy/gitops/node/jd01/runtime-v02/namespace.yaml create mode 100644 deploy/gitops/node/jd01/runtime-v02/postgres.yaml create mode 100644 deploy/gitops/node/jd01/runtime-v02/runner-rbac.yaml create mode 100644 source.json diff --git a/deploy/artifact-catalog.jd01-v02.json b/deploy/artifact-catalog.jd01-v02.json new file mode 100644 index 0000000..8f84cbb --- /dev/null +++ b/deploy/artifact-catalog.jd01-v02.json @@ -0,0 +1,30 @@ +{ + "lane": "v0.2", + "sourceBranch": "v0.2", + "gitopsBranch": "jd01-v0.2-gitops", + "sourceCommitId": "20cdf59e9916150f23af2c80f6d828b274ad8bb5", + "summary": "build=1 reuse=0 placeholder=0", + "services": [ + { + "serviceId": "agentrun-mgr", + "artifactKind": "env-reuse", + "status": "built", + "image": "127.0.0.1:5000/agentrun/agentrun-mgr-env:source-20cdf59e9916", + "digest": "sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f", + "repositoryDigest": "127.0.0.1:5000/agentrun/agentrun-mgr-env@sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f", + "imageTag": "source-20cdf59e9916", + "envIdentity": "source-20cdf59e9916", + "envImage": "127.0.0.1:5000/agentrun/agentrun-mgr-env:source-20cdf59e9916", + "envDigest": "sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f", + "envRepositoryDigest": "127.0.0.1:5000/agentrun/agentrun-mgr-env@sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f", + "bootCommit": "20cdf59e9916150f23af2c80f6d828b274ad8bb5", + "bootScript": "deploy/runtime/boot/agentrun-boot.sh", + "provenance": { + "sourceCommitId": "20cdf59e9916150f23af2c80f6d828b274ad8bb5", + "source": "unidesk-yaml-only", + "configSource": "config/agentrun.yaml", + "valuesPrinted": false + } + } + ] +} diff --git a/deploy/gitops/node/jd01/argocd/application-v02.yaml b/deploy/gitops/node/jd01/argocd/application-v02.yaml new file mode 100644 index 0000000..6bfdb90 --- /dev/null +++ b/deploy/gitops/node/jd01/argocd/application-v02.yaml @@ -0,0 +1 @@ +{apiVersion: argoproj.io/v1alpha1,kind: Application,metadata: {name: agentrun-jd01-v02,namespace: argocd,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {project: agentrun-jd01-v02,source: {repoURL: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/agentrun.git,targetRevision: jd01-v0.2-gitops,path: deploy/gitops/node/jd01/runtime-v02},destination: {server: https://kubernetes.default.svc,namespace: agentrun-v02},syncPolicy: {automated: {prune: false,selfHeal: true},syncOptions: [CreateNamespace=true,ApplyOutOfSyncOnly=true]}}} diff --git a/deploy/gitops/node/jd01/argocd/project.yaml b/deploy/gitops/node/jd01/argocd/project.yaml new file mode 100644 index 0000000..440d539 --- /dev/null +++ b/deploy/gitops/node/jd01/argocd/project.yaml @@ -0,0 +1 @@ +{apiVersion: argoproj.io/v1alpha1,kind: AppProject,metadata: {name: agentrun-jd01-v02,namespace: argocd,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {description: AgentRun v0.2 GitOps lane,sourceRepos: [http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/agentrun.git,git@github.com:pikasTech/agentrun.git],destinations: [{server: https://kubernetes.default.svc,namespace: agentrun-v02}],clusterResourceWhitelist: [{group: "",kind: Namespace}],namespaceResourceWhitelist: [{group: "*",kind: "*"}]}} diff --git a/deploy/gitops/node/jd01/runtime-v02/kustomization.yaml b/deploy/gitops/node/jd01/runtime-v02/kustomization.yaml new file mode 100644 index 0000000..8a1dad8 --- /dev/null +++ b/deploy/gitops/node/jd01/runtime-v02/kustomization.yaml @@ -0,0 +1 @@ +{apiVersion: kustomize.config.k8s.io/v1beta1,kind: Kustomization,resources: [namespace.yaml,postgres.yaml,mgr.yaml,runner-rbac.yaml]} diff --git a/deploy/gitops/node/jd01/runtime-v02/mgr.yaml b/deploy/gitops/node/jd01/runtime-v02/mgr.yaml new file mode 100644 index 0000000..3e13f66 --- /dev/null +++ b/deploy/gitops/node/jd01/runtime-v02/mgr.yaml @@ -0,0 +1,13 @@ +{apiVersion: v1,kind: ServiceAccount,metadata: {name: agentrun-jd01-v02-mgr,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}}} +--- +{apiVersion: v1,kind: Service,metadata: {name: agentrun-mgr,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {selector: {app.kubernetes.io/name: agentrun-mgr},ports: [{name: http,port: 8080,targetPort: http}]}} +--- +{apiVersion: apps/v1,kind: Deployment,metadata: {name: agentrun-mgr,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: agentrun-mgr}},template: {metadata: {labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01,app.kubernetes.io/name: agentrun-mgr},annotations: {agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/source-commit: 20cdf59e9916150f23af2c80f6d828b274ad8bb5,agentrun.pikastech.local/env-identity: source-20cdf59e9916}},spec: {serviceAccountName: agentrun-jd01-v02-mgr,containers: [{name: mgr,image: 127.0.0.1:5000/agentrun/agentrun-mgr-env@sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f,imagePullPolicy: IfNotPresent,ports: [{name: http,containerPort: 8080}],env: [{name: AGENTRUN_LANE,value: v0.2},{name: DATABASE_URL,valueFrom: {secretKeyRef: {name: agentrun-v02-mgr-db,key: DATABASE_URL}}},{name: AGENTRUN_SOURCE_COMMIT,value: 20cdf59e9916150f23af2c80f6d828b274ad8bb5},{name: AGENTRUN_BOOT_COMMIT,value: 20cdf59e9916150f23af2c80f6d828b274ad8bb5},{name: AGENTRUN_BOOT_MODE,value: mgr},{name: AGENTRUN_BOOT_REPO_URL,value: http://git-mirror-http.devops-infra.svc.cluster.local:8080/pikasTech/agentrun.git},{name: AGENTRUN_ENV_IDENTITY,value: source-20cdf59e9916},{name: AGENTRUN_RUNTIME_NAMESPACE,value: agentrun-v02},{name: AGENTRUN_INTERNAL_MGR_URL,value: http://agentrun-mgr.agentrun-v02.svc.cluster.local:8080},{name: AGENTRUN_RUNNER_IMAGE,value: 127.0.0.1:5000/agentrun/agentrun-mgr-env@sha256:f4b53fdb2685ca24fc2374f5c25e6d7ff39c8810814fc85d07275ea9bdc8e04f},{name: AGENTRUN_RUNNER_SERVICE_ACCOUNT,value: agentrun-jd01-v02-runner},{name: AGENTRUN_RUNNER_JOB_NAME_PREFIX,value: agentrun-jd01-v02-runner},{name: AGENTRUN_RUNNER_IDLE_TIMEOUT_MS,value: "600000"},{name: AGENTRUN_BACKEND_RETRY_MAX_ATTEMPTS,value: "5"},{name: AGENTRUN_BACKEND_RETRY_INITIAL_BACKOFF_MS,value: "1000"},{name: AGENTRUN_BACKEND_RETRY_MAX_BACKOFF_MS,value: "30000"},{name: AGENTRUN_RUNNER_RETENTION_MAX_RUNNERS,value: "20"},{name: AGENTRUN_RUNNER_RETENTION_CLEANUP_ORDER,value: oldest-inactive-last-active-first},{name: AGENTRUN_RUNNER_RETENTION_ACTIVE_HEARTBEAT_MAX_AGE_MS,value: "900000"},{name: AGENTRUN_RUNNER_RETENTION_MATCH_LABELS_JSON,value: "{\"app.kubernetes.io/part-of\":\"agentrun\",\"app.kubernetes.io/name\":\"agentrun-runner\",\"app.kubernetes.io/component\":\"runner\"}"},{name: AGENTRUN_RUNNER_RETENTION_JOB_NAME_PREFIXES,value: "agentrun-jd01-v02-runner,agentrun-v02-runner,agentrun-v01-runner"},{name: AGENTRUN_RUNNER_RETENTION_AGE_BASED_CLEANUP_ENABLED,value: "false"},{name: AGENTRUN_RUNNER_RETENTION_AGE_BASED_MAX_AGE_HOURS,value: "48"},{name: AGENTRUN_CANCEL_DELIVERY_MODE,value: manager-epoch},{name: AGENTRUN_CANCEL_GRACEFUL_ABORT_MS,value: "15000"},{name: AGENTRUN_CANCEL_KILL_ESCALATION_MS,value: "30000"},{name: AGENTRUN_CANCEL_STALE_HEARTBEAT_FENCING_MS,value: "900000"},{name: AGENTRUN_CANCEL_LATE_WRITE_FENCING_ENABLED,value: "true"},{name: AGENTRUN_CANCEL_EVENT_STAGES,value: "accepted,persisted,delivered,aborting,terminalized,fenced,late-write-rejected"},{name: AGENTRUN_RUNNER_EGRESS_PROXY_URL,value: http://127.0.0.1:10808},{name: AGENTRUN_RUNNER_NO_PROXY_EXTRA,value: "localhost,127.0.0.1,::1,.svc,.svc.cluster.local,.cluster.local,hyueapi.com,.hyueapi.com"},{name: AGENTRUN_API_KEY,valueFrom: {secretKeyRef: {name: agentrun-v02-api-key,key: HWLAB_API_KEY}}},{name: AGENTRUN_MANAGER_RECONCILER_BATCH_SIZE,value: "20"},{name: AGENTRUN_MANAGER_RECONCILER_ENABLED,value: "true"},{name: AGENTRUN_MANAGER_RECONCILER_INTERVAL_MS,value: "30000"},{name: AGENTRUN_POSTGRES_POOL_MAX,value: "4"},{name: HWLAB_RUNTIME_LANE,value: v0.3},{name: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,value: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces},{name: OTEL_SERVICE_NAME,value: agentrun-manager},{name: UNIDESK_NODE_ID,value: JD01},{name: UNIDESK_MAIN_SERVER_IP,value: 74.48.78.17}],readinessProbe: {httpGet: {path: /health/readiness,port: http}},livenessProbe: {httpGet: {path: /health/live,port: http}},resources: {requests: {cpu: 100m,memory: 256Mi},limits: {cpu: 800m,memory: 1Gi}}}]}}}} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: Role,metadata: {name: agentrun-jd01-v02-mgr-runner-job-controller,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},rules: [{apiGroups: [batch],resources: [jobs],verbs: [create,delete,get,list,watch]},{apiGroups: [""],resources: [pods],verbs: [delete,get,list,watch]},{apiGroups: [""],resources: [persistentvolumeclaims],verbs: [create,get,list,watch,delete]}]} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: RoleBinding,metadata: {name: agentrun-jd01-v02-mgr-runner-job-controller,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},subjects: [{kind: ServiceAccount,name: agentrun-jd01-v02-mgr}],roleRef: {apiGroup: rbac.authorization.k8s.io,kind: Role,name: agentrun-jd01-v02-mgr-runner-job-controller}} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: Role,metadata: {name: agentrun-jd01-v02-mgr-provider-secret-manager,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},rules: [{apiGroups: [""],resources: [secrets],verbs: [create,delete,get,list,patch,update]}]} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: RoleBinding,metadata: {name: agentrun-jd01-v02-mgr-provider-secret-manager,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},subjects: [{kind: ServiceAccount,name: agentrun-jd01-v02-mgr}],roleRef: {apiGroup: rbac.authorization.k8s.io,kind: Role,name: agentrun-jd01-v02-mgr-provider-secret-manager}} diff --git a/deploy/gitops/node/jd01/runtime-v02/namespace.yaml b/deploy/gitops/node/jd01/runtime-v02/namespace.yaml new file mode 100644 index 0000000..98c3d8c --- /dev/null +++ b/deploy/gitops/node/jd01/runtime-v02/namespace.yaml @@ -0,0 +1 @@ +{apiVersion: v1,kind: Namespace,metadata: {name: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}}} diff --git a/deploy/gitops/node/jd01/runtime-v02/postgres.yaml b/deploy/gitops/node/jd01/runtime-v02/postgres.yaml new file mode 100644 index 0000000..c006ebc --- /dev/null +++ b/deploy/gitops/node/jd01/runtime-v02/postgres.yaml @@ -0,0 +1 @@ +{apiVersion: v1,kind: List,items: [{apiVersion: v1,kind: Service,metadata: {name: agentrun-v02-postgres,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {selector: {app.kubernetes.io/name: agentrun-v02-postgres},ports: [{name: postgres,port: 5432,targetPort: postgres}]}},{apiVersion: apps/v1,kind: StatefulSet,metadata: {name: agentrun-v02-postgres,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},spec: {serviceName: agentrun-v02-postgres,replicas: 1,selector: {matchLabels: {app.kubernetes.io/name: agentrun-v02-postgres}},template: {metadata: {labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01,app.kubernetes.io/name: agentrun-v02-postgres}},spec: {containers: [{name: postgres,image: postgres:16-alpine,ports: [{name: postgres,containerPort: 5432}]}]}},volumeClaimTemplates: [{metadata: {name: data},spec: {accessModes: [ReadWriteOnce],resources: {requests: {storage: 5Gi}}}}]}}]} diff --git a/deploy/gitops/node/jd01/runtime-v02/runner-rbac.yaml b/deploy/gitops/node/jd01/runtime-v02/runner-rbac.yaml new file mode 100644 index 0000000..76cff6d --- /dev/null +++ b/deploy/gitops/node/jd01/runtime-v02/runner-rbac.yaml @@ -0,0 +1,5 @@ +{apiVersion: v1,kind: ServiceAccount,metadata: {name: agentrun-jd01-v02-runner,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}}} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: Role,metadata: {name: agentrun-jd01-v02-runner-secret-reader,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},rules: [{apiGroups: [""],resources: [secrets],verbs: [get]}]} +--- +{apiVersion: rbac.authorization.k8s.io/v1,kind: RoleBinding,metadata: {name: agentrun-jd01-v02-runner-secret-reader,namespace: agentrun-v02,labels: {app.kubernetes.io/part-of: agentrun,agentrun.pikastech.local/lane: v0.2,agentrun.pikastech.local/node: JD01}},subjects: [{kind: ServiceAccount,name: agentrun-jd01-v02-runner}],roleRef: {apiGroup: rbac.authorization.k8s.io,kind: Role,name: agentrun-jd01-v02-runner-secret-reader}} diff --git a/source.json b/source.json new file mode 100644 index 0000000..09b4e4f --- /dev/null +++ b/source.json @@ -0,0 +1,6 @@ +{ + "lane": "v0.2", + "sourceCommit": "20cdf59e9916150f23af2c80f6d828b274ad8bb5", + "generatedBy": "unidesk config/agentrun.yaml", + "configSource": "config/agentrun.yaml" +}