WEBVTT

1
00:00:14.519 --> 00:00:19.280
<v Speaker 1>Welcome everyone to another episode of Adventures in dev Ops.

2
00:00:19.519 --> 00:00:22.399
<v Speaker 1>I'm your host for today, Will Button, and we have

3
00:00:22.480 --> 00:00:25.719
<v Speaker 1>our new panelists with us. We have Jonathan Halm Hello, hello,

4
00:00:25.920 --> 00:00:29.480
<v Speaker 1>and Jillian Rowe Hello everybody. And then we've got our

5
00:00:29.519 --> 00:00:32.240
<v Speaker 1>guest today, we have er Zoberman.

6
00:00:32.399 --> 00:00:32.840
<v Speaker 2>How are you doing?

7
00:00:33.039 --> 00:00:35.719
<v Speaker 3>R Hi. Nice to meet you all and excited to

8
00:00:35.759 --> 00:00:36.119
<v Speaker 3>be here.

9
00:00:36.280 --> 00:00:38.399
<v Speaker 1>Well, we're excited to have you. You want to give

10
00:00:38.479 --> 00:00:40.679
<v Speaker 1>us a little introduction about yourself?

11
00:00:40.920 --> 00:00:44.000
<v Speaker 4>Yeah, sure, So my name is Yal and I am

12
00:00:44.079 --> 00:00:46.600
<v Speaker 4>leading the product at the company named the three.

13
00:00:46.759 --> 00:00:48.960
<v Speaker 3>In at the three, well, I think a company is

14
00:00:49.000 --> 00:00:51.039
<v Speaker 3>prevent configurations.

15
00:00:51.240 --> 00:00:54.000
<v Speaker 4>And fun fact, you actually also my co founder at

16
00:00:54.079 --> 00:00:57.079
<v Speaker 4>episode number seventy six, so I give a reference to

17
00:00:57.119 --> 00:01:00.000
<v Speaker 4>this episode and I won't go into details about exactly

18
00:01:00.039 --> 00:01:03.479
<v Speaker 4>how we're doing that because it's plain it's there. Besides

19
00:01:03.759 --> 00:01:07.840
<v Speaker 4>leading the product Editree, I'm also leading the local community

20
00:01:07.840 --> 00:01:10.719
<v Speaker 4>of get up in Tel Aviv, which is the biggest

21
00:01:10.719 --> 00:01:13.719
<v Speaker 4>one in the world over twenty five under the users

22
00:01:13.879 --> 00:01:17.480
<v Speaker 4>and beside it and just love development.

23
00:01:17.560 --> 00:01:19.840
<v Speaker 3>I actually was a developer before I.

24
00:01:20.000 --> 00:01:24.319
<v Speaker 4>Went into the tree and as a product leader. And

25
00:01:24.560 --> 00:01:27.400
<v Speaker 4>another fun fact, I actually have a lot of degree

26
00:01:27.519 --> 00:01:29.879
<v Speaker 4>so I have nothing to do with development. It's all

27
00:01:30.280 --> 00:01:33.120
<v Speaker 4>learned and I actually love early love code, and this

28
00:01:33.159 --> 00:01:35.000
<v Speaker 4>is how I got into this space.

29
00:01:35.280 --> 00:01:36.640
<v Speaker 2>So you said you have a lot of degree.

30
00:01:36.959 --> 00:01:39.319
<v Speaker 4>Yeah, this is correct. I actually have a lot of degree.

31
00:01:39.359 --> 00:01:40.439
<v Speaker 4>And I was supposed to be a.

32
00:01:40.400 --> 00:01:44.319
<v Speaker 1>Lawyer, and so the prospect of being a lawyer was

33
00:01:44.480 --> 00:01:47.120
<v Speaker 1>so horrible you decided, no, I'm going to work in

34
00:01:47.200 --> 00:01:49.400
<v Speaker 1>tech instead went.

35
00:01:50.959 --> 00:01:51.599
<v Speaker 3>Something like that.

36
00:01:51.719 --> 00:01:55.480
<v Speaker 4>Basically, like, while I dealt with law, I always loved

37
00:01:55.519 --> 00:01:59.680
<v Speaker 4>the technology, so I did like law and technology stuff. Basically,

38
00:01:59.760 --> 00:02:02.519
<v Speaker 4>it was a lot of open source licensing because a

39
00:02:02.560 --> 00:02:05.280
<v Speaker 4>lot of people never never really understood what is the

40
00:02:05.599 --> 00:02:08.360
<v Speaker 4>open source and open source people never understood what is

41
00:02:08.439 --> 00:02:09.639
<v Speaker 4>low So I was in the middle.

42
00:02:09.680 --> 00:02:13.000
<v Speaker 3>There was able to talk with both sides. But during this.

43
00:02:13.000 --> 00:02:14.960
<v Speaker 4>Process I actually fell in love with the technology and

44
00:02:15.000 --> 00:02:17.479
<v Speaker 4>then decided it is part of the open source it's

45
00:02:17.560 --> 00:02:19.960
<v Speaker 4>much more interesting. So I got into the open source

46
00:02:20.039 --> 00:02:23.400
<v Speaker 4>to developing by myself and then went into the process

47
00:02:23.400 --> 00:02:25.680
<v Speaker 4>of being a developer. So I have all degree, it's

48
00:02:25.680 --> 00:02:29.879
<v Speaker 4>somewhere on the wall, but I'm not using it.

49
00:02:30.159 --> 00:02:32.520
<v Speaker 5>So it's not that you thought law was too simple

50
00:02:32.520 --> 00:02:34.520
<v Speaker 5>and you wanted a better challenge. You wanted something more

51
00:02:34.520 --> 00:02:37.439
<v Speaker 5>complicated like Kuberneties to work with. That wasn't the thought process?

52
00:02:38.199 --> 00:02:41.639
<v Speaker 3>Yeah, something like that, get out of your comfort comfort zone?

53
00:02:41.800 --> 00:02:43.800
<v Speaker 6>Are you like certified in law? And you sent out

54
00:02:43.840 --> 00:02:46.319
<v Speaker 6>kind of season disiness platters because I think that would really.

55
00:02:46.240 --> 00:02:48.479
<v Speaker 4>Come in me And sometimes I prefer not to do

56
00:02:48.520 --> 00:02:51.080
<v Speaker 4>that because again I did it like a few years ago,

57
00:02:51.199 --> 00:02:53.759
<v Speaker 4>so I'm not up to date to all the new

58
00:02:54.319 --> 00:02:55.520
<v Speaker 4>rules and stuff like that.

59
00:02:55.719 --> 00:02:58.000
<v Speaker 5>But you're up to date with Kubernetes, right, this, this

60
00:02:58.039 --> 00:03:00.599
<v Speaker 5>is correct? Yeah, what's the latest new feature here? Excited about?

61
00:03:00.879 --> 00:03:01.159
<v Speaker 6>Wow?

62
00:03:05.280 --> 00:03:10.000
<v Speaker 7>We promise not exactly too many for me to mention.

63
00:03:10.599 --> 00:03:14.080
<v Speaker 1>Cool, But you did write an article that we've got

64
00:03:14.120 --> 00:03:16.919
<v Speaker 1>here on why you need to use kubernating scheme of

65
00:03:17.000 --> 00:03:20.719
<v Speaker 1>validation tools, and you actually looked at two different ways

66
00:03:20.759 --> 00:03:24.960
<v Speaker 1>of doing that, Cuba vallel and Cube conform. What was

67
00:03:24.960 --> 00:03:27.199
<v Speaker 1>the motivation behind it? I'm assuming that there's like a

68
00:03:27.879 --> 00:03:30.800
<v Speaker 1>backstory here of where something happened and you were like,

69
00:03:30.919 --> 00:03:33.120
<v Speaker 1>oh my god, we cannot go through this again.

70
00:03:34.240 --> 00:03:34.479
<v Speaker 3>Yeah.

71
00:03:34.520 --> 00:03:36.919
<v Speaker 4>So actually there's also a third option. It's like actually

72
00:03:36.919 --> 00:03:40.360
<v Speaker 4>doing it with cube cattle, and so the backstory is

73
00:03:40.400 --> 00:03:43.159
<v Speaker 4>that ed the tree. Like I said, we're helping companies

74
00:03:43.199 --> 00:03:46.840
<v Speaker 4>prevent coubernet dismiss configurations. We're doing that by scanning the

75
00:03:47.080 --> 00:03:50.319
<v Speaker 4>manifest files and giving them indication if it's up to

76
00:03:50.360 --> 00:03:55.719
<v Speaker 4>the standards that was defined by the organization Police also called.

77
00:03:56.400 --> 00:03:57.960
<v Speaker 3>And something big that we.

78
00:03:58.039 --> 00:03:59.960
<v Speaker 4>Got is that a lot of people thought told us

79
00:04:00.080 --> 00:04:02.639
<v Speaker 4>that it's passing the policy, but it's still not a

80
00:04:02.680 --> 00:04:06.520
<v Speaker 4>valid Kubernetes file. How come because I know someone forgot

81
00:04:06.520 --> 00:04:09.759
<v Speaker 4>to configure it correctly and instead of calling it, I

82
00:04:09.840 --> 00:04:12.400
<v Speaker 4>know API version with version in a capital letter, it's

83
00:04:12.400 --> 00:04:15.280
<v Speaker 4>all smaller or something like that. So it's still passing

84
00:04:15.280 --> 00:04:18.360
<v Speaker 4>the policy. It's because it can have like a readiness

85
00:04:18.399 --> 00:04:21.560
<v Speaker 4>prop and it can have a proper label and everythings correct,

86
00:04:21.680 --> 00:04:25.399
<v Speaker 4>but on the technical side, it's not a valid Kubernet's file.

87
00:04:25.600 --> 00:04:27.759
<v Speaker 4>And then we had the question is this something that

88
00:04:27.800 --> 00:04:29.800
<v Speaker 4>we need to catch or we don't need to catch

89
00:04:29.920 --> 00:04:33.839
<v Speaker 4>because again it's passing the policy. It's only a problem

90
00:04:33.879 --> 00:04:36.759
<v Speaker 4>on the valid on the Kubernetus validation side. So I

91
00:04:36.800 --> 00:04:40.240
<v Speaker 4>got into this space and start to investigate, and while

92
00:04:40.279 --> 00:04:42.600
<v Speaker 4>doing the research, I found it it's actually a common

93
00:04:42.680 --> 00:04:46.199
<v Speaker 4>problem that people have and there's only three ways to

94
00:04:46.240 --> 00:04:49.839
<v Speaker 4>solve it. So one of them is with cubabal, which

95
00:04:49.879 --> 00:04:52.279
<v Speaker 4>is a really good tool. It's actually the most popular

96
00:04:52.279 --> 00:04:55.199
<v Speaker 4>one that most of the people are using, and this

97
00:04:55.360 --> 00:04:58.079
<v Speaker 4>is a way to do the validation offline. The second

98
00:04:58.360 --> 00:05:02.120
<v Speaker 4>tool that I found was cube confirmed. It's another open

99
00:05:02.120 --> 00:05:05.160
<v Speaker 4>source it's really good too tool. And by the way,

100
00:05:05.199 --> 00:05:08.680
<v Speaker 4>I just want to say Yan, I really love this tool.

101
00:05:09.079 --> 00:05:12.160
<v Speaker 4>Thank you for that. Yan is the actually the person

102
00:05:12.199 --> 00:05:15.560
<v Speaker 4>that write this tool. And Yan he actually took cube

103
00:05:15.560 --> 00:05:17.879
<v Speaker 4>e val and he improved it. He did a lot

104
00:05:17.920 --> 00:05:20.360
<v Speaker 4>of great stuff that you can see on Cube e valle.

105
00:05:20.399 --> 00:05:23.720
<v Speaker 4>And it's also all maintained because Yan is kipped maintaining

106
00:05:23.759 --> 00:05:26.079
<v Speaker 4>this project. And then there is also the third option,

107
00:05:26.199 --> 00:05:29.759
<v Speaker 4>which is actually using cube cattle. But the funny part,

108
00:05:29.920 --> 00:05:32.600
<v Speaker 4>and I was really surprised about that, is that, in

109
00:05:32.680 --> 00:05:35.079
<v Speaker 4>opposed to all the other stuff campabilities that are really

110
00:05:35.160 --> 00:05:39.279
<v Speaker 4>well documented, this part of doing scheme of validation with

111
00:05:39.439 --> 00:05:42.519
<v Speaker 4>the native tool, which is cube cattle, it's not documented

112
00:05:42.680 --> 00:05:45.680
<v Speaker 4>at all. I actually went through the code itself, like

113
00:05:45.839 --> 00:05:49.439
<v Speaker 4>the co code inside get up to understand what is happening,

114
00:05:49.519 --> 00:05:52.040
<v Speaker 4>to understand how it's walking, which flag I need to use,

115
00:05:52.240 --> 00:05:55.040
<v Speaker 4>and I looked everyone like I Google. When I Google it,

116
00:05:55.279 --> 00:05:57.720
<v Speaker 4>I got like two pages. This is how weird it.

117
00:05:57.639 --> 00:06:02.000
<v Speaker 6>Was talent with our corner of the internet there, didn't you?

118
00:06:02.079 --> 00:06:04.199
<v Speaker 4>Yeah, like someone can hide a body and the results

119
00:06:04.240 --> 00:06:07.120
<v Speaker 4>about how to do schemu vilation with cube cattle.

120
00:06:07.279 --> 00:06:09.000
<v Speaker 3>You can hide a body there and the resultso no

121
00:06:09.040 --> 00:06:11.680
<v Speaker 3>one will find it. Nobody will find it, No one's

122
00:06:11.680 --> 00:06:14.120
<v Speaker 3>looking exactly.

123
00:06:17.399 --> 00:06:18.959
<v Speaker 6>It's going to be your new title. I was just

124
00:06:19.000 --> 00:06:20.839
<v Speaker 6>wondering as you were describing these, are any of these

125
00:06:20.920 --> 00:06:24.439
<v Speaker 6>integrated with HELM or these if you're writing your Kubernator's

126
00:06:24.480 --> 00:06:26.600
<v Speaker 6>configuration files manually or through some.

127
00:06:26.560 --> 00:06:29.680
<v Speaker 3>Other that's a really good that's a really good question.

128
00:06:29.920 --> 00:06:33.639
<v Speaker 4>So if you think about it, and basically it's also

129
00:06:33.680 --> 00:06:38.399
<v Speaker 4>a Combernetus manifest and in dead we're also rendering Kubernetus manifests,

130
00:06:38.759 --> 00:06:41.079
<v Speaker 4>So it doesn't matter like all of them will walk

131
00:06:41.160 --> 00:06:44.160
<v Speaker 4>with the head. It's only a matter of do we

132
00:06:44.199 --> 00:06:46.639
<v Speaker 4>have like a native integration that it will be connected

133
00:06:46.639 --> 00:06:49.680
<v Speaker 4>to M directly or another way to do that is

134
00:06:49.720 --> 00:06:53.240
<v Speaker 4>to render the manifest with HELM and then passing it

135
00:06:53.480 --> 00:06:54.800
<v Speaker 4>to one of those tools.

136
00:06:54.879 --> 00:06:57.079
<v Speaker 6>Yeah, that's an interesting way of doing it. Just just

137
00:06:57.120 --> 00:06:58.160
<v Speaker 6>have Holme render it for.

138
00:06:58.160 --> 00:06:59.879
<v Speaker 7>You and then throw it off to one of exc

139
00:07:00.000 --> 00:07:04.399
<v Speaker 7>exactly like people forget people forget that you exactly that

140
00:07:04.600 --> 00:07:07.560
<v Speaker 7>helm is actually in the end, there's a Kubernetus benefit

141
00:07:07.600 --> 00:07:10.040
<v Speaker 7>that's generating, and this is what's getting pushed to your cluster.

142
00:07:10.240 --> 00:07:12.839
<v Speaker 4>Usually you don't see it because it's pushing it directly,

143
00:07:12.959 --> 00:07:14.959
<v Speaker 4>but if you do ham template, you.

144
00:07:14.879 --> 00:07:17.519
<v Speaker 3>Will see the file itself that is pushing. Cool.

145
00:07:17.600 --> 00:07:20.120
<v Speaker 6>Now I have an extra step in my make files to.

146
00:07:20.079 --> 00:07:23.800
<v Speaker 1>Add I think that's a great that's a great point. Though,

147
00:07:24.120 --> 00:07:28.879
<v Speaker 1>where do you recommend people do the validation checking out?

148
00:07:29.319 --> 00:07:33.360
<v Speaker 4>Yeah, so just for the people that listening and didn't

149
00:07:33.399 --> 00:07:34.680
<v Speaker 4>read the article, we.

150
00:07:34.720 --> 00:07:35.920
<v Speaker 3>Just say that good use.

151
00:07:36.279 --> 00:07:38.600
<v Speaker 4>If you have a scheme of validation errow, it will

152
00:07:38.920 --> 00:07:41.560
<v Speaker 4>get cut in the end because basically, when you try

153
00:07:41.560 --> 00:07:44.680
<v Speaker 4>to deploy it your Kubernets cluster, Kubernets with throw an

154
00:07:44.759 --> 00:07:47.560
<v Speaker 4>errow to tell you that it's an invalid a combneti

155
00:07:47.600 --> 00:07:47.920
<v Speaker 4>is file.

156
00:07:48.079 --> 00:07:48.680
<v Speaker 3>That's all good.

157
00:07:48.720 --> 00:07:51.759
<v Speaker 4>The problem is that you want to catch those arrows

158
00:07:51.800 --> 00:07:53.720
<v Speaker 4>as soon as possible. You want to shift them left.

159
00:07:53.839 --> 00:07:55.959
<v Speaker 4>You don't want to wait until you try to deploy it.

160
00:07:56.040 --> 00:07:58.519
<v Speaker 4>You want to catch them when someone is submitting them.

161
00:07:58.800 --> 00:08:02.319
<v Speaker 4>And that's the problem. Because with cube cattle there's something

162
00:08:02.439 --> 00:08:05.639
<v Speaker 4>that is called like it's a dry run flag that

163
00:08:05.680 --> 00:08:09.920
<v Speaker 4>you can say something something applied minus dry run and

164
00:08:09.959 --> 00:08:13.079
<v Speaker 4>then it will connect to your cluster. It will check

165
00:08:13.199 --> 00:08:15.480
<v Speaker 4>if it's a valid file. If it's a valid file,

166
00:08:15.639 --> 00:08:17.759
<v Speaker 4>it will not apply it. This is why you have

167
00:08:17.800 --> 00:08:20.959
<v Speaker 4>the drying flag, but you to give you the indication

168
00:08:21.040 --> 00:08:23.759
<v Speaker 4>if it will be accepted or not by the cluster itself.

169
00:08:24.040 --> 00:08:27.120
<v Speaker 4>So that's really cool. The issue with that is that

170
00:08:27.519 --> 00:08:30.079
<v Speaker 4>you actually need to have up and running cluster and

171
00:08:30.160 --> 00:08:32.399
<v Speaker 4>you also need to have a connection to that. So

172
00:08:32.600 --> 00:08:35.200
<v Speaker 4>going back one step and we said that you need

173
00:08:35.240 --> 00:08:39.720
<v Speaker 4>to validate those manifest files as soon as possible. Usually

174
00:08:40.120 --> 00:08:43.360
<v Speaker 4>local machines or CI machines don't have and you don't

175
00:08:43.360 --> 00:08:46.320
<v Speaker 4>want them to have a connection to your cluster, so

176
00:08:46.399 --> 00:08:48.440
<v Speaker 4>that's become an issue. So you need to find a

177
00:08:48.440 --> 00:08:52.159
<v Speaker 4>way that you can do it offline. When I'm saying offline,

178
00:08:52.200 --> 00:08:55.120
<v Speaker 4>I mean with no connection to your cluster, but also

179
00:08:55.120 --> 00:08:57.600
<v Speaker 4>in a way that you can run as soon as possible,

180
00:08:57.679 --> 00:08:59.519
<v Speaker 4>and not only when you want to push it into

181
00:08:59.519 --> 00:09:03.200
<v Speaker 4>production or into staging, also to your cluster, which means

182
00:09:03.200 --> 00:09:06.240
<v Speaker 4>to the cluster. So, like I said, you have cubival

183
00:09:06.360 --> 00:09:08.399
<v Speaker 4>that you can do that with you can write run

184
00:09:08.480 --> 00:09:10.559
<v Speaker 4>it locally, you can add it as a step in

185
00:09:10.600 --> 00:09:13.559
<v Speaker 4>your CI and you can also do it in the

186
00:09:13.600 --> 00:09:16.799
<v Speaker 4>CD before we trying to apply something. So that's one option.

187
00:09:17.080 --> 00:09:19.480
<v Speaker 4>Another option that you can do it with is with

188
00:09:19.639 --> 00:09:23.039
<v Speaker 4>cube and phone and same you can implement it in

189
00:09:23.080 --> 00:09:25.799
<v Speaker 4>the same ways because like I said, basically it's almost

190
00:09:25.799 --> 00:09:26.320
<v Speaker 4>the same tool.

191
00:09:26.360 --> 00:09:27.240
<v Speaker 3>It's only I.

192
00:09:27.240 --> 00:09:30.399
<v Speaker 4>Would say it's like cubivalve with superpowers with the cube

193
00:09:30.399 --> 00:09:33.080
<v Speaker 4>and phone. And the other way for you to do

194
00:09:33.120 --> 00:09:36.080
<v Speaker 4>it is actually with a tree. So with a tree we,

195
00:09:36.360 --> 00:09:38.279
<v Speaker 4>like I said, it was an issue that we add,

196
00:09:38.519 --> 00:09:42.360
<v Speaker 4>so we also added those capabilities to our tool. And

197
00:09:42.639 --> 00:09:45.960
<v Speaker 4>if you are checking for policies, there's also pre acquisites

198
00:09:46.039 --> 00:09:48.279
<v Speaker 4>that we will check. So we will check that you

199
00:09:48.320 --> 00:09:50.799
<v Speaker 4>have a valid Cubernetes file, and if it's a valid

200
00:09:50.840 --> 00:09:53.679
<v Speaker 4>Cubernetes file, it will also check to make sure that

201
00:09:54.240 --> 00:09:58.519
<v Speaker 4>it's also passing the policy that you define on the organization.

202
00:09:58.960 --> 00:10:00.519
<v Speaker 3>So this is also something that you can do.

203
00:10:00.799 --> 00:10:04.399
<v Speaker 4>I will also say that another thing that is interesting

204
00:10:04.879 --> 00:10:06.840
<v Speaker 4>and I wrote in the article, is that you have

205
00:10:06.840 --> 00:10:08.440
<v Speaker 4>another flag with cube cattle.

206
00:10:08.720 --> 00:10:11.799
<v Speaker 3>So we have two modes. You have several mode and

207
00:10:11.840 --> 00:10:12.759
<v Speaker 3>you have client modes.

208
00:10:12.919 --> 00:10:16.879
<v Speaker 4>Basically you can check both of them requiring you to

209
00:10:16.919 --> 00:10:19.799
<v Speaker 4>have a connection to a cluster. Something is think that

210
00:10:19.840 --> 00:10:23.480
<v Speaker 4>I discovered was that actually there's an open bug in

211
00:10:23.559 --> 00:10:29.519
<v Speaker 4>the Kubernettis project, and the open flag is saying yeah, yeah, yeah,

212
00:10:29.559 --> 00:10:32.360
<v Speaker 4>among those one thousand bucks that are opened there, and

213
00:10:32.559 --> 00:10:36.519
<v Speaker 4>this open bug is actually saying that this is not

214
00:10:36.559 --> 00:10:37.720
<v Speaker 4>the expected results.

215
00:10:37.879 --> 00:10:38.960
<v Speaker 3>If you're using.

216
00:10:38.720 --> 00:10:42.840
<v Speaker 4>The flag dry run but on the buts a client mode,

217
00:10:43.000 --> 00:10:45.679
<v Speaker 4>it should not need to have a connection to a cluster.

218
00:10:46.000 --> 00:10:48.480
<v Speaker 4>But right now it's not walking, so it's still requiring

219
00:10:48.559 --> 00:10:51.200
<v Speaker 4>you to have a connection to a cluster. Another interesting thing,

220
00:10:51.360 --> 00:10:54.879
<v Speaker 4>and this is also I explained in the article, is

221
00:10:54.879 --> 00:10:57.600
<v Speaker 4>that there is a discrepancy between the validation that I've

222
00:10:57.759 --> 00:11:01.000
<v Speaker 4>done on the client side and the validations that are

223
00:11:01.039 --> 00:11:03.840
<v Speaker 4>done on the SEVI side if you're using cube cutted.

224
00:11:04.279 --> 00:11:07.200
<v Speaker 6>So answer question, well, now, go ahead, go ahead, and

225
00:11:07.200 --> 00:11:07.960
<v Speaker 6>then I'll argue with you.

226
00:11:08.039 --> 00:11:08.440
<v Speaker 3>That's fine.

227
00:11:08.559 --> 00:11:11.279
<v Speaker 4>So just to wrap it up, the best way to

228
00:11:11.320 --> 00:11:14.159
<v Speaker 4>do that is as soon as possible, you should run

229
00:11:14.279 --> 00:11:19.639
<v Speaker 4>those validations across the entire process from your local environment

230
00:11:20.039 --> 00:11:24.120
<v Speaker 4>through ci CD and just before you're going to deploy

231
00:11:24.159 --> 00:11:26.919
<v Speaker 4>it or any other automation process that you have staging,

232
00:11:27.039 --> 00:11:29.480
<v Speaker 4>production whatever, do is as soon as possible, and do

233
00:11:29.559 --> 00:11:30.159
<v Speaker 4>it all the time.

234
00:11:30.320 --> 00:11:32.200
<v Speaker 6>I actually wanted to argue with you a little bit

235
00:11:32.200 --> 00:11:34.919
<v Speaker 6>on a point about not having access to a cluster

236
00:11:34.960 --> 00:11:37.559
<v Speaker 6>while you're doing these validations. I would think you would

237
00:11:37.559 --> 00:11:39.600
<v Speaker 6>need access to a cluster, because what if I'm doing

238
00:11:39.639 --> 00:11:42.559
<v Speaker 6>like no affinity is or okay, that's the only case

239
00:11:42.600 --> 00:11:43.840
<v Speaker 6>that I can think of, actually is when I have

240
00:11:43.879 --> 00:11:46.080
<v Speaker 6>not affiinity. So I don't have a real strong case

241
00:11:46.080 --> 00:11:48.000
<v Speaker 6>to argue with you. But if I'm doing that right,

242
00:11:48.000 --> 00:11:49.559
<v Speaker 6>I would want for it to say, oh, you're setting

243
00:11:49.559 --> 00:11:51.879
<v Speaker 6>this note affidity on something that doesn't even exist, or

244
00:11:51.879 --> 00:11:53.639
<v Speaker 6>it doesn't make sense, or it's not going to come up,

245
00:11:53.720 --> 00:11:56.039
<v Speaker 6>or I don't know something like that. I would hope

246
00:11:56.039 --> 00:11:57.720
<v Speaker 6>it would be smart enough to tell me that you're

247
00:11:57.720 --> 00:11:59.559
<v Speaker 6>doing something wrong, and it would need to have a

248
00:11:59.600 --> 00:12:01.360
<v Speaker 6>connection car cluster to do that right.

249
00:12:01.679 --> 00:12:04.879
<v Speaker 4>So think about it like in big organizations that you

250
00:12:04.919 --> 00:12:09.799
<v Speaker 4>have a lot of developers and so usually we're saying CIS,

251
00:12:09.840 --> 00:12:12.440
<v Speaker 4>but we need to remember the CICD are two different steps,

252
00:12:12.600 --> 00:12:15.320
<v Speaker 4>and there are a lot of organizations that I'm familiar

253
00:12:15.320 --> 00:12:18.960
<v Speaker 4>with that the CI step is taking X amount of

254
00:12:19.080 --> 00:12:21.639
<v Speaker 4>time and only then coming to the city step. So

255
00:12:22.159 --> 00:12:25.840
<v Speaker 4>during the CI step that people keep changing the manifest,

256
00:12:25.960 --> 00:12:29.159
<v Speaker 4>it's not necessarily going to be deployed right away. So

257
00:12:29.600 --> 00:12:32.000
<v Speaker 4>at this step, then when you have the CI process,

258
00:12:32.159 --> 00:12:34.519
<v Speaker 4>you want to run different checks, but you also don't

259
00:12:34.559 --> 00:12:36.159
<v Speaker 4>want it to have a connection to your cluster.

260
00:12:36.519 --> 00:12:38.000
<v Speaker 3>Only when on the city.

261
00:12:37.679 --> 00:12:39.600
<v Speaker 4>Step you want to have a connection, you have to

262
00:12:39.639 --> 00:12:42.919
<v Speaker 4>have a connection to your cluster. So if you separate

263
00:12:42.960 --> 00:12:46.679
<v Speaker 4>those steps, which usually happening in big organizations, the CI

264
00:12:46.720 --> 00:12:48.279
<v Speaker 4>step don't have connection to your cluster.

265
00:12:48.480 --> 00:12:51.679
<v Speaker 5>So I'm looking through your article and some of the

266
00:12:52.200 --> 00:12:55.200
<v Speaker 5>you have this nice little table that compares cubevel and

267
00:12:55.279 --> 00:12:58.000
<v Speaker 5>cup perform against client mode and server mode of cup

268
00:12:58.039 --> 00:13:00.879
<v Speaker 5>pedal and what things were caught and what it didn't.

269
00:13:00.960 --> 00:13:02.919
<v Speaker 5>And I'm clicking on some of these here, and it

270
00:13:02.960 --> 00:13:04.919
<v Speaker 5>looks to me like in some of these cases it's

271
00:13:04.960 --> 00:13:09.120
<v Speaker 5>looking more for syntactic validity than contextual validity. I don't

272
00:13:09.120 --> 00:13:12.080
<v Speaker 5>know if that's the right phraseology there, But for example,

273
00:13:12.080 --> 00:13:14.000
<v Speaker 5>I look at the label value and it's the wrong.

274
00:13:14.080 --> 00:13:17.399
<v Speaker 5>Example has a label of dash dash stash, which is

275
00:13:17.440 --> 00:13:19.960
<v Speaker 5>just it's invalid. It's invalid syntax. It's not that it

276
00:13:20.200 --> 00:13:22.639
<v Speaker 5>that label. I guess My question here is does this

277
00:13:22.799 --> 00:13:25.440
<v Speaker 5>check that the label make sense or just that it's

278
00:13:25.440 --> 00:13:26.399
<v Speaker 5>syntactically valid.

279
00:13:26.639 --> 00:13:27.960
<v Speaker 3>So that's a good question.

280
00:13:28.240 --> 00:13:32.360
<v Speaker 4>So basically, there are different steps of validations that you

281
00:13:32.399 --> 00:13:34.559
<v Speaker 4>need to pass if you want to have a valid file.

282
00:13:35.000 --> 00:13:37.440
<v Speaker 4>So first of all, let's think about it like on

283
00:13:37.480 --> 00:13:39.600
<v Speaker 4>the general air view. You want to make sure that

284
00:13:39.639 --> 00:13:43.320
<v Speaker 4>all your cuberneties files have to be a valid diamined file.

285
00:13:43.399 --> 00:13:44.159
<v Speaker 3>That's first of all.

286
00:13:44.279 --> 00:13:46.840
<v Speaker 4>After that they have to be a valid Kubernetes file,

287
00:13:46.919 --> 00:13:49.919
<v Speaker 4>which means they need to follow a specific structure. After that,

288
00:13:50.480 --> 00:13:54.440
<v Speaker 4>the values inside those files need to be valid, and

289
00:13:55.000 --> 00:13:58.480
<v Speaker 4>different steps or different tools will catch different errows that

290
00:13:58.559 --> 00:14:00.639
<v Speaker 4>I just mentioned. So with a tree, you will catch

291
00:14:01.120 --> 00:14:03.320
<v Speaker 4>all theres, will make sure that it's a valid diamond file,

292
00:14:03.360 --> 00:14:05.559
<v Speaker 4>will make sure that it's a valid tubunetifier. Will also

293
00:14:05.600 --> 00:14:09.240
<v Speaker 4>make sure that the value is avalid and we cube valid.

294
00:14:09.360 --> 00:14:12.320
<v Speaker 4>It will make sure that it's only a valid Kuberneti structure.

295
00:14:12.600 --> 00:14:14.840
<v Speaker 4>So you have different vialiations that will make But by

296
00:14:14.840 --> 00:14:17.799
<v Speaker 4>the way cube Cattle, once you try to deploy it

297
00:14:17.799 --> 00:14:20.759
<v Speaker 4>to your cluster, it will make it will check all

298
00:14:20.840 --> 00:14:22.559
<v Speaker 4>the stuff that I mentioned, So it will also make

299
00:14:22.600 --> 00:14:24.360
<v Speaker 4>sure that it's diamal file to also make sure that

300
00:14:24.399 --> 00:14:27.440
<v Speaker 4>it's notified and also valid value. But again the problem

301
00:14:27.519 --> 00:14:29.919
<v Speaker 4>is that it's too late in the process, because it's

302
00:14:29.960 --> 00:14:31.919
<v Speaker 4>only when you want to deploy and you just want

303
00:14:31.919 --> 00:14:33.840
<v Speaker 4>to ship all this information to the.

304
00:14:33.840 --> 00:14:39.600
<v Speaker 3>Left to the right, right to the left, to the.

305
00:14:39.639 --> 00:14:43.039
<v Speaker 5>Left to left in Hebrew, also or do you shift

306
00:14:43.080 --> 00:14:43.919
<v Speaker 5>right since you're the other.

307
00:14:44.240 --> 00:14:46.440
<v Speaker 3>We read the opposite. That's the problem, you know, that's

308
00:14:46.480 --> 00:14:47.360
<v Speaker 3>why the confusion.

309
00:14:47.440 --> 00:14:50.399
<v Speaker 4>We're really from We're really from right to left, So

310
00:14:50.679 --> 00:14:51.879
<v Speaker 4>like make.

311
00:14:51.759 --> 00:14:59.840
<v Speaker 5>No sense the Japanese shift up, cultural adventures and DevOps.

312
00:15:00.200 --> 00:15:02.080
<v Speaker 5>I had a great question, and now I completely lost it.

313
00:15:02.200 --> 00:15:03.799
<v Speaker 2>You want to shop to come back?

314
00:15:05.799 --> 00:15:07.759
<v Speaker 6>I think, okay, Well, I was just thinking, you know,

315
00:15:08.320 --> 00:15:10.919
<v Speaker 6>like this whole idea of okay, we can say that

316
00:15:10.960 --> 00:15:13.480
<v Speaker 6>it's a valid YAMO file and the valid Kubernetes file,

317
00:15:13.559 --> 00:15:15.480
<v Speaker 6>but doesn't make sense. And to me that's always been

318
00:15:15.519 --> 00:15:18.320
<v Speaker 6>like such an interesting problem, like one of the more

319
00:15:18.360 --> 00:15:21.559
<v Speaker 6>interesting problems, especially because my background is high performance computing.

320
00:15:21.919 --> 00:15:23.799
<v Speaker 6>So anyways, I think that we show like a crossover

321
00:15:23.840 --> 00:15:26.559
<v Speaker 6>event with the machine learning people where we just make

322
00:15:26.639 --> 00:15:28.679
<v Speaker 6>them train a really big model on a whole bunch

323
00:15:28.679 --> 00:15:31.120
<v Speaker 6>of Kubernetes configurations where it makes.

324
00:15:30.960 --> 00:15:31.440
<v Speaker 2>Sense or not.

325
00:15:31.759 --> 00:15:33.200
<v Speaker 6>That might be the only way to do it is

326
00:15:33.240 --> 00:15:36.120
<v Speaker 6>have like a massive decision tree that nobody actually understands

327
00:15:36.159 --> 00:15:36.960
<v Speaker 6>that says yes or no.

328
00:15:39.240 --> 00:15:41.600
<v Speaker 2>I think you just described Kubernetes exactly.

329
00:15:44.679 --> 00:15:45.600
<v Speaker 6>Yeah, a little bit.

330
00:15:45.840 --> 00:15:48.559
<v Speaker 5>Okay, I remember my question. I'm curious what does your

331
00:15:48.799 --> 00:15:52.720
<v Speaker 5>workflow look like when you're working on Kubernetes manifests? Do

332
00:15:52.759 --> 00:15:56.480
<v Speaker 5>you run these tools in your editor for example on save?

333
00:15:56.840 --> 00:15:59.879
<v Speaker 5>Do you use githooks? Do you use CI pipelines? What

334
00:16:00.000 --> 00:16:01.559
<v Speaker 5>does your setup look like? How do you do this

335
00:16:01.600 --> 00:16:02.120
<v Speaker 5>in practice?

336
00:16:02.279 --> 00:16:08.399
<v Speaker 4>Well, I'm biased, a musing I own, but yeah, but

337
00:16:08.600 --> 00:16:11.360
<v Speaker 4>I'm telling you so what I usually see that people

338
00:16:11.360 --> 00:16:13.440
<v Speaker 4>are doing this is why we credit this tool, is

339
00:16:13.440 --> 00:16:16.960
<v Speaker 4>that they understand the value and they're trying to shift.

340
00:16:16.720 --> 00:16:18.600
<v Speaker 2>It left right.

341
00:16:18.639 --> 00:16:21.399
<v Speaker 4>You're trying to shift it left and they're doing it

342
00:16:21.440 --> 00:16:25.600
<v Speaker 4>with pre committos. That's one. Then it's implementing inside the CI.

343
00:16:26.080 --> 00:16:28.840
<v Speaker 4>The problem is that you need to implement a lot

344
00:16:28.879 --> 00:16:31.639
<v Speaker 4>of tooling in order to get those simple vialidations that

345
00:16:31.679 --> 00:16:34.480
<v Speaker 4>I just described. So you need to have volunteer for

346
00:16:34.600 --> 00:16:37.480
<v Speaker 4>your YAM. Fine, you have a to have a cubival

347
00:16:37.600 --> 00:16:40.840
<v Speaker 4>or cup performed for kubernettes. And then you need to

348
00:16:40.879 --> 00:16:45.559
<v Speaker 4>have some way to actually do the policy checks, which

349
00:16:45.600 --> 00:16:47.960
<v Speaker 4>can be performed with different tools that I have to

350
00:16:48.039 --> 00:16:53.440
<v Speaker 4>pause doructure files JQ for example. Just trying some ideas

351
00:16:53.559 --> 00:16:55.440
<v Speaker 4>if someone want to get crazy into it by himself.

352
00:16:55.960 --> 00:16:59.519
<v Speaker 4>So it's actually requiring a lot of cluing and a

353
00:16:59.519 --> 00:17:02.360
<v Speaker 4>lot of teaching and a lot of different tools that

354
00:17:02.480 --> 00:17:05.440
<v Speaker 4>need to walk together, which become to be like a

355
00:17:05.480 --> 00:17:07.279
<v Speaker 4>massive headache if you want.

356
00:17:07.160 --> 00:17:07.519
<v Speaker 2>To do that.

357
00:17:07.839 --> 00:17:09.640
<v Speaker 3>And this is why we build a tree.

358
00:17:09.680 --> 00:17:11.680
<v Speaker 4>We're trying to do it in one tool, make it simple,

359
00:17:11.880 --> 00:17:14.440
<v Speaker 4>make it fun so you can it's a sea light tool,

360
00:17:14.480 --> 00:17:15.920
<v Speaker 4>so we actually enforced it.

361
00:17:16.039 --> 00:17:17.799
<v Speaker 3>Or you can put it everywhere you want.

362
00:17:17.839 --> 00:17:20.240
<v Speaker 4>You can put it on your local environment, you can

363
00:17:20.240 --> 00:17:21.720
<v Speaker 4>put it in your CI, you can put it in

364
00:17:21.759 --> 00:17:24.279
<v Speaker 4>your city, you can put it everywhere and it will

365
00:17:24.319 --> 00:17:27.000
<v Speaker 4>do all those validation for you out of the box

366
00:17:27.200 --> 00:17:28.799
<v Speaker 4>and a really simple and easy way.

367
00:17:29.039 --> 00:17:30.920
<v Speaker 6>That's very cool. And is it all open source?

368
00:17:31.240 --> 00:17:32.079
<v Speaker 3>Yes? Yes?

369
00:17:32.400 --> 00:17:37.319
<v Speaker 4>And again like yeah, so there is a magic sauce

370
00:17:37.599 --> 00:17:39.400
<v Speaker 4>in the tree, Like it's not. We don't have a

371
00:17:39.440 --> 00:17:42.279
<v Speaker 4>secret API. We are not doing something that like every

372
00:17:42.279 --> 00:17:44.400
<v Speaker 4>developer can do. What we're doing it, and we are

373
00:17:44.440 --> 00:17:47.400
<v Speaker 4>totally okay with that. And the cool part is that

374
00:17:47.440 --> 00:17:51.039
<v Speaker 4>we're just trying to make it much more simple for you,

375
00:17:51.079 --> 00:17:53.240
<v Speaker 4>so you don't need to do it by yourself. So

376
00:17:53.279 --> 00:17:56.400
<v Speaker 4>you don't need to configure this plit commit and you

377
00:17:56.440 --> 00:17:58.920
<v Speaker 4>don't need to configure this and integration by the way

378
00:17:59.119 --> 00:18:01.160
<v Speaker 4>soever henp like, and so we can do it natively.

379
00:18:01.440 --> 00:18:03.680
<v Speaker 4>We just want to make sure that it's simple enough

380
00:18:03.680 --> 00:18:05.319
<v Speaker 4>for you to use our tool and not to try

381
00:18:05.319 --> 00:18:08.279
<v Speaker 4>to build it by yourself, because we all really believe

382
00:18:08.319 --> 00:18:11.400
<v Speaker 4>in buys is built, that you should be focused on

383
00:18:11.480 --> 00:18:14.240
<v Speaker 4>building great stuff that out of your coal business and

384
00:18:14.279 --> 00:18:16.640
<v Speaker 4>not try to build and not try to build stuff

385
00:18:16.680 --> 00:18:19.000
<v Speaker 4>that are not and you should prefer to buy them.

386
00:18:19.640 --> 00:18:22.119
<v Speaker 4>So this is how we think about it, and this

387
00:18:22.200 --> 00:18:25.200
<v Speaker 4>is why we're always trying to make sure that we well,

388
00:18:25.240 --> 00:18:26.480
<v Speaker 4>we always want to make sure.

389
00:18:26.319 --> 00:18:28.240
<v Speaker 3>That all the stuff that we're doing will give you

390
00:18:28.240 --> 00:18:29.160
<v Speaker 3>a value as a user.

391
00:18:29.359 --> 00:18:31.400
<v Speaker 6>That's very cool. You said something I didn't quite touch.

392
00:18:31.400 --> 00:18:33.880
<v Speaker 6>There's a plug in for something, was it, Homer?

393
00:18:34.160 --> 00:18:34.279
<v Speaker 3>Was it?

394
00:18:34.480 --> 00:18:34.640
<v Speaker 7>Yeah?

395
00:18:34.720 --> 00:18:38.279
<v Speaker 4>Yeah, yeah, So you asked about the nice so I

396
00:18:38.359 --> 00:18:40.559
<v Speaker 4>mentioned because we ask about them. So, for example, we

397
00:18:40.640 --> 00:18:43.519
<v Speaker 4>have a native hamp plugging so when you're doing ham

398
00:18:43.599 --> 00:18:46.799
<v Speaker 4>in stall, it will do all those validations, which actually

399
00:18:46.799 --> 00:18:49.200
<v Speaker 4>to make sure that is a validamter file, to make

400
00:18:49.200 --> 00:18:51.480
<v Speaker 4>sure that it's a Kuberneties file, to make sure that

401
00:18:51.519 --> 00:18:54.279
<v Speaker 4>it's passing the policy, and it's all being integrated inside

402
00:18:54.279 --> 00:18:56.920
<v Speaker 4>hands so we don't need to do the HAMP template,

403
00:18:57.119 --> 00:19:00.920
<v Speaker 4>pipe it into keep cuttail, run it with dry hand

404
00:19:01.000 --> 00:19:03.720
<v Speaker 4>flag or with cube val or whatever stuff like that.

405
00:19:03.920 --> 00:19:06.319
<v Speaker 6>Cool. Does it integrate with like any of the code

406
00:19:06.400 --> 00:19:08.319
<v Speaker 6>editors too, Like will it tell me in nice big

407
00:19:08.359 --> 00:19:11.559
<v Speaker 6>red leaders, because like I really need those reds telling me,

408
00:19:11.799 --> 00:19:13.200
<v Speaker 6>but I'm doing something stupid.

409
00:19:13.359 --> 00:19:17.880
<v Speaker 3>If not, it's it's on the road map.

410
00:19:17.920 --> 00:19:20.039
<v Speaker 4>It's only on the road map because we really believe

411
00:19:20.079 --> 00:19:22.359
<v Speaker 4>that we need to give this feedback about the validation

412
00:19:22.680 --> 00:19:25.359
<v Speaker 4>as soon as possible, and on the road BAMP is

413
00:19:25.359 --> 00:19:28.039
<v Speaker 4>to also put it inside your ID and if it's

414
00:19:28.039 --> 00:19:31.160
<v Speaker 4>possible also in when you think about doing a misconfiguration

415
00:19:31.240 --> 00:19:36.839
<v Speaker 4>to also be integrated there inside your head, you get like.

416
00:19:36.799 --> 00:19:39.240
<v Speaker 2>A buzz what do you call that? CRD?

417
00:19:41.160 --> 00:19:42.680
<v Speaker 3>Not sure? Not sure? We need to think about the

418
00:19:42.759 --> 00:19:43.160
<v Speaker 3>name for that.

419
00:19:44.200 --> 00:19:46.319
<v Speaker 5>So I'm really curious about how this works with Helm

420
00:19:46.480 --> 00:19:50.240
<v Speaker 5>because obviously Helm isn't purely deterministic in the sense that

421
00:19:50.640 --> 00:19:53.519
<v Speaker 5>depending on what values values you provide, you could have

422
00:19:53.640 --> 00:19:57.920
<v Speaker 5>an infant possibility of actual kubernes manifests to come out.

423
00:19:58.039 --> 00:20:00.839
<v Speaker 5>How do you handle that? I mean, for example, I'm

424
00:20:00.839 --> 00:20:03.079
<v Speaker 5>thinking of the chart testing or CT tool. I don't

425
00:20:03.079 --> 00:20:04.759
<v Speaker 5>know if you're familiar with that, but it lets you

426
00:20:04.839 --> 00:20:06.720
<v Speaker 5>define like a list of You could give it a

427
00:20:06.720 --> 00:20:09.440
<v Speaker 5>directly full of values gamble files and it will just

428
00:20:09.519 --> 00:20:11.279
<v Speaker 5>test against each one of those. Do you have something

429
00:20:11.319 --> 00:20:12.839
<v Speaker 5>similar or how do you approach that?

430
00:20:13.160 --> 00:20:15.720
<v Speaker 3>So again, this is a really good question, but we

431
00:20:15.799 --> 00:20:17.960
<v Speaker 3>need to remember in the end of.

432
00:20:18.039 --> 00:20:22.079
<v Speaker 4>Every helm file there is a couberneties file, so we

433
00:20:22.119 --> 00:20:24.799
<v Speaker 4>are not checking the value file separately and the child

434
00:20:24.839 --> 00:20:28.000
<v Speaker 4>files separately. What we're doing is that we're rendering it

435
00:20:28.039 --> 00:20:30.559
<v Speaker 4>together and then we're running the checks on top of it.

436
00:20:31.039 --> 00:20:33.680
<v Speaker 4>So in the end it's just a manifest file that

437
00:20:33.799 --> 00:20:37.000
<v Speaker 4>is random from hand value and then child that is

438
00:20:37.000 --> 00:20:40.720
<v Speaker 4>combined together. So it doesn't really matter how you do

439
00:20:40.799 --> 00:20:42.200
<v Speaker 4>the templating.

440
00:20:42.039 --> 00:20:42.720
<v Speaker 3>From the all side.

441
00:20:42.759 --> 00:20:45.000
<v Speaker 4>You can use which key invirues that you want, because

442
00:20:45.000 --> 00:20:48.000
<v Speaker 4>in the end to will be translated into a Kubernettis file.

443
00:20:48.240 --> 00:20:50.480
<v Speaker 4>So we're just running it on the end result, which

444
00:20:50.519 --> 00:20:51.799
<v Speaker 4>is the coupnettis file itself.

445
00:20:51.960 --> 00:20:54.839
<v Speaker 5>But if by values, suppose I have one value file

446
00:20:54.880 --> 00:20:57.400
<v Speaker 5>that says ingress true and one it says ingress falls.

447
00:20:57.440 --> 00:21:01.440
<v Speaker 5>That could help a completely different manifests completely different resources

448
00:21:01.440 --> 00:21:03.599
<v Speaker 5>to find, and I might want to validate both versions.

449
00:21:03.720 --> 00:21:05.960
<v Speaker 5>Does your helm plug in automate that for me? Or

450
00:21:05.960 --> 00:21:08.440
<v Speaker 5>do I just need to have two lines in my

451
00:21:08.519 --> 00:21:10.200
<v Speaker 5>sea ice script that says run it this way and

452
00:21:10.240 --> 00:21:11.000
<v Speaker 5>also run it that way.

453
00:21:11.319 --> 00:21:15.160
<v Speaker 4>So if i'd the sun correctly, you're asking if I

454
00:21:15.160 --> 00:21:17.519
<v Speaker 4>can run it in if I can have like two

455
00:21:17.559 --> 00:21:21.160
<v Speaker 4>different policies because I have different permutations for the same

456
00:21:21.200 --> 00:21:21.680
<v Speaker 4>held file.

457
00:21:22.039 --> 00:21:23.680
<v Speaker 5>Yeah, I mean, so I suppose I have a homestart

458
00:21:23.720 --> 00:21:28.200
<v Speaker 5>that just deploys WordPress or whatever, and in one variation

459
00:21:28.440 --> 00:21:31.920
<v Speaker 5>one of my configurations, say, disables the ingress, So I'm

460
00:21:31.920 --> 00:21:35.319
<v Speaker 5>no longer creating the ingress a resource in my in

461
00:21:35.359 --> 00:21:38.680
<v Speaker 5>my output, I'm not setting you know, several different things

462
00:21:38.680 --> 00:21:40.240
<v Speaker 5>that might not be created. I'm not creating an st

463
00:21:40.279 --> 00:21:43.000
<v Speaker 5>CL certificate and so on. My output manifest is going

464
00:21:43.039 --> 00:21:45.519
<v Speaker 5>to be significantly smaller with fewer resources in it than

465
00:21:45.559 --> 00:21:48.119
<v Speaker 5>if I had enabled ingress. And maybe I want to

466
00:21:48.279 --> 00:21:51.240
<v Speaker 5>validate both versions of that using your tool. What what

467
00:21:51.440 --> 00:21:52.880
<v Speaker 5>steps do I take to accomplish that?

468
00:21:53.240 --> 00:21:57.319
<v Speaker 4>Yeah, So basically, again it doesn't matter like we revitedate

469
00:21:57.400 --> 00:22:00.559
<v Speaker 4>both versions. So there is a logic insight your code

470
00:22:00.559 --> 00:22:05.039
<v Speaker 4>that will trigger one of them. Correct, So the version

471
00:22:05.039 --> 00:22:07.240
<v Speaker 4>that is triggered, this is also what will be passed

472
00:22:07.279 --> 00:22:09.839
<v Speaker 4>to the tree. And this is what we also be validated,

473
00:22:10.079 --> 00:22:12.559
<v Speaker 4>and we'll give you the indication of its passingle failing

474
00:22:12.839 --> 00:22:17.880
<v Speaker 4>the same that the same this mechanism that's triggating your.

475
00:22:17.799 --> 00:22:19.640
<v Speaker 3>Helm is the same one that will be passed to

476
00:22:19.720 --> 00:22:20.000
<v Speaker 3>the tree.

477
00:22:20.200 --> 00:22:22.839
<v Speaker 6>Yeah. So the validate runs on the like helme install

478
00:22:22.920 --> 00:22:23.559
<v Speaker 6>or helm up.

479
00:22:23.480 --> 00:22:26.079
<v Speaker 3>Grat command right exactly exactly.

480
00:22:25.799 --> 00:22:27.839
<v Speaker 6>Not beforehand. Then how are you going to integrate it

481
00:22:27.880 --> 00:22:28.440
<v Speaker 6>with an editor?

482
00:22:28.640 --> 00:22:29.319
<v Speaker 3>With the editor?

483
00:22:29.680 --> 00:22:32.039
<v Speaker 6>Yeah, because if it's in an editor, it's before that

484
00:22:32.119 --> 00:22:32.759
<v Speaker 6>helme install.

485
00:22:33.079 --> 00:22:35.559
<v Speaker 3>You're right, And this is a challenge. This is something

486
00:22:35.599 --> 00:22:37.480
<v Speaker 3>that went into solved by don't have all the answers

487
00:22:37.599 --> 00:22:39.440
<v Speaker 3>right now. This is something that we're working on.

488
00:22:39.559 --> 00:22:41.960
<v Speaker 6>That's interesting. That's where you need the decision tree.

489
00:22:42.799 --> 00:22:44.680
<v Speaker 3>Probably, this is why we call the tree.

490
00:22:46.400 --> 00:22:49.680
<v Speaker 6>Well, I've been seeing people have validating their values file

491
00:22:49.880 --> 00:22:52.720
<v Speaker 6>also with an additional Jason Schema, and it seems like

492
00:22:52.720 --> 00:22:54.880
<v Speaker 6>you will kind of work something like that out to

493
00:22:54.960 --> 00:22:57.400
<v Speaker 6>sort of them have these trees that are like, oh,

494
00:22:57.400 --> 00:22:59.640
<v Speaker 6>if you have a Boolean value, it should you know,

495
00:22:59.640 --> 00:23:01.400
<v Speaker 6>it should track for both the true and the falls

496
00:23:01.440 --> 00:23:04.000
<v Speaker 6>and these kind of things. But I don't know. I'm

497
00:23:04.000 --> 00:23:05.000
<v Speaker 6>glad you're building.

498
00:23:04.680 --> 00:23:05.119
<v Speaker 7>It and not me.

499
00:23:05.240 --> 00:23:05.920
<v Speaker 6>That's very cool.

500
00:23:07.880 --> 00:23:10.559
<v Speaker 4>So you're right, I also saw it. You can do

501
00:23:10.599 --> 00:23:13.160
<v Speaker 4>it with Jason GiMA is sorry, you can do it

502
00:23:13.200 --> 00:23:16.839
<v Speaker 4>with Jason Schema. The problem is it's taking it's a

503
00:23:16.839 --> 00:23:20.200
<v Speaker 4>lot of folk to do that, and also actually it's

504
00:23:20.240 --> 00:23:22.400
<v Speaker 4>taken a lot of maintaining to make sure that it's

505
00:23:22.440 --> 00:23:25.359
<v Speaker 4>always up to date, which is more hardened than just

506
00:23:25.400 --> 00:23:27.920
<v Speaker 4>writing it. But it's not that common that people this

507
00:23:28.039 --> 00:23:29.880
<v Speaker 4>is the best practice, but it's not that common that

508
00:23:29.920 --> 00:23:33.640
<v Speaker 4>people are doing that. And usually they're like just doing

509
00:23:33.680 --> 00:23:37.079
<v Speaker 4>the validation itself and not on the values separately or

510
00:23:37.119 --> 00:23:40.240
<v Speaker 4>on the child separately. They're doing the validation on what's

511
00:23:40.279 --> 00:23:42.000
<v Speaker 4>coming out from combining in the both.

512
00:23:42.200 --> 00:23:44.359
<v Speaker 6>That's true. I tend to just cross my fingers and

513
00:23:44.400 --> 00:23:47.119
<v Speaker 6>pray on all the times that I commit to get help.

514
00:23:47.519 --> 00:23:49.119
<v Speaker 1>Yeah, so I think one of the things that was

515
00:23:49.119 --> 00:23:52.160
<v Speaker 1>cool in your article here, because I know in my

516
00:23:52.279 --> 00:23:56.599
<v Speaker 1>experience a lot of pushback I've experienced in trying to

517
00:23:57.440 --> 00:24:01.599
<v Speaker 1>implement different solutions like this is how much time it

518
00:24:01.680 --> 00:24:03.880
<v Speaker 1>takes or how much you know, people don't want to

519
00:24:03.920 --> 00:24:07.240
<v Speaker 1>do it because they have this this idea that it's

520
00:24:07.279 --> 00:24:10.039
<v Speaker 1>going to slow them down. But you actually did quite

521
00:24:10.039 --> 00:24:13.519
<v Speaker 1>a bit of benchmarking on this right to see exactly

522
00:24:13.519 --> 00:24:15.400
<v Speaker 1>what to slow down or impact would be.

523
00:24:15.920 --> 00:24:18.960
<v Speaker 4>Yeah, so this is something that it was interesting to

524
00:24:19.000 --> 00:24:22.359
<v Speaker 4>me to see because why I check the different possibilities

525
00:24:22.440 --> 00:24:25.640
<v Speaker 4>about how can I have how can actually have overcome

526
00:24:26.119 --> 00:24:30.640
<v Speaker 4>the problem of scheme of validation. I noticed that when

527
00:24:30.680 --> 00:24:33.400
<v Speaker 4>I'm doing it with cube cattle and I'm doing it

528
00:24:33.440 --> 00:24:36.720
<v Speaker 4>with the salvable actually taking a lot of time to

529
00:24:36.720 --> 00:24:40.680
<v Speaker 4>get the results back. So it said, hmm, what would

530
00:24:40.680 --> 00:24:42.759
<v Speaker 4>happen if I would do it like one other times,

531
00:24:43.519 --> 00:24:46.160
<v Speaker 4>you know, like developments to take it to that, and

532
00:24:47.440 --> 00:24:50.519
<v Speaker 4>then I actually benchmark all the tools and how much

533
00:24:50.559 --> 00:24:52.039
<v Speaker 4>time to take them to do the validation.

534
00:24:52.680 --> 00:24:54.480
<v Speaker 3>It was so just to.

535
00:24:54.440 --> 00:24:57.440
<v Speaker 4>Give you the summer of that cube conform is doing

536
00:24:57.480 --> 00:24:59.960
<v Speaker 4>it the best way. It's actually giving the results really

537
00:25:00.119 --> 00:25:03.119
<v Speaker 4>really fast. After that you have cube revalve. That's also

538
00:25:03.160 --> 00:25:06.240
<v Speaker 4>giving the result fast. Again, it's like on milli seconds

539
00:25:06.480 --> 00:25:09.119
<v Speaker 4>for a regular usage, not when you're trying to scan

540
00:25:09.240 --> 00:25:11.880
<v Speaker 4>one of the couplets files. So as a user you

541
00:25:11.920 --> 00:25:14.039
<v Speaker 4>won't actually notice that, so you can say that it's

542
00:25:14.039 --> 00:25:17.240
<v Speaker 4>almost the same when you're running it with CU cuttle

543
00:25:17.400 --> 00:25:20.480
<v Speaker 4>on the sever side on the several mode. So yes,

544
00:25:20.519 --> 00:25:22.640
<v Speaker 4>it's taking longer, but it's not like it's going to

545
00:25:22.680 --> 00:25:24.119
<v Speaker 4>take you ten minutes.

546
00:25:24.240 --> 00:25:26.359
<v Speaker 3>It's just going to take a little bit longer.

547
00:25:26.680 --> 00:25:29.319
<v Speaker 4>So if we think about it, we just said that

548
00:25:29.400 --> 00:25:33.640
<v Speaker 4>cube cuttle server mode it's the best validation, so we

549
00:25:33.680 --> 00:25:35.799
<v Speaker 4>don't really have an excuse why not to do that

550
00:25:36.200 --> 00:25:39.720
<v Speaker 4>because it's not going to add too much time to

551
00:25:39.799 --> 00:25:43.440
<v Speaker 4>your deployment process or something like that. The only issue

552
00:25:43.480 --> 00:25:46.960
<v Speaker 4>with doing it is that it's requiring you to have

553
00:25:47.000 --> 00:25:49.640
<v Speaker 4>a connection to a cluster, and as we already mentioned,

554
00:25:49.759 --> 00:25:52.759
<v Speaker 4>this is nothing that is not always possible. If you

555
00:25:52.799 --> 00:25:54.960
<v Speaker 4>want to go as soon as possible with the shift

556
00:25:55.039 --> 00:25:57.400
<v Speaker 4>left approach and you want to do the validation on

557
00:25:57.440 --> 00:26:00.599
<v Speaker 4>the CI locally, would.

558
00:26:00.359 --> 00:26:03.200
<v Speaker 2>It be possible to run the server mode test against

559
00:26:03.240 --> 00:26:06.359
<v Speaker 2>a test server like say running in kind or mini

560
00:26:06.400 --> 00:26:08.160
<v Speaker 2>cube or something like that, or does it really need

561
00:26:08.160 --> 00:26:10.920
<v Speaker 2>to be your production server with all your existing crds

562
00:26:10.920 --> 00:26:11.640
<v Speaker 2>and everything is tolled.

563
00:26:11.960 --> 00:26:13.200
<v Speaker 3>Yeah, perfect question.

564
00:26:13.559 --> 00:26:16.440
<v Speaker 4>So you can do it with Minicube and then you

565
00:26:16.480 --> 00:26:19.000
<v Speaker 4>can do it also in the CI or whatever.

566
00:26:19.079 --> 00:26:21.920
<v Speaker 3>But then you need to remember it's have to have

567
00:26:22.119 --> 00:26:25.640
<v Speaker 3>the same environment like your production.

568
00:26:26.200 --> 00:26:28.720
<v Speaker 4>So if you have a name space that exists on

569
00:26:28.799 --> 00:26:32.680
<v Speaker 4>production but don't exist on Mini Cube, it will fail

570
00:26:33.039 --> 00:26:35.279
<v Speaker 4>because you try to deploy a file, you'll tell you, oh,

571
00:26:35.359 --> 00:26:38.240
<v Speaker 4>I don't know this name space which is called Jonathan

572
00:26:38.400 --> 00:26:40.400
<v Speaker 4>or whatever, because you have it on production. So it's

573
00:26:40.400 --> 00:26:43.400
<v Speaker 4>a very tile but it will fail your your failure.

574
00:26:43.599 --> 00:26:46.319
<v Speaker 4>It will fail on the CI. So this is something

575
00:26:46.359 --> 00:26:48.039
<v Speaker 4>that you can do. You can actually have a Mini

576
00:26:48.079 --> 00:26:50.839
<v Speaker 4>cube set it up like your production again, but again

577
00:26:50.880 --> 00:26:54.440
<v Speaker 4>it's like with the checking your it's like building schema validation.

578
00:26:54.759 --> 00:26:58.400
<v Speaker 4>So it's like building the adjacent schema problem. You need

579
00:26:58.400 --> 00:27:00.400
<v Speaker 4>to maintain it, you need to build it. It's a

580
00:27:00.440 --> 00:27:01.079
<v Speaker 4>lot of heaving.

581
00:27:01.319 --> 00:27:03.839
<v Speaker 6>Yeah, I think we could argue forever about like mocking

582
00:27:03.880 --> 00:27:06.799
<v Speaker 6>out infrastructure versus actually building it. For me. That's one

583
00:27:06.799 --> 00:27:08.960
<v Speaker 6>of those pendulums that swung back and forth, and now

584
00:27:08.960 --> 00:27:11.079
<v Speaker 6>I'm on the other side where I'm like, no, people

585
00:27:11.119 --> 00:27:12.440
<v Speaker 6>are going to pay for me to have like the

586
00:27:12.480 --> 00:27:15.240
<v Speaker 6>same setup and cis in production, so that I just

587
00:27:15.279 --> 00:27:17.640
<v Speaker 6>have something real that I can test against, because it's just,

588
00:27:17.680 --> 00:27:19.640
<v Speaker 6>you know, too many times running up against this kind

589
00:27:19.680 --> 00:27:22.880
<v Speaker 6>of thing that the CI infrastructure ends up not being

590
00:27:22.920 --> 00:27:25.039
<v Speaker 6>the same no matter how long you take to make it.

591
00:27:25.200 --> 00:27:25.480
<v Speaker 3>Yeah.

592
00:27:25.599 --> 00:27:28.640
<v Speaker 4>Yeah, it's a huge fool by itself just to sink everything,

593
00:27:28.799 --> 00:27:31.640
<v Speaker 4>like to think this is something that is going to

594
00:27:31.680 --> 00:27:34.480
<v Speaker 4>be lost somewhere and someone's going to forget about it,

595
00:27:34.640 --> 00:27:37.599
<v Speaker 4>and then it's going to annoy a developer really, really,

596
00:27:37.599 --> 00:27:39.440
<v Speaker 4>really really because you don't know why he's getting this

597
00:27:39.559 --> 00:27:42.759
<v Speaker 4>validation errow because it's like, I don't know what to

598
00:27:42.839 --> 00:27:43.119
<v Speaker 4>do with that.

599
00:27:44.079 --> 00:27:44.839
<v Speaker 3>And then there's.

600
00:27:44.720 --> 00:27:48.920
<v Speaker 4>Devils guy that forgot to actually sink the mini cube

601
00:27:49.000 --> 00:27:50.839
<v Speaker 4>with that, you know it's going to fall in between

602
00:27:50.880 --> 00:27:52.079
<v Speaker 4>the correct somewhere for sure.

603
00:27:52.319 --> 00:27:54.000
<v Speaker 2>I'm old. I'm going to start using this.

604
00:27:54.000 --> 00:27:56.759
<v Speaker 3>Tool me too.

605
00:27:57.000 --> 00:27:58.839
<v Speaker 6>Do you have a GitHub actions for it? Can I

606
00:27:58.920 --> 00:28:00.200
<v Speaker 6>just tuck that up right now?

607
00:28:00.640 --> 00:28:05.200
<v Speaker 4>And so actually, so I have an example in the ouducts.

608
00:28:05.240 --> 00:28:08.119
<v Speaker 4>We have an example about how to implement this side

609
00:28:08.319 --> 00:28:11.200
<v Speaker 4>a guit ub action workflow. We still don't have a

610
00:28:11.240 --> 00:28:14.319
<v Speaker 4>git up action per se. It's something that we will

611
00:28:14.319 --> 00:28:17.279
<v Speaker 4>build soon. It's just the amount of integration that we

612
00:28:17.319 --> 00:28:19.680
<v Speaker 4>need to build is just enormous.

613
00:28:20.000 --> 00:28:22.279
<v Speaker 3>So yeah, yeah.

614
00:28:22.039 --> 00:28:25.079
<v Speaker 4>So we need to have like a secret CIO and

615
00:28:25.200 --> 00:28:28.640
<v Speaker 4>you need to have a ID integration, and you need

616
00:28:28.680 --> 00:28:30.720
<v Speaker 4>to have a hand plug in. So it's something that

617
00:28:30.759 --> 00:28:32.799
<v Speaker 4>we keep walking on. And by the way, we also

618
00:28:32.839 --> 00:28:36.200
<v Speaker 4>have like an open issue on that in our Gita propository.

619
00:28:36.279 --> 00:28:39.000
<v Speaker 4>So if someone want to suggest another integration, feel free

620
00:28:39.000 --> 00:28:41.759
<v Speaker 4>because this is something that we always keep updating. For example,

621
00:28:41.759 --> 00:28:43.480
<v Speaker 4>someone said like, hey, we need you need to have

622
00:28:43.519 --> 00:28:45.839
<v Speaker 4>a homeproove. You need to be installed with homepoop, not

623
00:28:46.039 --> 00:28:49.640
<v Speaker 4>with a one liner. So we are listening to the community.

624
00:28:49.759 --> 00:28:53.160
<v Speaker 4>And the cool part is that actually there's a company

625
00:28:53.519 --> 00:28:56.720
<v Speaker 4>behind this open source, so there are people that are

626
00:28:56.720 --> 00:28:59.680
<v Speaker 4>working on that full time. So every issue that is

627
00:28:59.680 --> 00:29:02.240
<v Speaker 4>open is also issues that were addressed, and every box

628
00:29:02.359 --> 00:29:04.680
<v Speaker 4>that someone is opening is a bucket that someone is

629
00:29:04.680 --> 00:29:07.839
<v Speaker 4>trying to fix or to resolve, not like with Kubernetes

630
00:29:08.039 --> 00:29:09.720
<v Speaker 4>that you have one thousand bucks and no one to

631
00:29:09.799 --> 00:29:12.480
<v Speaker 4>actually try to understand if they are valid bugs or not.

632
00:29:14.039 --> 00:29:16.440
<v Speaker 5>Yeah, it is cool. What's the business model this company

633
00:29:16.519 --> 00:29:19.160
<v Speaker 5>is employing? Is there is there a commercial version of

634
00:29:19.200 --> 00:29:21.319
<v Speaker 5>the software available or do there sell other commercial products?

635
00:29:21.359 --> 00:29:22.279
<v Speaker 2>How does just fit into that?

636
00:29:22.279 --> 00:29:25.400
<v Speaker 4>Because system Yeah, So, like I mentioned, I started as

637
00:29:25.400 --> 00:29:29.480
<v Speaker 4>a developer and when we thought about this solution we want,

638
00:29:29.640 --> 00:29:32.880
<v Speaker 4>we had one agenda, and it's to make sure the

639
00:29:32.960 --> 00:29:36.960
<v Speaker 4>developers will enjoy using this tool and it'll be useful

640
00:29:37.000 --> 00:29:39.240
<v Speaker 4>also without paying for you because like I said, you

641
00:29:39.240 --> 00:29:42.039
<v Speaker 4>can always be the by you some So our goal

642
00:29:42.119 --> 00:29:45.160
<v Speaker 4>is not to convert a single developer or a small

643
00:29:45.200 --> 00:29:48.079
<v Speaker 4>team or team of tender velperlse. Our goal is to

644
00:29:48.160 --> 00:29:52.440
<v Speaker 4>convert or to monetize big organizations that appreciate what they're

645
00:29:52.480 --> 00:29:54.799
<v Speaker 4>doing and getting the value. So we have like enterprise

646
00:29:54.880 --> 00:29:58.480
<v Speaker 4>grade features that are more relevant for those kinds of

647
00:29:58.680 --> 00:30:02.839
<v Speaker 4>requirements you know, like as so custom support stuff like that.

648
00:30:03.039 --> 00:30:05.880
<v Speaker 4>For regular usage of the tool, you won't mind that,

649
00:30:06.039 --> 00:30:07.759
<v Speaker 4>and we don't have for example, we don't have feature.

650
00:30:08.359 --> 00:30:10.920
<v Speaker 4>You're getting all the features that we have and you

651
00:30:10.960 --> 00:30:13.839
<v Speaker 4>don't need to pay that. So the business model is

652
00:30:13.920 --> 00:30:17.119
<v Speaker 4>basically based on the fact that some features that are

653
00:30:17.160 --> 00:30:20.960
<v Speaker 4>not relevant to any other people all gated, which are

654
00:30:21.160 --> 00:30:23.960
<v Speaker 4>like I mentioned so and stuff that custom support stuff

655
00:30:24.000 --> 00:30:27.240
<v Speaker 4>like that. But we also have the limit of policy

656
00:30:27.319 --> 00:30:30.839
<v Speaker 4>checks that you can run, which is today one thousands

657
00:30:30.960 --> 00:30:34.240
<v Speaker 4>every month, and it's almost impossible to pass it.

658
00:30:35.920 --> 00:30:44.000
<v Speaker 3>Also on this kind of show. No, no, I'm sorry

659
00:30:44.000 --> 00:30:44.359
<v Speaker 3>about that.

660
00:30:44.680 --> 00:30:47.519
<v Speaker 4>I'm sorry, okay, So I'll give you Okay, So we

661
00:30:47.599 --> 00:30:50.400
<v Speaker 4>said the number for one thousand because we know that

662
00:30:50.400 --> 00:30:51.200
<v Speaker 4>people should not.

663
00:30:51.240 --> 00:30:53.200
<v Speaker 3>Pass it, not because you can't. You can't pass it

664
00:30:53.319 --> 00:30:54.319
<v Speaker 3>right on.

665
00:30:54.279 --> 00:30:56.880
<v Speaker 4>A regular basic if you want to use the tool

666
00:30:56.920 --> 00:30:59.160
<v Speaker 4>and get the value. There's no reason for you to

667
00:30:59.319 --> 00:31:02.400
<v Speaker 4>do so many any validation if you're not a huge

668
00:31:02.559 --> 00:31:03.880
<v Speaker 4>enterprise organization.

669
00:31:04.160 --> 00:31:07.599
<v Speaker 6>Basically, I had the doctor Pollard a couple of weeks ago.

670
00:31:07.640 --> 00:31:09.240
<v Speaker 6>I couldn't figure out what was happening.

671
00:31:11.559 --> 00:31:14.680
<v Speaker 2>No, okay, I didn't even know they had to pull limit.

672
00:31:14.920 --> 00:31:17.519
<v Speaker 6>Yeah, they just yeah number something.

673
00:31:18.039 --> 00:31:22.920
<v Speaker 4>Yeah, it's funny story about that. So they're also doing

674
00:31:22.960 --> 00:31:25.079
<v Speaker 4>some checks to make sure that you're not did those

675
00:31:25.079 --> 00:31:26.519
<v Speaker 4>things that you're not doing.

676
00:31:26.319 --> 00:31:27.960
<v Speaker 3>That does attack on them.

677
00:31:28.079 --> 00:31:30.279
<v Speaker 4>So let me give you a story about you know

678
00:31:30.279 --> 00:31:31.799
<v Speaker 4>what they do. The name of the company because they're

679
00:31:31.799 --> 00:31:34.599
<v Speaker 4>actually talking about it by myself. So there's a company

680
00:31:34.640 --> 00:31:36.839
<v Speaker 4>called Data Dog and I don't know if you're familiar

681
00:31:36.839 --> 00:31:39.039
<v Speaker 4>with them, and data Dog.

682
00:31:39.319 --> 00:31:43.319
<v Speaker 3>Yeah, so they have a configuration the kubernetties.

683
00:31:42.880 --> 00:31:46.480
<v Speaker 4>And part of the part of the configuration was that

684
00:31:46.519 --> 00:31:48.960
<v Speaker 4>you always need you you always need to pull a

685
00:31:48.960 --> 00:31:52.359
<v Speaker 4>new image when the application is going out when it's deployed,

686
00:31:52.759 --> 00:31:56.079
<v Speaker 4>right in image pull policy, which means that you need

687
00:31:56.079 --> 00:31:56.799
<v Speaker 4>to oways pull it.

688
00:31:56.960 --> 00:31:58.720
<v Speaker 3>And they have like only.

689
00:31:58.559 --> 00:32:02.400
<v Speaker 4>Three land addresses, so it's pretty IP addresses, and they

690
00:32:02.440 --> 00:32:05.799
<v Speaker 4>have all the images hosted somewhere. And someone made a

691
00:32:05.839 --> 00:32:09.240
<v Speaker 4>mistake like de velotals of making mistakes, and it was

692
00:32:09.319 --> 00:32:12.599
<v Speaker 4>actually a buggy code that got deployed with Kubernetes.

693
00:32:12.920 --> 00:32:13.799
<v Speaker 3>So what's happening.

694
00:32:13.960 --> 00:32:17.240
<v Speaker 4>What's happened is that it's got deployed, so it's trying

695
00:32:17.240 --> 00:32:19.240
<v Speaker 4>to push the it's trying to pull the image. The

696
00:32:19.279 --> 00:32:22.799
<v Speaker 4>code is not compiling correctly, so communities is noticing that

697
00:32:22.839 --> 00:32:23.880
<v Speaker 4>something is not correct.

698
00:32:23.599 --> 00:32:24.200
<v Speaker 3>It's killing it.

699
00:32:24.480 --> 00:32:26.960
<v Speaker 4>But then it's actually raising any one because this is

700
00:32:26.960 --> 00:32:30.599
<v Speaker 4>what kubernet is doing. But do it like one thousand times,

701
00:32:30.839 --> 00:32:33.799
<v Speaker 4>ten thousand times, one other thousand times. This is what

702
00:32:33.880 --> 00:32:37.319
<v Speaker 4>kubernet is doing, and doing it from three IP addresses

703
00:32:37.759 --> 00:32:41.279
<v Speaker 4>to the same place. And if the vendor thought that

704
00:32:41.640 --> 00:32:45.960
<v Speaker 4>they're getting a DIDOS attack, so they blocked and this

705
00:32:46.119 --> 00:32:46.759
<v Speaker 4>is actually.

706
00:32:46.839 --> 00:32:51.160
<v Speaker 6>Very similar happened to me last week. Yeah, yeahs of times,

707
00:32:51.160 --> 00:32:52.359
<v Speaker 6>but it was enough. Yeah.

708
00:32:52.400 --> 00:32:54.119
<v Speaker 4>So I I think it's a really good example of

709
00:32:54.119 --> 00:32:57.720
<v Speaker 4>a misconfiguration that is actually passing validation because it would

710
00:32:57.759 --> 00:33:00.799
<v Speaker 4>pass schema validation, but it's actually have policy that you

711
00:33:00.839 --> 00:33:03.160
<v Speaker 4>want to make sure that you're not always pulling the

712
00:33:03.400 --> 00:33:06.680
<v Speaker 4>latest image because then you can digdle something by accident.

713
00:33:07.039 --> 00:33:10.599
<v Speaker 4>So this is something that will be checked, but it's

714
00:33:10.920 --> 00:33:14.359
<v Speaker 4>it's Cobnetti's valid, but it's not valid.

715
00:33:14.480 --> 00:33:14.680
<v Speaker 3>Yeah.

716
00:33:14.720 --> 00:33:16.440
<v Speaker 6>I think I need to have an alert and that

717
00:33:16.559 --> 00:33:19.599
<v Speaker 6>validator now instead of having a poll policy of always

718
00:33:19.799 --> 00:33:23.440
<v Speaker 6>just have on whichever one it is not present or something. Yeah,

719
00:33:23.480 --> 00:33:27.799
<v Speaker 6>I really need that.

720
00:33:27.640 --> 00:33:28.039
<v Speaker 3>Exactly.

721
00:33:30.319 --> 00:33:33.599
<v Speaker 5>I remember reading a few weeks ago about a Kubernetes

722
00:33:33.960 --> 00:33:36.400
<v Speaker 5>manifest linter that would look for things like that. It

723
00:33:36.400 --> 00:33:39.680
<v Speaker 5>would look for pole policies, it would look for do

724
00:33:39.720 --> 00:33:42.039
<v Speaker 5>you have resource requests that are insane?

725
00:33:42.039 --> 00:33:44.559
<v Speaker 2>Are you asking for six thousand CPUs something like that?

726
00:33:44.920 --> 00:33:47.880
<v Speaker 5>This, this tool doesn't do any of that, I don't think, right,

727
00:33:48.039 --> 00:33:50.440
<v Speaker 5>But do you use one and can you recommend one

728
00:33:50.480 --> 00:33:51.759
<v Speaker 5>that that does similar stuff?

729
00:33:51.920 --> 00:33:55.559
<v Speaker 3>So this is a guy that is doing it's also yeah,

730
00:33:55.720 --> 00:33:56.960
<v Speaker 3>again we are.

731
00:33:56.880 --> 00:33:58.480
<v Speaker 2>Not with heuristics in some cases.

732
00:33:58.519 --> 00:34:01.240
<v Speaker 3>Right, Yeah, you can also create like customers.

733
00:34:01.279 --> 00:34:03.039
<v Speaker 4>You can say that you can say, like, for example,

734
00:34:03.119 --> 00:34:05.400
<v Speaker 4>that I want to make sure that there is a

735
00:34:05.400 --> 00:34:08.639
<v Speaker 4>liveness prop and the value of the like I want

736
00:34:08.639 --> 00:34:10.239
<v Speaker 4>to make sure that the entry point is always the

737
00:34:10.360 --> 00:34:12.920
<v Speaker 4>slash else for example something, or you can make sure

738
00:34:13.119 --> 00:34:15.639
<v Speaker 4>there's a cip you limit and it's always said to

739
00:34:15.719 --> 00:34:16.519
<v Speaker 4>something like that.

740
00:34:16.960 --> 00:34:18.880
<v Speaker 3>Actually, you can do a lot of cool stuff.

741
00:34:18.880 --> 00:34:20.960
<v Speaker 4>You can say, like for staging, I want to make

742
00:34:21.000 --> 00:34:23.880
<v Speaker 4>sure that the cip you limit is free, but for production,

743
00:34:24.000 --> 00:34:26.000
<v Speaker 4>the if you limit can be six. So we can

744
00:34:26.039 --> 00:34:27.840
<v Speaker 4>also mix them up and you can say I want

745
00:34:27.880 --> 00:34:31.079
<v Speaker 4>to run this specific policy for this environment. Again, it's

746
00:34:31.119 --> 00:34:33.800
<v Speaker 4>not something new. There are other tools that are doing that.

747
00:34:33.960 --> 00:34:37.079
<v Speaker 4>I don't think that we created something that is unique.

748
00:34:37.519 --> 00:34:39.960
<v Speaker 4>I think what is unique about our approach is that

749
00:34:40.000 --> 00:34:42.280
<v Speaker 4>we're doing it simple, or we're doing it in a

750
00:34:42.360 --> 00:34:45.039
<v Speaker 4>nice way. We're doing it in a more integrated way

751
00:34:45.280 --> 00:34:47.519
<v Speaker 4>inside your workflow. So we don't need to do their

752
00:34:47.679 --> 00:34:51.039
<v Speaker 4>lifting bioself. You don't need to so this excepted that

753
00:34:51.079 --> 00:34:53.280
<v Speaker 4>you gain, you would still need to have something that

754
00:34:53.400 --> 00:34:56.320
<v Speaker 4>is also doing Kubernetive chemo validation. So we need to

755
00:34:56.400 --> 00:34:58.880
<v Speaker 4>integrate another tool like you with a look you conformed,

756
00:34:59.039 --> 00:35:01.800
<v Speaker 4>and you also need to do so that's another yamen

757
00:35:02.199 --> 00:35:04.599
<v Speaker 4>in intern and you also need to configure it to

758
00:35:04.800 --> 00:35:07.599
<v Speaker 4>connect to your helm as a plugin or whateverse you

759
00:35:07.679 --> 00:35:10.119
<v Speaker 4>also need to build that. So you have this and

760
00:35:10.159 --> 00:35:11.760
<v Speaker 4>this and this and this and this, it's only to

761
00:35:11.760 --> 00:35:12.480
<v Speaker 4>be glued together.

762
00:35:12.679 --> 00:35:14.039
<v Speaker 3>And you have a big headed again.

763
00:35:14.559 --> 00:35:17.119
<v Speaker 4>So this is the project we are trying to take

764
00:35:17.239 --> 00:35:21.199
<v Speaker 4>like we're trying to take it all off of your hands.

765
00:35:21.239 --> 00:35:23.320
<v Speaker 4>You don't need to build all those integrations, don't need

766
00:35:23.320 --> 00:35:25.760
<v Speaker 4>to glue them. Again, We're not doing something new. You

767
00:35:25.800 --> 00:35:27.840
<v Speaker 4>can also do it. You can always do it with Jaq.

768
00:35:28.079 --> 00:35:30.159
<v Speaker 4>You can also gluing by. You can also do it

769
00:35:30.199 --> 00:35:32.400
<v Speaker 4>by yourself, but we will do it in an easy

770
00:35:32.440 --> 00:35:34.440
<v Speaker 4>way for you. So you prefer to use the tree

771
00:35:34.480 --> 00:35:37.360
<v Speaker 4>and overbuilding it by yourself. Again, if you have like

772
00:35:37.360 --> 00:35:39.119
<v Speaker 4>free time over the weekend you want to build it,

773
00:35:39.199 --> 00:35:39.840
<v Speaker 4>do and build it.

774
00:35:39.840 --> 00:35:41.480
<v Speaker 3>It's fun fun.

775
00:35:41.320 --> 00:35:46.480
<v Speaker 5>Exactly, It's a kubernet It'll be fun, they said, exactly.

776
00:35:47.880 --> 00:35:50.360
<v Speaker 5>I'm interested in asking a question is completely unrelated to this.

777
00:35:50.559 --> 00:35:53.400
<v Speaker 5>In your introduction, you said that you're a leader or

778
00:35:53.440 --> 00:35:56.559
<v Speaker 5>founder or something of Hub Users group, the largest in

779
00:35:56.599 --> 00:35:57.960
<v Speaker 5>the world. Tell me a little bit about that.

780
00:35:58.000 --> 00:35:58.360
<v Speaker 2>What do you do?

781
00:35:58.440 --> 00:36:00.679
<v Speaker 5>I mean, I'm part of the Go users group, or

782
00:36:00.760 --> 00:36:02.440
<v Speaker 5>we don't call ourselves a users group. We call ourselves

783
00:36:02.480 --> 00:36:05.320
<v Speaker 5>a meetup group. That's the new version of users group

784
00:36:05.360 --> 00:36:07.079
<v Speaker 5>right here in Amsterdam, and we just get around and

785
00:36:07.079 --> 00:36:09.679
<v Speaker 5>get together and talk about ghost Tell me what you

786
00:36:09.719 --> 00:36:11.079
<v Speaker 5>do with a GitHub users group?

787
00:36:11.960 --> 00:36:15.880
<v Speaker 4>Yeah, So basically like this article, it came from my

788
00:36:15.920 --> 00:36:18.599
<v Speaker 4>own thing, and the paint was that I wanted to

789
00:36:18.639 --> 00:36:22.119
<v Speaker 4>discuss someone about some features that get up ad and

790
00:36:22.360 --> 00:36:24.440
<v Speaker 4>I tried to look with among my friends, like where

791
00:36:24.559 --> 00:36:26.519
<v Speaker 4>do we have like guitup meetups that I can ask

792
00:36:26.599 --> 00:36:30.000
<v Speaker 4>this question? And the answer was nowhere. So I said like, okay,

793
00:36:30.079 --> 00:36:32.440
<v Speaker 4>that's cool, but I love get up. I'm using git up,

794
00:36:32.480 --> 00:36:33.960
<v Speaker 4>and I'm sure that a lot of the veaples love

795
00:36:34.000 --> 00:36:34.800
<v Speaker 4>git up and using it.

796
00:36:35.079 --> 00:36:36.960
<v Speaker 3>So let's do a itt up about geitub.

797
00:36:37.960 --> 00:36:41.679
<v Speaker 4>So this is how its gets started, and it's actually

798
00:36:41.760 --> 00:36:45.239
<v Speaker 4>a user group because it's led by the community. I'm

799
00:36:45.239 --> 00:36:47.760
<v Speaker 4>not working at Guitab, I'm not working at Microsoft, they're

800
00:36:47.800 --> 00:36:48.960
<v Speaker 4>not paying me in any way.

801
00:36:49.199 --> 00:36:51.079
<v Speaker 3>I'm just doing it on moren free time.

802
00:36:51.159 --> 00:36:54.719
<v Speaker 4>So this is why it's called user group, and it's

803
00:36:54.760 --> 00:36:59.679
<v Speaker 4>actually was surprisingly growing by itself because the first meetup

804
00:36:59.880 --> 00:37:03.480
<v Speaker 4>was among one of the twenty people that register, and

805
00:37:03.519 --> 00:37:07.000
<v Speaker 4>the last meetup that we did was eight hundred people registered.

806
00:37:07.519 --> 00:37:09.719
<v Speaker 3>So because of the numbers that were, where do you

807
00:37:09.760 --> 00:37:10.639
<v Speaker 3>ask all those people?

808
00:37:10.840 --> 00:37:16.719
<v Speaker 4>Yeah, so the other numbers it's on nine, so it's

809
00:37:16.800 --> 00:37:18.760
<v Speaker 4>usually it's on nine. We don't have a big place

810
00:37:18.800 --> 00:37:22.400
<v Speaker 4>to hold so many people. And also there's like a

811
00:37:22.440 --> 00:37:24.960
<v Speaker 4>benchmark that you know that if you have eight hundred

812
00:37:25.039 --> 00:37:27.880
<v Speaker 4>people that are registering, not all will come. It's only

813
00:37:27.960 --> 00:37:30.960
<v Speaker 4>thirty percent usually, so that's fine. But again it's a

814
00:37:30.960 --> 00:37:32.719
<v Speaker 4>lot of beer and a lot of pizza to bring

815
00:37:32.760 --> 00:37:34.760
<v Speaker 4>to Amita.

816
00:37:35.440 --> 00:37:37.719
<v Speaker 2>Okidding, Well, that's great, congratulations on that.

817
00:37:37.760 --> 00:37:39.920
<v Speaker 5>I mean, it's always fun to be part of a

818
00:37:40.119 --> 00:37:43.360
<v Speaker 5>community like that and to get so much enthusiasm about

819
00:37:43.360 --> 00:37:45.280
<v Speaker 5>whether you decided to start. I know that this has

820
00:37:45.280 --> 00:37:47.519
<v Speaker 5>to feel good or maybe overwhelming or both.

821
00:37:48.840 --> 00:37:51.320
<v Speaker 4>Another fun fact, actually, my co founder that was also

822
00:37:51.400 --> 00:37:54.400
<v Speaker 4>the on episod number seventy six again or about the

823
00:37:54.480 --> 00:37:59.079
<v Speaker 4>cross reference here, is actually leading the local AWS community,

824
00:37:59.119 --> 00:38:01.039
<v Speaker 4>which is also the biggest one in the world.

825
00:38:01.320 --> 00:38:01.800
<v Speaker 3>So it's a.

826
00:38:01.840 --> 00:38:05.119
<v Speaker 4>Little bit of a fight because it got acquired by Microsoft.

827
00:38:05.239 --> 00:38:09.079
<v Speaker 4>So I'm like on this side easy the data by

828
00:38:09.159 --> 00:38:11.320
<v Speaker 4>West side, and we are working in the same company,

829
00:38:11.559 --> 00:38:13.599
<v Speaker 4>but we're still good friends and we love each other.

830
00:38:13.800 --> 00:38:17.159
<v Speaker 5>The group, because they're kind of Google related, that would

831
00:38:17.159 --> 00:38:18.360
<v Speaker 5>be a nice little trifector.

832
00:38:19.719 --> 00:38:22.239
<v Speaker 4>So they started, they started from Google, but right more

833
00:38:22.320 --> 00:38:24.639
<v Speaker 4>they're standing by themselves. Yeah, it's like part of the

834
00:38:24.639 --> 00:38:29.800
<v Speaker 4>CNCF and organizations, so it's like Google studied. But I

835
00:38:29.840 --> 00:38:32.519
<v Speaker 4>think it was really nice that they say, like, Okay,

836
00:38:32.559 --> 00:38:34.639
<v Speaker 4>we realized that it's something that is bigger than Google

837
00:38:34.880 --> 00:38:38.320
<v Speaker 4>and we want the community to enjoy it. So hey, CNCF,

838
00:38:38.760 --> 00:38:42.880
<v Speaker 4>take this wonderful child and pa raise it for us

839
00:38:43.000 --> 00:38:43.320
<v Speaker 4>the world.

840
00:38:44.840 --> 00:38:46.320
<v Speaker 6>Is there eight w us in Israel?

841
00:38:48.000 --> 00:38:53.480
<v Speaker 4>Like local locally you mean like like salvers, like physical service?

842
00:38:53.559 --> 00:38:55.480
<v Speaker 6>Yeah they do, they have like an office? Do they

843
00:38:55.480 --> 00:38:56.760
<v Speaker 6>do they have like the physical presence?

844
00:38:57.039 --> 00:39:00.400
<v Speaker 4>Oh okay, So we have R and D and in

845
00:39:00.559 --> 00:39:03.719
<v Speaker 4>Israel for and right now they're actually building like we

846
00:39:04.880 --> 00:39:06.000
<v Speaker 4>that data.

847
00:39:05.880 --> 00:39:07.199
<v Speaker 3>Something centers in Israel.

848
00:39:07.480 --> 00:39:09.880
<v Speaker 4>So we're also going to have the computers themselves, like

849
00:39:09.920 --> 00:39:12.400
<v Speaker 4>the machines on Israel Land.

850
00:39:12.760 --> 00:39:14.679
<v Speaker 3>We don't have it, so it will be all it

851
00:39:14.719 --> 00:39:16.119
<v Speaker 3>will be holy service, I guess.

852
00:39:16.920 --> 00:39:18.519
<v Speaker 1>And there's something you said, Julian you said you don't

853
00:39:18.559 --> 00:39:20.119
<v Speaker 1>have a w S, right, we don't.

854
00:39:19.960 --> 00:39:22.119
<v Speaker 6>Have a WUS like locally in the Middle East. So

855
00:39:22.199 --> 00:39:24.960
<v Speaker 6>in the GCC, although they might be in Bob right now,

856
00:39:24.960 --> 00:39:28.239
<v Speaker 6>I'm not sure, but within Uee and Doha we only

857
00:39:28.239 --> 00:39:30.480
<v Speaker 6>have a JURE, which is a problem for me in

858
00:39:30.519 --> 00:39:32.960
<v Speaker 6>getting local clients because I don't want to have to

859
00:39:33.039 --> 00:39:34.760
<v Speaker 6>learn a lot of things, like I'm kind of lazy

860
00:39:34.760 --> 00:39:36.519
<v Speaker 6>and a w US is enough, all right. It has

861
00:39:36.559 --> 00:39:39.000
<v Speaker 6>a lot of things that I up with and that

862
00:39:39.039 --> 00:39:41.559
<v Speaker 6>could be another story for another time, but like, yeah,

863
00:39:41.599 --> 00:39:42.920
<v Speaker 6>for real, I don't want to move on to another

864
00:39:42.960 --> 00:39:46.400
<v Speaker 6>hosting provider cloud provider. So that's been my public service

865
00:39:46.440 --> 00:39:47.760
<v Speaker 6>announcement for the day. I guess.

866
00:39:49.199 --> 00:39:51.639
<v Speaker 4>Yeah, there are a lot a lot of the centers

867
00:39:51.639 --> 00:39:53.920
<v Speaker 4>in Israel we also have in the like there are

868
00:39:53.920 --> 00:39:55.800
<v Speaker 4>a lot of the companies that Valenti is in here

869
00:39:56.239 --> 00:39:58.920
<v Speaker 4>and because we have a lot of people that a

870
00:39:58.920 --> 00:40:02.480
<v Speaker 4>lot of developers, a lot of qualified people to do that.

871
00:40:02.960 --> 00:40:04.800
<v Speaker 4>The only thing that we still don't have is like

872
00:40:04.840 --> 00:40:07.159
<v Speaker 4>the cloud provided themselves the mid local missions.

873
00:40:07.199 --> 00:40:08.639
<v Speaker 3>But like I said, it's going to be changed.

874
00:40:08.840 --> 00:40:11.360
<v Speaker 4>I know that Google is going not Google, but as

875
00:40:11.400 --> 00:40:12.760
<v Speaker 4>she was going to open and a w is a

876
00:40:12.840 --> 00:40:16.480
<v Speaker 4>going to open. We are using a west Virginia at aws.

877
00:40:16.559 --> 00:40:21.719
<v Speaker 1>By the way, everybody's using west Virginia cool. Anything else

878
00:40:21.880 --> 00:40:22.760
<v Speaker 1>you don't want to talk about.

879
00:40:22.960 --> 00:40:25.440
<v Speaker 4>No, I think you got it all covered. So just

880
00:40:25.559 --> 00:40:29.800
<v Speaker 4>to summarize it all, you should all validated, kubernet is filed.

881
00:40:29.840 --> 00:40:31.960
<v Speaker 4>You should all do it as soon as possible. If

882
00:40:31.960 --> 00:40:34.840
<v Speaker 4>it's possible to do it locally, to do it then

883
00:40:35.239 --> 00:40:37.599
<v Speaker 4>if it's not possible, at least do it in YOURCI

884
00:40:38.239 --> 00:40:41.119
<v Speaker 4>and I give some tips about how to do it.

885
00:40:41.119 --> 00:40:43.440
<v Speaker 4>You can do it with the different tools that we mentioned.

886
00:40:43.480 --> 00:40:44.800
<v Speaker 4>You can do it with the tree, but you can

887
00:40:44.800 --> 00:40:46.679
<v Speaker 4>also do it with the other open source tools. You

888
00:40:46.679 --> 00:40:49.800
<v Speaker 4>can do it with native tools with like you cattle.

889
00:40:49.880 --> 00:40:51.480
<v Speaker 4>You can do it, but you then you need to

890
00:40:51.480 --> 00:40:54.960
<v Speaker 4>put a connection to a cluster and if someone have

891
00:40:55.039 --> 00:40:59.119
<v Speaker 4>any questions regarding that. If someone have any feedback regarding

892
00:40:59.119 --> 00:41:01.840
<v Speaker 4>this article, please contact me. I think you will also

893
00:41:01.920 --> 00:41:04.679
<v Speaker 4>leave my information on this and we are going through

894
00:41:04.719 --> 00:41:06.920
<v Speaker 4>aust this so we have all my information and feel

895
00:41:06.960 --> 00:41:10.199
<v Speaker 4>free like I'm super richable. My email addresses all pen

896
00:41:10.400 --> 00:41:12.599
<v Speaker 4>and you can find me on get a project if

897
00:41:12.639 --> 00:41:13.599
<v Speaker 4>you want to paint me.

898
00:41:13.840 --> 00:41:15.440
<v Speaker 3>Whatever you choose that's.

899
00:41:15.280 --> 00:41:16.000
<v Speaker 2>It, right on.

900
00:41:16.400 --> 00:41:20.039
<v Speaker 1>Yep, we will put your contact info in the show

901
00:41:20.079 --> 00:41:22.920
<v Speaker 1>notes and then the last thing for us to do.

902
00:41:23.039 --> 00:41:26.760
<v Speaker 1>Here are our picks for the show. Jonathan, you're excited.

903
00:41:26.800 --> 00:41:27.719
<v Speaker 1>Do you want to go first?

904
00:41:28.039 --> 00:41:29.519
<v Speaker 2>Sure, of course, bring it on.

905
00:41:30.280 --> 00:41:33.360
<v Speaker 5>I'm reading, or actually listening to an audiobook that I

906
00:41:33.360 --> 00:41:36.760
<v Speaker 5>think is amazing. I usually read boring stuff like O'Reilly

907
00:41:36.760 --> 00:41:39.719
<v Speaker 5>books about Kubernetes and helm charts and stuff like that,

908
00:41:39.760 --> 00:41:41.800
<v Speaker 5>but I decided to branch out a little bit, and

909
00:41:41.840 --> 00:41:45.480
<v Speaker 5>I'm reading this Sid Meyers memoir, which is still nerdy

910
00:41:45.760 --> 00:41:49.119
<v Speaker 5>because he's a nerd, but it's so fun and he

911
00:41:49.199 --> 00:41:51.880
<v Speaker 5>talks about game design and how he invented these games

912
00:41:51.880 --> 00:41:55.480
<v Speaker 5>that he made for those who aren't familiar. Everybody's familiar, right,

913
00:41:55.519 --> 00:41:57.800
<v Speaker 5>but if you're not. He's the creator of games like

914
00:41:57.840 --> 00:42:01.159
<v Speaker 5>Civilization and Pirates and a bunch of they're really popular games,

915
00:42:01.280 --> 00:42:03.679
<v Speaker 5>early flight simulators. It's a great book. I don't know,

916
00:42:03.960 --> 00:42:06.880
<v Speaker 5>and it's he reads the audiobook. He reads himself, so

917
00:42:06.920 --> 00:42:09.719
<v Speaker 5>I feel like I'm having a fireplace conversation with Sid

918
00:42:09.719 --> 00:42:10.599
<v Speaker 5>Meyer when I read this.

919
00:42:10.800 --> 00:42:11.760
<v Speaker 2>Oh that's super cool.

920
00:42:12.000 --> 00:42:15.760
<v Speaker 1>Yeah, I played Civilization from way back in the day,

921
00:42:16.159 --> 00:42:19.760
<v Speaker 1>Like what was the first day first version it was

922
00:42:19.760 --> 00:42:23.760
<v Speaker 1>on Microsoft Doss. I think it it was either version one,

923
00:42:23.800 --> 00:42:25.800
<v Speaker 1>it might have been two. I want to say it

924
00:42:25.840 --> 00:42:26.599
<v Speaker 1>was version one.

925
00:42:26.880 --> 00:42:29.199
<v Speaker 5>I think I starned with two, and I played like

926
00:42:29.320 --> 00:42:32.320
<v Speaker 5>the sixteen different expansions for version two, and then I

927
00:42:32.360 --> 00:42:34.440
<v Speaker 5>think I played every version since such a great game.

928
00:42:34.480 --> 00:42:36.840
<v Speaker 6>Civilization is good, it's safe. I mean, probably more of

929
00:42:36.840 --> 00:42:38.920
<v Speaker 6>my husband in sanity when I was on bed rest

930
00:42:38.960 --> 00:42:41.840
<v Speaker 6>with my oldest because I had something to like obsess

931
00:42:41.840 --> 00:42:44.280
<v Speaker 6>over besides kind of bossing him around.

932
00:42:44.320 --> 00:42:47.800
<v Speaker 2>So that's that's my story, Jillian, You've got pick for us.

933
00:42:48.000 --> 00:42:50.199
<v Speaker 6>I do. So. I've been on a quest to go

934
00:42:50.280 --> 00:42:52.639
<v Speaker 6>and clean up a lot of my terraform recipes and

935
00:42:52.719 --> 00:42:55.760
<v Speaker 6>release them publicly out into the wild. And I found

936
00:42:55.800 --> 00:42:58.199
<v Speaker 6>it really good template for doing that from this group

937
00:42:58.280 --> 00:43:01.800
<v Speaker 6>called cloud Posse. It's I think it's spelled pretty much

938
00:43:01.840 --> 00:43:04.039
<v Speaker 6>like it sounds. They have a really nice like terraform

939
00:43:04.400 --> 00:43:07.320
<v Speaker 6>GitHub template, you know, like the how you can actually

940
00:43:07.519 --> 00:43:10.159
<v Speaker 6>create templates straight from gehub repositories now, like you press

941
00:43:10.199 --> 00:43:11.960
<v Speaker 6>the button and it creates you a new repo with

942
00:43:12.000 --> 00:43:14.280
<v Speaker 6>the file structure and all that kind of thing, and

943
00:43:14.480 --> 00:43:16.760
<v Speaker 6>I really like it. They also have this really nice

944
00:43:16.760 --> 00:43:20.440
<v Speaker 6>make file that just does like everything, Like there's so

945
00:43:20.519 --> 00:43:23.280
<v Speaker 6>much stuff in that make file. It's amazing. So yeah,

946
00:43:23.320 --> 00:43:25.519
<v Speaker 6>I've been cleaning up a lot of my terraform recipes

947
00:43:25.559 --> 00:43:28.679
<v Speaker 6>for that and using like using that template as the base,

948
00:43:28.840 --> 00:43:32.079
<v Speaker 6>and I think it's it's just a really nice terraform template.

949
00:43:32.559 --> 00:43:33.639
<v Speaker 6>Check it out right on.

950
00:43:33.840 --> 00:43:34.400
<v Speaker 2>That's awesome.

951
00:43:34.519 --> 00:43:37.280
<v Speaker 1>Yeah, make files, make files and read me I think

952
00:43:37.480 --> 00:43:40.679
<v Speaker 1>might be two of the hardest problems and software engineering.

953
00:43:42.239 --> 00:43:44.480
<v Speaker 6>I still haven't given up. It's really it's becoming like

954
00:43:44.519 --> 00:43:46.960
<v Speaker 6>a cultural age gap kind of problem for me. When

955
00:43:47.000 --> 00:43:49.039
<v Speaker 6>I talk to new developers, I'm like, it's all in

956
00:43:49.079 --> 00:43:51.360
<v Speaker 6>the make file. It's like, it's there, right, And I'm like,

957
00:43:51.360 --> 00:43:54.000
<v Speaker 6>what's the make file, especially if they've been using like

958
00:43:54.119 --> 00:43:56.360
<v Speaker 6>node and they're used to the package dot Jason, and

959
00:43:56.360 --> 00:43:57.639
<v Speaker 6>then I'm like, what's a make file?

960
00:43:57.719 --> 00:43:57.800
<v Speaker 3>Like?

961
00:43:57.920 --> 00:43:59.400
<v Speaker 6>Sit down, you need to talk about this.

962
00:44:01.119 --> 00:44:02.840
<v Speaker 2>Sit down in that chair, we're gonna talk.

963
00:44:04.199 --> 00:44:05.679
<v Speaker 6>That's right, That is it?

964
00:44:05.880 --> 00:44:07.239
<v Speaker 2>Yeah, have you got a pick for us?

965
00:44:07.360 --> 00:44:10.079
<v Speaker 3>I didn't know that that is one. Sorry, I didn't know.

966
00:44:10.239 --> 00:44:11.559
<v Speaker 3>You just make my own walk.

967
00:44:11.480 --> 00:44:13.679
<v Speaker 2>That's quite all right, I've got one.

968
00:44:14.000 --> 00:44:17.000
<v Speaker 1>And it's funny because I've heard about this for quite

969
00:44:17.039 --> 00:44:19.320
<v Speaker 1>a while, and I was like, yeah, yeah, yeah, whatever,

970
00:44:19.719 --> 00:44:23.800
<v Speaker 1>it's fine, and it's a screen protector for my iPad.

971
00:44:23.960 --> 00:44:26.920
<v Speaker 1>But it's from paper Like, and it's as you might

972
00:44:26.920 --> 00:44:29.559
<v Speaker 1>have guessed, it's very paper like because one of the

973
00:44:29.559 --> 00:44:33.639
<v Speaker 1>things with using my my iPad and the Apple pencil

974
00:44:34.199 --> 00:44:36.960
<v Speaker 1>is it felt really slippery. Plus I'm left handed, you know,

975
00:44:37.079 --> 00:44:39.639
<v Speaker 1>so I have this thing where I wrapped my arm

976
00:44:39.679 --> 00:44:42.559
<v Speaker 1>around three hundred and sixty degrees in order to be

977
00:44:42.599 --> 00:44:44.760
<v Speaker 1>able to write anything and then curl up in a

978
00:44:44.800 --> 00:44:47.679
<v Speaker 1>fetal position. But it was really hard to write on

979
00:44:47.719 --> 00:44:51.880
<v Speaker 1>my iPad, but I wanted to do it, and so

980
00:44:51.960 --> 00:44:54.639
<v Speaker 1>I finally broke down and bought this screen protector called

981
00:44:54.719 --> 00:44:57.559
<v Speaker 1>paper Like, and I put it on and felt it

982
00:44:57.599 --> 00:44:59.519
<v Speaker 1>with my fingers and I was like, yeah whatever. But

983
00:44:59.559 --> 00:45:01.719
<v Speaker 1>then I actually I started using it with the Apple pencil.

984
00:45:01.800 --> 00:45:04.639
<v Speaker 1>It was like, holy cow, this is really like writing

985
00:45:04.760 --> 00:45:07.639
<v Speaker 1>on a piece of paper. So that's my pick for

986
00:45:07.719 --> 00:45:10.360
<v Speaker 1>today is if you have an iPad and the Apple

987
00:45:10.400 --> 00:45:13.320
<v Speaker 1>pencil but you are struggling to use it because it

988
00:45:13.320 --> 00:45:15.360
<v Speaker 1>feels like it just slides all over the place, the

989
00:45:15.519 --> 00:45:18.519
<v Speaker 1>paper Like screen protector has solved that problem for me.

990
00:45:18.920 --> 00:45:21.119
<v Speaker 2>Is it iPad specific I will work on any tablet

991
00:45:21.159 --> 00:45:23.280
<v Speaker 2>that you use with the stilist. That's a great question.

992
00:45:23.360 --> 00:45:23.760
<v Speaker 2>I don't know.

993
00:45:23.880 --> 00:45:26.719
<v Speaker 1>I only looked for the iPad version. I would imagine

994
00:45:26.760 --> 00:45:29.480
<v Speaker 1>that they've got it for pretty much any tablet. Yeah,

995
00:45:29.480 --> 00:45:31.880
<v Speaker 1>because it's just, I mean, it's just it looks just

996
00:45:31.920 --> 00:45:33.679
<v Speaker 1>like a screen protector you know that you buy for

997
00:45:33.679 --> 00:45:37.079
<v Speaker 1>your phone or any tablet. There's nothing significant about it,

998
00:45:37.119 --> 00:45:41.079
<v Speaker 1>but the texture of it feels like paper. So props

999
00:45:41.079 --> 00:45:44.840
<v Speaker 1>to their marketing team for naming the product as well.

1000
00:45:45.280 --> 00:45:47.760
<v Speaker 1>All Right, I think that's it. We've got a wrap.

1001
00:45:47.840 --> 00:45:51.440
<v Speaker 1>Thank you everyone for listening. Yeah, thank you for joining us.

1002
00:45:51.480 --> 00:45:55.440
<v Speaker 1>This was a great chat. And Jonathan, Jillian welcome. Happy

1003
00:45:55.480 --> 00:45:58.199
<v Speaker 1>to have you guys here, and we'll see y'all next time.
