Documentation
¶
Overview ¶
Package policy publishes the configuration shapes these contracts define, and nothing else. The loaders are in the packages beside it.
Index ¶
Constants ¶
View Source
const SchemaBase = "https://github.com/truvity/policy/schemas/"
SchemaBase is the prefix every `$id` in Schemas carries. A document at `schemas/fragments/log.json` is identified by SchemaBase + "fragments/log.json".
Variables ¶
View Source
var Schemas embed.FS
Schemas holds the shared configuration schemas, rooted at `schemas/`.
They are embedded rather than fetched: a `$id` in this repository is an identifier, not an address. Validation therefore needs no network, works in a test with no egress, and pins the shapes to the version of this module a service depends on.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package charts carries the library chart, so that the tests of every chart that depends on it render the library as it stands in this tree.
|
Package charts carries the library chart, so that the tests of every chart that depends on it render the library as it stands in this tree. |
|
Package chartschema composes the values schema of a service chart.
|
Package chartschema composes the values schema of a service chart. |
|
cmd
|
|
|
tenant-validate
command
Command tenant-validate checks a company's configuration bundle the way the platform does before it pins it, so that the company's own CI refuses a bad bundle before the platform has to.
|
Command tenant-validate checks a company's configuration bundle the way the platform does before it pins it, so that the company's own CI refuses a bad bundle before the platform has to. |
|
Package config loads a service's configuration: read one file, validate it against a schema, decode it into a type, and stop.
|
Package config loads a service's configuration: read one file, validate it against a schema, decode it into a type, and stop. |
|
Package conformance holds the test helpers that make the configuration contract checkable, so that a service and the chart that deploys it are held to one schema rather than to two beliefs about it.
|
Package conformance holds the test helpers that make the configuration contract checkable, so that a service and the chart that deploys it are held to one schema rather than to two beliefs about it. |
|
hack
|
|
|
compose-chart-schema
command
Command compose-chart-schema writes the values schema of every service chart under a directory: for each `values.schema.src.json` it finds, the composed `values.schema.json` beside it (see package chartschema).
|
Command compose-chart-schema writes the values schema of every service chart under a directory: for each `values.schema.src.json` it finds, the composed `values.schema.json` beside it (see package chartschema). |
|
Package telemetry starts the OpenTelemetry SDK from OpenTelemetry's own environment, and stops it cleanly.
|
Package telemetry starts the OpenTelemetry SDK from OpenTelemetry's own environment, and stops it cleanly. |
|
Package tenant is the checker for a company's configuration bundle: the directory of strict YAML sections a company hands a shared platform, the rules the bundle must satisfy on its own, the rules it must satisfy against what the platform holds about the company, and the digest that pins it.
|
Package tenant is the checker for a company's configuration bundle: the directory of strict YAML sections a company hands a shared platform, the rules the bundle must satisfy on its own, the rules it must satisfy against what the platform holds about the company, and the digest that pins it. |
|
Package transport turns the `tls` fragment of a service's configuration into the two TLS configurations a service needs: one for the listener it serves, one for the connections it makes.
|
Package transport turns the `tls` fragment of a service's configuration into the two TLS configurations a service needs: one for the listener it serves, one for the connections it makes. |
|
catalog
Package catalog is the who-calls-whom catalog for workload mutual TLS: for each callee (a component of a project's chart that exposes `tls.peers.<component>`, see the `tls` fragment) the identities outside its own release that may call it, per environment.
|
Package catalog is the who-calls-whom catalog for workload mutual TLS: for each callee (a component of a project's chart that exposes `tls.peers.<component>`, see the `tls` fragment) the identities outside its own release that may call it, per environment. |
Click to show internal directories.
Click to hide internal directories.