MCPcopy Index your code
hub / github.com/coder/coder / Init

Method Init

provisioner/echo/serve.go:208–233  ·  view source on GitHub ↗
(sess *provisionersdk.Session, req *provisionersdk.InitRequest, canceledOrComplete <-chan struct{})

Source from the content-addressed store, hash-verified

206}
207
208func (*echo) Init(sess *provisionersdk.Session, req *provisionersdk.InitRequest, canceledOrComplete <-chan struct{}) *proto.InitComplete {
209 err := sess.Files.ExtractArchive(sess.Context(), sess.Logger, afero.NewOsFs(), req.TemplateSourceArchive, nil)
210 if err != nil {
211 return provisionersdk.InitErrorf("extract archive: %s", err.Error())
212 }
213
214 responses, err := readResponses(
215 sess,
216 "", // transition not supported for init graph responses
217 "init.protobuf")
218 if err != nil {
219 return &proto.InitComplete{Error: err.Error()}
220 }
221 for _, response := range responses {
222 if log := response.GetLog(); log != nil {
223 sess.ProvisionLog(log.Level, log.Output)
224 }
225 if complete := response.GetInit(); complete != nil {
226 return complete
227 }
228 }
229
230 // some tests use Echo without a complete response to test cancel
231 <-canceledOrComplete
232 return provisionersdk.InitErrorf("canceled")
233}
234
235func (*echo) Graph(sess *provisionersdk.Session, req *proto.GraphRequest, canceledOrComplete <-chan struct{}) *proto.GraphComplete {
236 responses, err := readResponses(

Callers

nothing calls this directly

Calls 8

InitErrorfFunction · 0.92
readResponsesFunction · 0.85
ExtractArchiveMethod · 0.80
ContextMethod · 0.65
ProvisionLogMethod · 0.65
ErrorMethod · 0.45
GetLogMethod · 0.45
GetInitMethod · 0.45

Tested by

no test coverage detected