Skip to main content

gcp-gateway.json schema (tare gateway install)

The JSON config file accepted by tare gateway install --type gcp, consumed through the --config flag.


This document describes the JSON config file accepted by:

tare gateway install identity.json --type gcp --config gcp-gateway.json

The parser is implemented in svc/cli/internal/tare/gateway/config/types.go (Config).

Tip: Use tare gateway config init to bootstrap a starter file from just a serve domain and a GCP project ID: the remaining fields documented below are pre-filled with sensible derivations and defaults that you can edit in place.

Azure: for the --type azure flow, see azure-gateway.json schema.

Supported keys

All keys are optional in JSON, but some become required by the selected workflow.

KeyTypeUsed forRequired when
projectIdstringGCP project for prerequisite automation--dry-run-prereqs or --apply-prereqs
serveDomainstringDNS hostname/domain for DNS authorization + cert map entrycreating cert/dns prereqs from CLI
customerstringHelm value customerunless provided by identity / --customer
environmentstringHelm value environmentrequired when customer is saas
serveUrlstringHelm value serveUrloptional (falls back to identity fields)
securityPolicystringHelm value securityPolicyoptional
certificateMap.namestringGCP cert map name + Helm certificateMap.nameprereq workflow and recommended for deploy
gateway.staticIpNamestringGCP global static IP name + Helm gateway.staticIpNameoptional but recommended
certificate.namestringManaged cert resource name (gcloud automation)when automating cert creation
dnsAuthorization.namestringDNS authorization resource name (gcloud automation)optional (auto-derived if omitted)
namespaces.gatewaystringGateway release namespaceoptional (default tars-gateway)
namespaces.systemstringSystem namespace referenceoptional (default tars-system)
namespaces.dataplanestringDataplane namespace referenceoptional (default tars-dataplane)
gcloud.skipExistingboolContinue when gcloud create hits "already exists"optional (false default)

Example

examples/gcp-gateway.pocnt.json:

{
"projectId": "withfraser",
"serveDomain": "proxy.pocnt.tetrate.ai",
"customer": "pocnt",
"environment": "production",
"serveUrl": "proxy.pocnt.tetrate.ai",
"certificateMap": {
"name": "pocnt-tetrate-ai"
},
"certificate": {
"name": "pocnt-serve-cert"
},
"dnsAuthorization": {
"name": "proxy-pocnt-tetrate-ai-dns-auth"
},
"namespaces": {
"gateway": "tars-gateway",
"system": "tars-system",
"dataplane": "tars-dataplane"
},
"gcloud": {
"skipExisting": false
}
}

Field precedence

For most values, precedence is:

  1. explicit CLI flag
  2. gcp-gateway.json (--config)
  3. identity file defaults / built-in defaults

Notable defaults:

  • --serve-url: falls back to serveUrl (config), then serveDomain (config), then identity serveUrl, then identity proxy (legacy).
  • --dns-authorization-name: if omitted and cert automation is enabled, default becomes <normalized-serve-domain>-dns-auth.

Minimal configs by use case

A) Install only (prereqs handled outside CLI)

Usually enough:

{
"customer": "acme",
"serveUrl": "proxy.acme.example.com",
"certificateMap": { "name": "acme-cert-map" }
}

Then run:

tare gateway install identity.json \
--type gcp \
--config gcp-gateway.json \
--ack-prereqs

B) Use --apply-prereqs / --dry-run-prereqs

Provide at least:

  • projectId
  • certificateMap.name

And for certificate + DNS automation:

  • certificate.name
  • serveDomain

gateway.staticIpName is optional (CLI only creates static IP when set).