Skip to content
ReferenceEnvironmentGroup

EnvironmentGroup

gitops.nyl/v1

Orchestration Resources · Download JSON Schema · Usage guide

Environments that belong together, with configuration they share.

A group selects declared Environments by their literal labels, the labels -l matches, and names them for -g. Its fields are defaults beneath each member’s own.

When needed

To reconcile several environments with -g <group>, or to share state, protected refs, or values among them.

If omitted

Each Environment carries all of its own configuration.

Example

apiVersion: gitops.nyl/v1
kind: EnvironmentGroup
metadata:
  name: production
spec:
  driftRepair: manual
  environmentSelector:
    matchLabels:
      stage: production
  values:
    cluster: prod-1

Fields

Required means required within the containing object. Optional and nullable are distinct; contextual defaults and requirements are explained with each field.

Unknown fields are rejected.

apiVersion

Required · string

API group and version defining this resource.

const: "gitops.nyl/v1"

kind

Required · string

Resource kind within the API group.

const: "EnvironmentGroup"

metadata

Required · object

Resource identity and metadata.

Unknown fields are rejected.

metadata.labels

Optional · object

Literal labels used for organization and target selection.

metadata.labels[key]

Optional · string

metadata.name

Required · string

Project-local identity, validated by the resource kind; remains static during discovery.

spec

Required · object

Configuration for this resource.

Unknown fields are rejected.

spec.admission

Optional · string or null

Default admission of the members.

Allowed values: "off" · "required" · null

spec.allowUnprotectedSource

Optional · boolean or null

Default allowUnprotectedSource of the members.

spec.driftRepair

Optional · string or null

Default driftRepair of the members.

Allowed values:

ValueMeaning
"converge"The next reconcile executes drifted units whose recovery policy is
converge again; a drifted unit that is not safe to re-run awaits
approval.
"manual"Reconcile repairs no drift by itself: drifted units stay drifted
until nyl reconcile --unit <unit> --reapply --reason <text>.
null

spec.environmentSelector

Required · object

Matches literal Environment metadata.labels. Must not be empty.

Unknown fields are rejected.

spec.environmentSelector.matchLabels

Optional · object

Exact label matches, combined with AND. An empty map selects every ApplicationGroup.

spec.environmentSelector.matchLabels[key]

Optional · string

spec.protectedRefs

Optional · array or null

Default protectedRefs of the members.

spec.protectedRefs[]

Required · string

spec.state

Optional · object

Default state repository of the members.

default: {}

Unknown fields are rejected.

spec.state.repository

Optional · object or null

Inline repository coordinates holding the members’ state. Mutually exclusive with repositoryRef.

Unknown fields are rejected.

spec.state.repository.publishURL

Optional · string or null

Optional Git write URL. Publication uses repoURL when omitted.

spec.state.repository.repoURL

Required · string

Credential-free Git read URL used by renderers and generated Applications.

spec.state.repositoryRef

Optional · object or null

GitRepository holding the members’ state. Mutually exclusive with repository.

Unknown fields are rejected.

spec.state.repositoryRef.name

Required · string

Project-local name of the referenced resource; its kind and API group are determined by the containing field.

spec.values

Optional · object

Defaults beneath each member’s values; the member wins.

Additional keys may contain any value.