-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathservice_definition.yaml
More file actions
61 lines (61 loc) · 3.21 KB
/
service_definition.yaml
File metadata and controls
61 lines (61 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: {{ cookiecutter.project_slug }}
description: "{{ cookiecutter.project_short_description | replace('"', '\\"') | replace("'", "\\\\'") }}"
tags: [backend] # Example options: api, backend, frontend, worker, scheduler, gateway, proxy, cache, storage
develop:
software:
language:
name: python
version: "{{ cookiecutter.python_version }}"
depends_on: # Optional: Dependencies during development
infrastructure: [] # List of develop-time infrastructure dependencies
# Example:
# - name: postgres_rds
# types: [sql_db]
# local_runtime: compose # Options: compose, process
# version: "1.0.0"
service: [] # List of develop-time service dependencies
# Example:
# - name: some_service
# version: "abc123..." # Git commit hash
publish:
publish_type: docker # Options: docker, oci, archive, package, binary, none
depends_on: # Optional: Dependencies for build/publication
infrastructure: [] # List of publish-time infrastructure dependencies
service: [] # List of publish-time service dependencies
deploy:
deploy_type: none # Options: sam, opentofu, cloudformation, kubernetes, helm, terraform, ansible, none
environments: [] # Options: development, testing, staging, production, sandbox, qa, uat, demo, dr
depends_on: # Optional: Dependencies for deployment
infrastructure: [] # List of deploy-time infrastructure dependencies
service: [] # List of deploy-time service dependencies
runtime:
lifecycle: alpha # Options: transient, experimental, prototype, alpha, beta, release_candidate, ga, maintenance, deprecated, retired, pendingdeletion
protocols: [http, https] # Options: http, https, ws, wss, grpc, graphql, rest, soap, amqp, mqtt
runtime_type: container # Options: compose, container, serverless, lambda, function, vm, bare_metal, kubernetes, process, batch, cron, none
platforms: [linux/amd64, linux/arm64] # Options: linux/amd64, linux/arm64
environments: # Required: Runtime environment configurations
development:
authorization:
public: false
depends_on:
infrastructure: [] # No infrastructure deps for running in development
service: [] # No service deps for running in development
# Example configuration for each environment:
# sandbox:
# authorization:
# public: false
# private: true
# internal: false
# uptime_sla: 95.0 # Optional: Service Level Agreement
# uptime_slo: 99.0 # Optional: Service Level Objective
# operations_schedule: # Optional
# uptime: on_demand # Options: continuous, on_demand, scheduled
# # If uptime is "scheduled", these fields are required:
# # days: [Monday, Tuesday, Wednesday, Thursday, Friday]
# # start: "2024-01-01T09:00:00Z" # RFC3339 timestamp
# # end: "2024-01-01T17:00:00Z" # RFC3339 timestamp
# depends_on: # Optional: Environment-specific dependencies
# infrastructure: [] # List of runtime infrastructure dependencies (i.e. what infrastructure does this need, like databases, CDNs, or API Gateways)
# service: [] # List of runtime service dependencies (i.e. what service-to-service calls does this make)
service_definition:
version: "0.1.0"