func()

in pkg/k8s/secret.go [72:106]


func (secret *k8sSecret) Put(data map[string][]byte) error {
	secretV1, err := secret.k8s.CoreV1().Secrets(secret.namespace).Get(context.TODO(), secret.name, metaV1.GetOptions{})
	if err != nil {
		if errors.IsNotFound(err) {
			// secret not found, create

			secretV1 = &coreV1.Secret{
				TypeMeta: metaV1.TypeMeta{
					APIVersion: "v1",
					Kind:       "Secret",
				},
				ObjectMeta: metaV1.ObjectMeta{
					Name:      secret.name,
					Namespace: secret.namespace,
					Labels: map[string]string{
						"name": secret.name,
					},
				},
				Type: coreV1.SecretTypeOpaque,
				Data: data,
			}

			_, err = secret.k8s.CoreV1().Secrets(secret.namespace).Create(context.TODO(), secretV1, metaV1.CreateOptions{})

			return err
		} else {
			return err
		}
	} else {
		secretV1.Data = data
		_, err = secret.k8s.CoreV1().Secrets(secret.namespace).Update(context.TODO(), secretV1, metaV1.UpdateOptions{})

		return err
	}
}