| commit | 0377d2719f9ea31ca5c1abd5b519ef25f9833571 | [log] [tgz] |
|---|---|---|
| author | tandrii <tandrii@chromium.org> | Tue Aug 08 07:46:27 2017 |
| committer | Commit Bot <commit-bot@chromium.org> | Tue Aug 08 07:46:27 2017 |
| tree | 85faea8f1c4ff2a82fecae95f0eccf1a79b24323 | |
| parent | d009bb905fb8f3f9d23f477c91039b055c0cf857 [diff] |
[scheduler]: ACLs phase 1 - per Job ACL specification and enforcement.
This CL:
* allows specifying READER and OWNER acls per Job/Trigger definition:
* READER is who can see Job and **all** its invocations, including
those finished long ago under potentially more restrictive ACLs.
* OWNER is who can affect Job state manually through API or UI such
as `AbortJob` and `PauseJob`.
* boilerplate reduction by means of acl_set defined per project
and referenced in Job/Trigger definitions.
* ACL spec per Job/Trigger is **not yet** required. If not specified,
defaults to current behavior of READER=all OWNER=scheduler admins.
* ACLs introduced do not limit which Jobs can be triggered by which Triggers.
However, triggering functionality doesn't exist yet, so this doesn't matter.
On deployment:
* This CL has backwards compatibility and can be deployed without breaking
anything.
* Once deployed, this CL can be reverted and things will work as before.
This imples in particular that all configured READER ACLs will be ignored
and default to READER=all (see also warning in cron.proto).
* Plan:
1. Deploy this CL.
2. Update existing configs to specify ACLs with explicit READER=all and
OWNER=project-<NAME>-owners.
2. Deploy requirement to specify ACLs for all Jobs and remove currently
implicit default ACLs.
R=vadimsh@chromium.org
Bug=736770
Review-Url: https://codereview.chromium.org/2986033003
go get -u github.com/luci/luci-go/client/cmd/... go get -u github.com/luci/luci-go/server/cmd/...
/common/... and /server/..../appengine/..., /client/... and /server/...; for example, the structures used by the server APIs. These are inherently APIs./appengine/....go1 contains the stable code.master constains the latest code.user.email and user.name are configured in git config.go get -u -t github.com/luci/luci-go/client/...go get -u github.com/maruel/pre-commit-go/cmd/... && pcgRun the following to setup the code review tool and create your first review:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools export PATH="$PATH:$HOME/src/depot_tools" cd $GOROOT/github.com/luci/luci-go git checkout -b work origin/master # hack hack git commit -a -m "This is awesome\nR=joe@example.com" # This will ask for your Google Account credentials. git cl upload -s # Wait for LGTM over email. # Check the commit queue box in codereview website. # Wait for the change to be tested and landed automatically.
Use git cl help and git cl help <cmd> for more details.