Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Runtime Conditions Profile draft and support artifacts

This directory contains the draft Runtime Conditions Profile Specification, and the minimum supporting artifacts needed to review it as a cohesive initiative.

## Contents

- `runtime-conditions-profile-specification.md` - core draft specification.
- `extensions/` - machine-readable extension definition files that define Condition vocabulary, allowed values, and validation schemas used by the examples.
- `examples/` - complete profile documents that show the core shape and extension usage.
- `review-notes/` - short non-normative notes for common review questions.

## Review scope

The core profile specification and extension definition shape are the main items for review. The first-party extension YAML files show how concrete vocabulary can be defined outside the core. The AWS object-store extension is intentionally illustrative: it demonstrates third-party extension mechanics, while clearly falling short of a full third-party implementation.

Generators, platform adapters, and a working demo are intentionally not included here. They can be found at https://github.com/colinjlacy/runtime-conditions-profiles.

For a guided walkthrough explaining the core concepts, see: https://colinjlacy.github.io/runtime-conditions-profiles/
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Profile examples

These examples are complete Runtime Conditions Profile documents.

- `checkout-service-profile.yaml` uses only the first-party Common Integrations and Env Configuration extensions.
- `object-store-profile.yaml` shows how a profile can use an illustrative third-party extension for provider-specific object storage vocabulary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
apiVersion: runtimeconditions.io/v1alpha1
kind: RuntimeConditionsProfile

metadata:
name: checkout-service
labels:
owner.example.com/team: payments
lifecycle.example.com/stage: production

workload:
uri: https://github.com/example-org/checkout-service
version: v1.2.3

extensions:
- https://runtimeconditions.io/extensions/common-integrations:v1alpha1
- https://runtimeconditions.io/extensions/env-configuration:v1alpha1

conditions:
- name: primary-db
kind: datastore
interface:
type: relational
engine: postgres
configuration:
env:
- property: hostname
name: POSTGRES_HOST
- property: port
name: POSTGRES_PORT
- property: database
name: POSTGRES_DATABASE
- property: username
name: POSTGRES_USERNAME
- property: password
name: POSTGRES_PASSWORD
sensitive: true

- name: request-cache
kind: cache
interface:
type: key_value
engine: redis
configuration:
alternatives:
- env:
- property: url
name: REDIS_URL
- env:
- property: hostname
name: REDIS_HOST
- property: port
name: REDIS_PORT

- name: payments-api
kind: api
interface:
type: http
operations:
- method: POST
path: /charge
requestBodySchema:
amount: number
currency: string
paymentMethodToken: string
responseSchema:
chargeId: string
status: string
configuration:
env:
- property: baseUrl
name: PAYMENTS_API_URL
- property: token
name: PAYMENTS_API_TOKEN
sensitive: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: runtimeconditions.io/v1alpha1
kind: RuntimeConditionsProfile

metadata:
name: audit-logger
labels:
owner.example.com/team: platform

workload:
uri: https://github.com/example-org/audit-logger
version: v0.4.0

extensions:
- https://aws.example.com/runtimeconditions/object-store:v1alpha1

conditions:
- name: audit-log-store
kind: aws.object_store
interface:
type: aws.s3
bucketClass: standard
configuration:
env:
- property: bucket
name: AUDIT_LOG_BUCKET
- property: region
name: AWS_REGION
- property: accessKeyId
name: AWS_ACCESS_KEY_ID
sensitive: true
- property: secretAccessKey
name: AWS_SECRET_ACCESS_KEY
sensitive: true

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Extension definitions

Runtime Conditions Profiles have a small, extensible core. Concrete integration vocabulary is defined by extensions.

This directory includes:

- `first-party/common-integrations-v1alpha1.yaml` - vocabulary for common integration categories such as APIs, datastores, and caches. Intended to be supported upon release.
- `first-party/env-configuration-v1alpha1.yaml` - vocabulary for declaring workload-facing environment variable inputs. Intended to be supported upon release.
- `third-party-example/aws-object-store-v1alpha1.yaml` - illustrative third-party extension for an AWS S3-style object store condition. Intended as an example for third-party authorship.

The first two files are the extension artifacts referenced by the complete examples. They are included so reviewers can see that condition kinds, interface types, fields, field values, and JSON Schema validation can be declared outside the core specification.

The AWS file is intentionally provider-specific. It exists to show the expected third-party extension path: an extension can declare its own URI, depend on first-party extensions, define provider-specific vocabulary, and constrain that vocabulary using JSON Schema.
Loading
Loading