Manifest Reference
Schema: apiVersion: agoraform.io/v1alpha1, documented from tag v0.3.0.
apiVersion: agoraform.io/v1alpha1providers: matomo: publish: true environment: live googleads: {}resources: - address: provider.type.name attributes: {}Top-level fields
Section titled “Top-level fields”| Field | Required | Description |
|---|---|---|
apiVersion | yes | Must be agoraform.io/v1alpha1. |
providers | no | Non-secret provider-specific desired state. |
resources | no | Desired managed resources. Omitted or empty is valid. |
Secrets must never appear in the manifest.
Resource addresses
Section titled “Resource addresses”Three lowercase identifiers separated by dots: provider.type.name. Each segment starts with a letter and may then contain lowercase letters, digits, or underscores. Duplicate addresses are rejected.
A single-key object whose value is a logical Agoraform address. Missing references, self-references, and cycles fail before remote mutations.
Matomo provider desired state
Section titled “Matomo provider desired state”| Field | Required | Description |
|---|---|---|
publish | no | Boolean; default false. When true, converge the configured Tag Manager container through plan / apply. |
environment | no | Tag Manager environment; default live. |
Unknown fields are rejected.
Google Ads provider desired state
Section titled “Google Ads provider desired state”No non-secret YAML fields. providers.googleads: {} is valid. Secrets in the manifest are rejected. Unknown fields are rejected.
Resource attributes
Section titled “Resource attributes”matomo.goal
Section titled “matomo.goal”| Attribute | Required | Description |
|---|---|---|
name | yes | Immutable once local state binds the resource |
matchAttribute | yes | For example event_action, url, or manually |
pattern | unless manually | Value to match |
patternType | no | contains (default), exact, or regex |
matomo.variable
Section titled “matomo.variable”| Attribute | Required | Description |
|---|---|---|
type | yes | dataLayer |
key | yes | Data layer key |
name | no | Defaults to key |
matomo.trigger
Section titled “matomo.trigger”| Attribute | Required | Description |
|---|---|---|
type | yes | customEvent |
event | yes | Custom event name |
name | no | Defaults to event |
matomo.tag
Section titled “matomo.tag”| Attribute | Required | Description |
|---|---|---|
type | yes | matomoAnalytics |
trigger | yes | $ref to matomo.trigger |
eventCategory | yes | Literal or variable $ref |
eventAction | yes | Literal or variable $ref |
eventName | no | Literal or variable $ref |
eventValue | no | Numeric literal/string or variable $ref |
name | no | Defaults from eventAction when possible |
googleads.conversion_action
Section titled “googleads.conversion_action”| Attribute | Required | Description |
|---|---|---|
name | yes | Unique conversion action name |
category | yes | For example SIGNUP or PURCHASE |
status | no | ENABLED, HIDDEN, or REMOVED |
value | no | Default conversion value |
currency | no | ISO 4217 code |
alwaysUseDefaultValue | no | Boolean |
count | no | ONE or MANY |
primaryForGoal | no | Boolean |
clickThroughLookbackWindowDays | no | 1–30 |
viewThroughLookbackWindowDays | no | 1–30 |
type is always WEBPAGE and is computed.
googleads.customer_conversion_goal
Section titled “googleads.customer_conversion_goal”| Attribute | Required | Description |
|---|---|---|
category | yes | For example SIGNUP |
origin | yes | WEBSITE |
biddable | yes | Boolean |
conversionAction | no | $ref to googleads.conversion_action |
See Matomo and Google Ads for preservation, import, and limitation details.