add definition files

This commit is contained in:
Ryan Zhang
2020-08-28 23:43:34 -07:00
parent 7867d3c258
commit 92f112fd66
3 changed files with 160 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
package workloaddefinition
var BackendService = `apiVersion: standard.oam.dev/v1alpha2
kind: WorkloadDefinition
metadata:
name: backend-service
annotations:
definition.oam.dev/apiVersion: "standard.oam.dev/v1alpha2"
definition.oam.dev/kind: "Containerized"
spec:
definitionRef:
name: containerizeds.core.oam.dev
childResourceKinds:
- apiVersion: apps/v1
kind: Deployment
- apiVersion: v1
kind: Service
extension:
defaultTraits:
- scale
- route
- monitor
template: |
#Template: {
apiVersion: "core.oam.dev/v1alpha2"
kind: "Containerized"
metadata: name: backend-service
spec: {
replicas: containerized.replicas
podSpec:
containers: [{
image: containerized.image
name: containerized.name
ports: [{
containerPort: containerized.port
protocol: "TCP"
name: "default"
}]
}]
}
}
containerized: {
// +usage=specify replicas
// +short=r
replicas: *1 | int
name: string
// +usage=specify app image
// +short=i
image: string
// +usage=specify port for container
// +short=p
port: *6379 | int
}
`
+50
View File
@@ -0,0 +1,50 @@
package workloaddefinition
var Task = `apiVersion: v1
kind: WorkloadDefinition
metadata:
name: task
annotations:
definition.oam.dev/apiVersion: "v1"
definition.oam.dev/kind: "Job"
spec:
definitionRef:
name: jobs
extension:
defaultTraits:
- monitor
- logging
template: |
#Template: {
apiVersion: "v1"
kind: "Job"
metadata: name: task
spec: {
parallelism: taskSpec.count
completions: taskSpec.count
template:
spec:
containers: [{
image: taskSpec.image
name: taskSpec.name
ports: [{
containerPort: taskSpec.port
protocol: "TCP"
name: "default"
}]
}]
}
}
taskSpec: {
// +usage=specify number of tasks to run in parallel
// +short=c
count: *1 | int
name: string
// +usage=specify app image
// +short=i
image: string
// +usage=specify port for container
// +short=p
port: *6379 | int
}
`
@@ -0,0 +1,56 @@
package workloaddefinition
var WebService = `apiVersion: standard.oam.dev/v1alpha2
kind: WorkloadDefinition
metadata:
name: web-service
annotations:
definition.oam.dev/apiVersion: "standard.oam.dev/v1alpha2"
definition.oam.dev/kind: "Containerized"
spec:
definitionRef:
name: containerizeds.core.oam.dev
childResourceKinds:
- apiVersion: apps/v1
kind: Deployment
- apiVersion: v1
kind: Service
extension:
defaultTraits:
- scale
- monitor
- ingress
- dns
- tls
template: |
#Template: {
apiVersion: "core.oam.dev/v1alpha2"
kind: "Containerized"
metadata: name: backend-service
spec: {
replicas: containerized.replicas
podSpec:
containers: [{
image: containerized.image
name: containerized.name
ports: [{
containerPort: containerized.port
protocol: "TCP"
name: "default"
}]
}]
}
}
containerized: {
// +usage=specify replicas
// +short=r
replicas: *1 | int
name: string
// +usage=specify app image
// +short=i
image: string
// +usage=specify port for container
// +short=p
port: *6379 | int
}
`