MCPcopy Create free account
hub / github.com/SignTools/SignTools / SetSecrets

Method SetSecrets

src/builders/semaphore.go:131–163  ·  view source on GitHub ↗
(secrets map[string]string)

Source from the content-addressed store, hash-verified

129}
130
131func (s *Semaphore) SetSecrets(secrets map[string]string) error {
132 response, err := s.client.New().
133 Set("Content-Type", "application/json").
134 Delete("v1beta/secrets/" + s.data.SecretName).
135 ReceiveSuccess(nil)
136 if err != nil {
137 return errors.WithMessage(err, "deleting existing secret")
138 }
139 body := semaphoreSecret{
140 APIVersion: "v1beta",
141 Kind: "Secret",
142 Metadata: semaphoreSecretMetadata{
143 Name: s.data.SecretName,
144 },
145 Data: semaphoreSecretData{[]semaphoreSecretEnvVar{}},
146 }
147 for key, val := range secrets {
148 body.Data.EnvVars = append(body.Data.EnvVars, semaphoreSecretEnvVar{key, val})
149 }
150 bodyBytes, err := json.Marshal(body)
151 if err != nil {
152 return errors.WithMessage(err, "json marshal secret")
153 }
154 response, err = s.client.New().
155 Body(bytes.NewReader(bodyBytes)).
156 Set("Content-Type", "application/json").
157 Post("v1beta/secrets").
158 ReceiveSuccess(nil)
159 if err != nil {
160 return errors.WithMessage(err, "create new secret")
161 }
162 return util.Check2xxCode(response.StatusCode)
163}

Callers

nothing calls this directly

Calls 3

Check2xxCodeFunction · 0.92
NewMethod · 0.80
DeleteMethod · 0.45

Tested by

no test coverage detected