Skip to content

Commit 3373658

Browse files
committed
Wire Azure DevOps webhook secret
1 parent 771c2a8 commit 3373658

8 files changed

Lines changed: 22 additions & 4 deletions

File tree

charts/openhands-secrets/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: openhands-secrets
33
description: A Helm chart for OpenHands secrets
44
type: application
5-
version: 0.1.21
5+
version: 0.1.22
66
appVersion: "1.0"

charts/openhands-secrets/templates/azure-devops-app.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if or .Values.config.azure_devops_client_id .Values.config.azure_devops_client_secret }}
1+
{{- if or .Values.config.azure_devops_client_id .Values.config.azure_devops_client_secret .Values.config.azure_devops_webhook_secret }}
22
apiVersion: v1
33
kind: Secret
44
metadata:
@@ -12,4 +12,7 @@ data:
1212
{{- if .Values.config.azure_devops_client_secret }}
1313
client-secret: {{ .Values.config.azure_devops_client_secret | b64enc | quote }}
1414
{{- end }}
15+
{{- if .Values.config.azure_devops_webhook_secret }}
16+
webhook-secret: {{ .Values.config.azure_devops_webhook_secret | b64enc | quote }}
17+
{{- end }}
1518
{{- end }}

charts/openhands-secrets/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ config:
6666
azure_devops_organization: ""
6767
azure_devops_client_id: ""
6868
azure_devops_client_secret: ""
69+
azure_devops_webhook_secret: ""
6970

7071
# Jira Data Center credentials (OAuth, optional)
7172
jira_data_center_base_url: ""

charts/openhands/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
description: OpenHands is an AI-driven autonomous software engineer
33
name: openhands
44
appVersion: cloud-1.34.0
5-
version: 0.7.33
5+
version: 0.7.34
66
maintainers:
77
- name: rbren
88
- name: xingyao

charts/openhands/templates/_env.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,12 @@
234234
name: {{ .Values.azureDevOps.auth.existingSecret }}
235235
key: client-secret
236236
optional: false
237+
- name: AZURE_DEVOPS_WEBHOOK_SECRET
238+
valueFrom:
239+
secretKeyRef:
240+
name: {{ .Values.azureDevOps.auth.existingSecret }}
241+
key: webhook-secret
242+
optional: false
237243
{{- end }}
238244
{{- if and (index .Values "litellm-helm") (index .Values "litellm-helm" "enabled") }}
239245
- name: LITE_LLM_API_URL

replicated/config.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,13 @@ spec:
483483
type: password
484484
when: 'repl{{ ConfigOptionEquals "azure_devops_auth_enabled" "1" }}'
485485
required: true
486+
- name: azure_devops_webhook_secret
487+
title: Azure DevOps Webhook Secret
488+
help_text: Shared secret used to authenticate Azure DevOps Service Hook requests to OpenHands.
489+
type: password
490+
hidden: true
491+
value: '{{repl RandomString 32}}'
492+
when: 'repl{{ ConfigOptionEquals "azure_devops_auth_enabled" "1" }}'
486493

487494
- name: jira_data_center_integration
488495
title: Jira Data Center Integration

replicated/openhands.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ spec:
325325
# Grouped in order: LLM provider keys; app/infra secrets (admin, postgres,
326326
# redis, jwt, keycloak, litellm, sandbox, plugin-directory, automation); then
327327
# auth/integration secrets (bitbucket DC, jira DC, github, gitlab, slack, laminar).
328-
secretsChecksum: 'repl{{ sha256sum (printf "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" (ConfigOption "anthropic_api_key") (ConfigOption "openai_api_key") (ConfigOption "google_gemini_api_key") (ConfigOption "deepseek_api_key") (ConfigOption "mistral_api_key") (ConfigOption "azure_api_key") (ConfigOption "azure_client_secret") (ConfigOption "groq_api_key") (ConfigOption "openrouter_api_key") (ConfigOption "aws_secret_access_key") (ConfigOption "custom_api_key") (ConfigOption "admin_password") (ConfigOption "postgres_password") (ConfigOption "redis_password") (ConfigOption "jwt_secret") (ConfigOption "keycloak_admin_password") (ConfigOption "keycloak_client_secret") (ConfigOption "litellm_api_key") (ConfigOption "default_api_key") (ConfigOption "sandbox_api_key") (ConfigOption "keycloak_smtp_password") (ConfigOption "plugin_directory_identity_shared_secret") (ConfigOption "plugin_directory_session_secret") (ConfigOption "automation_service_key") (ConfigOption "automation_webhook_secret") (ConfigOption "bitbucket_data_center_client_secret") (ConfigOption "bitbucket_data_center_bot_token") (ConfigOption "azure_devops_client_secret") (ConfigOption "jira_data_center_client_secret") (ConfigOption "jira_data_center_service_account_email") (ConfigOption "jira_data_center_service_account_pat") (ConfigOption "github_oauth_client_secret") (ConfigOption "github_app_webhook_secret") (ConfigOption "gitlab_oauth_client_secret") (ConfigOption "slack_client_secret") (ConfigOption "slack_signing_secret") (ConfigOption "external_postgres_password") (ConfigOption "custom_sandbox_image_registry_password") (ConfigOption "laminar_project_api_key")) }}'
328+
secretsChecksum: 'repl{{ sha256sum (printf "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" (ConfigOption "anthropic_api_key") (ConfigOption "openai_api_key") (ConfigOption "google_gemini_api_key") (ConfigOption "deepseek_api_key") (ConfigOption "mistral_api_key") (ConfigOption "azure_api_key") (ConfigOption "azure_client_secret") (ConfigOption "groq_api_key") (ConfigOption "openrouter_api_key") (ConfigOption "aws_secret_access_key") (ConfigOption "custom_api_key") (ConfigOption "admin_password") (ConfigOption "postgres_password") (ConfigOption "redis_password") (ConfigOption "jwt_secret") (ConfigOption "keycloak_admin_password") (ConfigOption "keycloak_client_secret") (ConfigOption "litellm_api_key") (ConfigOption "default_api_key") (ConfigOption "sandbox_api_key") (ConfigOption "keycloak_smtp_password") (ConfigOption "plugin_directory_identity_shared_secret") (ConfigOption "plugin_directory_session_secret") (ConfigOption "automation_service_key") (ConfigOption "automation_webhook_secret") (ConfigOption "bitbucket_data_center_client_secret") (ConfigOption "bitbucket_data_center_bot_token") (ConfigOption "azure_devops_client_secret") (ConfigOption "azure_devops_webhook_secret") (ConfigOption "jira_data_center_client_secret") (ConfigOption "jira_data_center_service_account_email") (ConfigOption "jira_data_center_service_account_pat") (ConfigOption "github_oauth_client_secret") (ConfigOption "github_app_webhook_secret") (ConfigOption "gitlab_oauth_client_secret") (ConfigOption "slack_client_secret") (ConfigOption "slack_signing_secret") (ConfigOption "external_postgres_password") (ConfigOption "custom_sandbox_image_registry_password") (ConfigOption "laminar_project_api_key")) }}'
329329
bitbucketDataCenter:
330330
enabled: repl{{ ConfigOptionEquals "bitbucket_data_center_auth_enabled" "1" }}
331331
host: 'repl{{ ConfigOption "bitbucket_data_center_domain" }}'

replicated/secrets.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ spec:
7373
azure_devops_organization: '{{repl ConfigOption "azure_devops_organization"}}'
7474
azure_devops_client_id: '{{repl ConfigOption "azure_devops_client_id"}}'
7575
azure_devops_client_secret: '{{repl ConfigOption "azure_devops_client_secret"}}'
76+
azure_devops_webhook_secret: '{{repl ConfigOption "azure_devops_webhook_secret"}}'
7677

7778
# Jira Data Center secrets (OAuth, optional)
7879
jira_data_center_base_url: '{{repl ConfigOption "jira_data_center_base_url"}}'

0 commit comments

Comments
 (0)