Skip to content

Instantly share code, notes, and snippets.

@kinlane
Created August 6, 2021 01:43
Show Gist options
  • Save kinlane/5f98c13685ed7e4422f989ce819fc47a to your computer and use it in GitHub Desktop.
Save kinlane/5f98c13685ed7e4422f989ce819fc47a to your computer and use it in GitHub Desktop.
OpenAPI Lifecycle Extension (v.0.2) - Moderate
# An extension for OpenAPI
x-lifecycle:
# Navigating Change
version:
current: 'http://example.com/next'
next: 'http://example.com/next'
previous: 'http://example.com/next'
# Development
# Staging
# Production
environments:
# Environment for development
- name: Development
url: 'https://www.postman.com/environment'
variables:
base_url: 'http://example.com/development'
api_key: 'xe3847d3J78393jkdm1123'
# Environment for production
- name: Production
url: 'https://www.postman.com/environment'
variables:
base_url: 'http://example.com/production'
api_key: 'xe3847d3J78393jkdm1123'
# Design
# Pre-Release
# Active
# Recommended
# Retired
# Deprecated
maturity: 'Active'
# Public
# Internal
# Group
# Partner
visibility: 'Public'
# Elements of the API Lifecycle
elements:
# All Mocks
mocks:
label: Mocking
elements:
- type: sandbox
title: Mock Server
url: 'https://example.com/mock'
collection: 'https://www.postman.com/collection'
# Documentation
documentation:
label: Docs
guidance: http://example.com/guidance
elements:
# Reference Documentation
- type: reference
title: Reference Documentation
url: 'https://example.com/documentation'
collection: 'https://www.postman.com/collection'
# Management
management:
label: Manage
guidance: http://example.com/guidance
elements:
# Onboarding
- type: onboarding
title: Login / Registration
url: 'https://example.com/login'
# Plan
- type: aws-api-gateway-plan
title: Plan
url: 'https://console.aws.amazon.com/apigateway/home?#/usage-plans/859pid'
# All Tests
tests:
label: Testing
guidance: http://example.com/guidance
elements:
- type: contract
title: Contract Testing
url: 'https://example.com/contract-testing'
collection: 'https://www.postman.com/collection'
- type: performance
title: Performance Testing
url: 'https://example.com/performance-testing'
collection: 'https://www.postman.com/collection'
- type: security
title: OWASP Top 10
url: 'https://example.com/owasp-security-testing'
collection: 'https://www.postman.com/collection'
# All Monitors
monitors:
label: Monitors
elements:
- type: uptime
title: Uptime Monitor
url: 'https://example.com/monitor'
collection: 'https://www.postman.com/collection'
environment: 'https://www.postman.com/environment'
- type: security
title: Recurring Security Testing Monitor
url: 'https://example.com/monitor'
collection: 'https://www.postman.com/collection'
environment: 'https://www.postman.com/environment'
- type: contract
title: Contract Testing Monitor
url: 'https://example.com/monitor'
collection: 'https://www.postman.com/collection'
environment: 'https://www.postman.com/environment'
- type: performance
title: US East Regional Performance Testing Monitor
url: 'https://example.com/monitor'
collection: 'https://www.postman.com/collection'
environment: 'https://www.postman.com/environment'
- type: performance
title: US West Regional Performance Testing Monitor
url: 'https://example.com/monitor'
collection: 'https://www.postman.com/collection'
environment: 'https://www.postman.com/environment'
# Observability
observability:
label: Observability
elements:
- type: reports
title: Report Dashboard
url: 'https://example.com/reports'
- type: change-log
title: Change Log
url: 'https://example.com/change-log'
- type: activity
title: Activity
url: 'https://example.com/activity'
# Discovery
discovery:
label: Discovery
elements:
- type: network
title: Public Network
url: 'https://example.com/public-network'
- type: workspace
title: Public Workspace
url: 'https://example.com/public-workspace'
# Milestones for the API (Achieved and Target)
milestones:
# Design Review
- type: design-review
description: 'Went through design review.'
date: '2021-06-01'
# Staging
- type: staging
description: 'Left staging phase of development.'
date: '2021-07-01'
# Security Review
- type: security-review
description: 'Went through security review.'
date: '2021-06-01'
# Active
- type: active
description: 'Put into production as active API.'
date: '2021-07-15'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment