Skip to content

Commit 1119ac5

Browse files
authored
Merge pull request #28 from kanishkarj/master
SMI conformance with Documentation
2 parents e2ac9e8 + 30866fa commit 1119ac5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2736
-88
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
<p style="text-align:center;" align="center">
32
<img align="center" src="https://raw.githubusercontent.com/layer5io/layer5/master/assets/images/layer5/layer5-tag-white-bg.png" width="45%" /></p>
43

@@ -120,9 +119,19 @@ Meshery allows you to sechedule tests and invoke them programmatically. Meshery
120119

121120
To manually invoke SMI Conformance test for a deployed service mesh, you can apply tests from the `smi-test` directory of this repository. Execute the following command to run the smi-conformace tests:
122121

122+
# To check for smi conformance of a deployed service mesh
123+
We use kuttl to check for SMI conformance. All the tests are writtten in smi-test directory of this repository.
124+
Execute the following command in `./smi-conformance` to run the smi-conformace tests:-
125+
126+
```shell
127+
go run main.go
128+
```
129+
130+
<!--
123131
```shell
124132
kubectl kuttl test --skip-cluster-delete=true --start-kind=false ./smi-test
125133
```
134+
-->
126135

127136
<br /><br /><p align="center"><i>If you’re using Learn Layer5 or if you like the project, please <a href="https://github.com/layer5io/meshery/stargazers">★</a> star this repository to show your support! 🤩</i></p>
128137
</p>

deploy/k8s-consul.yaml

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: service-a
5+
automountServiceAccountToken: false
6+
---
7+
apiVersion: v1
8+
kind: ServiceAccount
9+
metadata:
10+
name: service-b
11+
automountServiceAccountToken: false
12+
---
13+
apiVersion: v1
14+
kind: ServiceAccount
15+
metadata:
16+
name: service-c
17+
automountServiceAccountToken: false
18+
---
19+
apiVersion: apps/v1
20+
kind: Deployment
21+
metadata:
22+
name: service-a-deployment
23+
labels:
24+
app: service-a
25+
spec:
26+
replicas: 1
27+
selector:
28+
matchLabels:
29+
app: service-a
30+
template:
31+
metadata:
32+
name: service-a
33+
labels:
34+
app: service-a
35+
annotations:
36+
'consul.hashicorp.com/connect-inject': 'true'
37+
'consul.hashicorp.com/connect-service-upstreams': 'service-b:9092'
38+
spec:
39+
serviceAccountName: service-a
40+
automountServiceAccountToken: true
41+
containers:
42+
- name: service-a
43+
image: layer5/learn-layer5:latest
44+
ports:
45+
- containerPort: 9091
46+
name: http
47+
env:
48+
- name: SERVICE_NAME
49+
value: "Service-a"
50+
---
51+
apiVersion: apps/v1
52+
kind: Deployment
53+
metadata:
54+
name: service-b-deployment
55+
labels:
56+
app: service-b
57+
spec:
58+
replicas: 1
59+
selector:
60+
matchLabels:
61+
app: service-b
62+
template:
63+
metadata:
64+
name: service-b
65+
annotations:
66+
'consul.hashicorp.com/connect-inject': 'true'
67+
"consul.hashicorp.com/connect-service": "service-b"
68+
labels:
69+
app: service-b
70+
spec:
71+
serviceAccountName: service-b
72+
automountServiceAccountToken: true
73+
containers:
74+
- name: service-b
75+
image: layer5/learn-layer5:latest
76+
ports:
77+
- containerPort: 9091
78+
env:
79+
- name: SERVICE_NAME
80+
value: "Service-b"
81+
---
82+
apiVersion: apps/v1
83+
kind: Deployment
84+
metadata:
85+
name: service-c-deployment
86+
labels:
87+
app: service-c
88+
spec:
89+
replicas: 1
90+
selector:
91+
matchLabels:
92+
app: service-c
93+
template:
94+
metadata:
95+
name: service-c
96+
annotations:
97+
'consul.hashicorp.com/connect-inject': 'true'
98+
"consul.hashicorp.com/connect-service": "service-c"
99+
labels:
100+
app: service-c
101+
spec:
102+
serviceAccountName: service-c
103+
automountServiceAccountToken: true
104+
containers:
105+
- name: service-c
106+
image: layer5/learn-layer5:latest
107+
ports:
108+
- containerPort: 9091
109+
env:
110+
- name: SERVICE_NAME
111+
value: "Service-c"
112+
---
113+
apiVersion: v1
114+
kind: Service
115+
metadata:
116+
name: app-a
117+
spec:
118+
type: LoadBalancer
119+
selector:
120+
app: app-a
121+
ports:
122+
- name: http
123+
protocol: TCP
124+
port: 9091
125+
# targetPort: 9091
126+
---
127+
apiVersion: v1
128+
kind: Service
129+
metadata:
130+
name: app-b
131+
spec:
132+
type: LoadBalancer
133+
selector:
134+
app: app-b
135+
ports:
136+
- name: http
137+
protocol: TCP
138+
port: 9091
139+
# targetPort: 9091
140+
---
141+
apiVersion: v1
142+
kind: Service
143+
metadata:
144+
name: app-c
145+
spec:
146+
type: LoadBalancer
147+
selector:
148+
app: app-c
149+
ports:
150+
- name: http
151+
protocol: TCP
152+
port: 9091
153+
# targetPort: 9091

deploy/k8s-maesh.yaml

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: <NAMESPACE>
5+
---
6+
apiVersion: v1
7+
kind: ServiceAccount
8+
metadata:
9+
name: service-a
10+
namespace: <NAMESPACE>
11+
---
12+
apiVersion: v1
13+
kind: ServiceAccount
14+
metadata:
15+
name: service-b
16+
namespace: <NAMESPACE>
17+
---
18+
apiVersion: v1
19+
kind: ServiceAccount
20+
metadata:
21+
name: service-c
22+
namespace: <NAMESPACE>
23+
---
24+
apiVersion: apps/v1
25+
kind: Deployment
26+
metadata:
27+
name: app-a-deployment
28+
namespace: <NAMESPACE>
29+
labels:
30+
app: app-a
31+
spec:
32+
replicas: 1
33+
selector:
34+
matchLabels:
35+
app: app-a
36+
template:
37+
metadata:
38+
labels:
39+
app: app-a
40+
spec:
41+
serviceAccountName: service-a
42+
containers:
43+
- name: app-a
44+
image: layer5/learn-layer5:latest
45+
ports:
46+
- containerPort: 9091
47+
name: http
48+
env:
49+
- name: SERVICE_NAME
50+
value: "Service-a"
51+
---
52+
apiVersion: apps/v1
53+
kind: Deployment
54+
metadata:
55+
name: app-b-deployment
56+
namespace: <NAMESPACE>
57+
labels:
58+
app: app-b
59+
spec:
60+
replicas: 1
61+
selector:
62+
matchLabels:
63+
app: app-b
64+
template:
65+
metadata:
66+
labels:
67+
app: app-b
68+
spec:
69+
serviceAccountName: service-b
70+
containers:
71+
- name: app-b
72+
image: layer5/learn-layer5:latest
73+
ports:
74+
- containerPort: 9091
75+
name: http
76+
env:
77+
- name: SERVICE_NAME
78+
value: "Service-b"
79+
---
80+
apiVersion: apps/v1
81+
kind: Deployment
82+
metadata:
83+
name: app-c-deployment
84+
namespace: <NAMESPACE>
85+
labels:
86+
app: app-c
87+
spec:
88+
replicas: 1
89+
selector:
90+
matchLabels:
91+
app: app-c
92+
template:
93+
metadata:
94+
labels:
95+
app: app-c
96+
spec:
97+
serviceAccountName: service-c
98+
containers:
99+
- name: app-c
100+
image: layer5/learn-layer5:latest
101+
ports:
102+
- containerPort: 9091
103+
name: http
104+
env:
105+
- name: SERVICE_NAME
106+
value: "Service-c"
107+
---
108+
apiVersion: v1
109+
kind: Service
110+
metadata:
111+
name: app-a
112+
namespace: <NAMESPACE>
113+
spec:
114+
type: NodePort
115+
selector:
116+
app: app-a
117+
ports:
118+
- name: http
119+
protocol: TCP
120+
port: 9091
121+
targetPort: 9091
122+
---
123+
apiVersion: v1
124+
kind: Service
125+
metadata:
126+
name: app-b
127+
namespace: <NAMESPACE>
128+
spec:
129+
type: NodePort
130+
selector:
131+
app: app-b
132+
ports:
133+
- name: http
134+
protocol: TCP
135+
port: 9091
136+
targetPort: 9091
137+
---
138+
apiVersion: v1
139+
kind: Service
140+
metadata:
141+
name: app-c
142+
namespace: <NAMESPACE>
143+
spec:
144+
type: NodePort
145+
selector:
146+
app: app-c
147+
ports:
148+
- name: http
149+
protocol: TCP
150+
port: 9091
151+
targetPort: 9091

0 commit comments

Comments
 (0)