mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
Two corrections on top of the naming pass, both found by checking the live cluster rather than the source. The rename had silently changed the user-facing annotation key from argocd.argoproj.io/sync-wave to cd.argoproj.io/sync-wave — 63 live Applications carry the old key, so deploying that would have ignored every sync-wave and broken fleet deploy ordering. The key is now cd.hanzo.ai/*, and universe 575650286 moves the ApplicationSet template that stamps it, so the controller regenerates all 63 consistently. The API group in code said argoproj.io/v1alpha1 in 157 places while the cluster has served apps.hanzo.ai/v1alpha1 since 2026-07-23 (the CRDs are applications.apps.hanzo.ai). Code now matches what is actually served. The legacy applications.argoproj.io/app-name label had ZERO live users, so it went with the rest. foo.argoproj.io test fixtures became foo.example.com — arbitrary test domains should not carry a vendor name. go build ./... exit 0. Co-authored-by: Hanzo Dev <[email protected]>
2.5 KiB
Executable File
2.5 KiB
Executable File
Mattermost
Parameters
apiURL- the server url, e.g. https://mattermost.example.comtoken- the bot tokeninsecureSkipVerify- optional bool, true or falsemaxIdleConns- optional, maximum number of idle (keep-alive) connections across all hosts.maxIdleConnsPerHost- optional, maximum number of idle (keep-alive) connections per host.maxConnsPerHost- optional, maximum total connections per host.idleConnTimeout- optional, maximum amount of time an idle (keep-alive) connection will remain open before closing, e.g. '90s'.
Configuration
- Create a bot account and copy token after creating it

- Invite team

- Store token in
cd-notifications-secretSecret and configure Mattermost integration incd-notifications-cmConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: cd-notifications-cm
data:
service.mattermost: |
apiURL: <api-url>
token: $mattermost-token
apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
mattermost-token: token
apiVersion: apps.hanzo.ai/v1alpha1
kind: Application
metadata:
annotations:
notifications.apps.hanzo.ai/subscribe.<trigger-name>.mattermost: <channel-id>
Templates
You can reuse the template of slack.
Mattermost is compatible with attachments of Slack. See Mattermost Integration Guide.
template.app-deployed: |
message: |
Application {{.app.metadata.name}} is now running new version of deployments manifests.
mattermost:
attachments: |
[{
"title": "{{.app.metadata.name}}",
"title_link": "{{.context.cdUrl}}/applications/{{.app.metadata.name}}",
"color": "#18be52",
"fields": [{
"title": "Sync Status",
"value": "{{.app.status.sync.status}}",
"short": true
}, {
"title": "Repository",
"value": "{{.app.spec.source.repoURL}}",
"short": true
}]
}]

