outposts: always update bundles and swap maps
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -31,8 +31,7 @@ type APIController struct { | ||||
|  | ||||
| 	Server Outpost | ||||
|  | ||||
| 	lastBundleHash string | ||||
| 	logger         *log.Entry | ||||
| 	logger *log.Entry | ||||
|  | ||||
| 	reloadOffset time.Duration | ||||
|  | ||||
| @ -71,18 +70,12 @@ func NewAPIController(akURL url.URL, token string) *APIController { | ||||
| 		logger: log, | ||||
|  | ||||
| 		reloadOffset: time.Duration(rand.Intn(10)) * time.Second, | ||||
|  | ||||
| 		lastBundleHash: "", | ||||
| 	} | ||||
| 	ac.logger.Debugf("HA Reload offset: %s", ac.reloadOffset) | ||||
| 	ac.initWS(akURL, outpost.Pk) | ||||
| 	return ac | ||||
| } | ||||
|  | ||||
| func (a *APIController) GetLastBundleHash() string { | ||||
| 	return a.lastBundleHash | ||||
| } | ||||
|  | ||||
| // Start Starts all handlers, non-blocking | ||||
| func (a *APIController) Start() error { | ||||
| 	err := a.Server.Refresh() | ||||
|  | ||||
| @ -1,10 +1,6 @@ | ||||
| package ak | ||||
|  | ||||
| import ( | ||||
| 	"crypto/sha512" | ||||
| 	"encoding/hex" | ||||
| 	"encoding/json" | ||||
|  | ||||
| 	"goauthentik.io/outpost/pkg/client/outposts" | ||||
| 	"goauthentik.io/outpost/pkg/models" | ||||
| ) | ||||
| @ -15,16 +11,5 @@ func (a *APIController) Update() ([]*models.ProxyOutpostConfig, error) { | ||||
| 		a.logger.WithError(err).Error("Failed to fetch providers") | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	// Check provider hash to see if anything is changed | ||||
| 	hasher := sha512.New() | ||||
| 	out, err := json.Marshal(providers.Payload.Results) | ||||
| 	if err != nil { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	hash := hex.EncodeToString(hasher.Sum(out)) | ||||
| 	if hash == a.lastBundleHash { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	a.lastBundleHash = hash | ||||
| 	return providers.Payload.Results, nil | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer