Skip to content

Commit c819b5b

Browse files
authored
Merge pull request #479 from kcl-lang/inherit-oam-app-example
docs: add inherit oam app example
2 parents e78c264 + 8754340 commit c819b5b

File tree

6 files changed

+83
-0
lines changed

6 files changed

+83
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[package]
2+
name = "inherit-oam-app"
3+
edition = "v0.10.0"
4+
version = "0.0.1"
5+
6+
[dependencies]
7+
oam = "0.2.1"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[dependencies]
2+
[dependencies.k8s]
3+
name = "k8s"
4+
full_name = "k8s_1.31.2"
5+
version = "1.31.2"
6+
[dependencies.oam]
7+
name = "oam"
8+
full_name = "oam_0.2.1"
9+
version = "0.2.1"
10+
sum = "bz5HT/ggMm6heYVUOaZd5mOLIv/q2jicXupv0ChDlsE="
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import oam
2+
3+
schema MyApplication(oam.Application):
4+
metadata.annotations = {
5+
"some-key" = "some-value"
6+
} # Extend default values
7+
8+
check:
9+
"some-key" in metadata.annotations if metadata.annotations # Extend validation rules
10+
11+
MyApplication {
12+
metadata.name = "kcl-play-svc"
13+
spec.components = [{
14+
name = metadata.name
15+
type = "webservice"
16+
properties = {
17+
image = "kcllang/kcl"
18+
ports = [{port = 80, expose = True}]
19+
cmd = ["kcl", "play"]
20+
}
21+
}]
22+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[package]
2+
name = "inherit-oam-app"
3+
edition = "v0.10.0"
4+
version = "0.0.1"
5+
6+
[dependencies]
7+
oam = "0.2.1"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[dependencies]
2+
[dependencies.k8s]
3+
name = "k8s"
4+
full_name = "k8s_1.31.2"
5+
version = "1.31.2"
6+
[dependencies.oam]
7+
name = "oam"
8+
full_name = "oam_0.2.1"
9+
version = "0.2.1"
10+
sum = "bz5HT/ggMm6heYVUOaZd5mOLIv/q2jicXupv0ChDlsE="
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import oam
2+
3+
schema MyTemplate:
4+
name: str
5+
image: str
6+
cmd?: [str]
7+
port: int = 80
8+
9+
schema MyApplication[template: MyTemplate](oam.Application):
10+
metadata = {name = "kcl-play-svc"}
11+
spec = {
12+
components = [{
13+
name = metadata.name
14+
type = "webservice"
15+
properties = {
16+
image = "kcllang/kcl"
17+
ports = [{port = 80, expose = True}]
18+
cmd = ["kcl", "play"]
19+
}
20+
}]
21+
}
22+
23+
MyApplication({
24+
name = "kcl-play-svc"
25+
image = "kcllang/kcl"
26+
cmd: ["kcl", "play"]
27+
}) {}

0 commit comments

Comments
 (0)