(secrets map[string]string)
| 129 | } |
| 130 | |
| 131 | func (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 | } |
nothing calls this directly
no test coverage detected