luci: go.chromium.org/luci/appengine/gaesettings Index | Files

package gaesettings

import "go.chromium.org/luci/appengine/gaesettings"

Package gaesettings implements settings.Storage interface on top of GAE datastore.

By defualt, gaesettings must have its handlers installed into the "default" AppEngine module, and must be running on an instance with read/write datastore access.

See go.chromium.org/luci/server/settings for more details.

Index

Package Files

gaesettings.go

type Storage Uses

type Storage struct{}

Storage knows how to store JSON blobs with settings in the datastore.

It implements server/settings.EventualConsistentStorage interface.

func (Storage) FetchAllSettings Uses

func (s Storage) FetchAllSettings(c context.Context) (*settings.Bundle, time.Duration, error)

FetchAllSettings fetches all latest settings at once.

func (Storage) GetConsistencyTime Uses

func (s Storage) GetConsistencyTime(c context.Context) (time.Time, error)

GetConsistencyTime returns "last modification time" + "expiration period".

It indicates moment in time when last setting change is fully propagated to all instances.

Returns zero time if there are no settings stored.

func (Storage) UpdateSetting Uses

func (s Storage) UpdateSetting(c context.Context, key string, value json.RawMessage, who, why string) error

UpdateSetting updates a setting at the given key.

Package gaesettings imports 11 packages (graph) and is imported by 4 packages. Updated 2018-12-17. Refresh now. Tools for package owners.