{"action":"created","issue":{"url":"https://api.github.com/repos/tigera/libcalico-go/issues/25","repository_url":"https://api.github.com/repos/tigera/libcalico-go","labels_url":"https://api.github.com/repos/tigera/libcalico-go/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/tigera/libcalico-go/issues/25/comments","events_url":"https://api.github.com/repos/tigera/libcalico-go/issues/25/events","html_url":"https://github.com/tigera/libcalico-go/pull/25","id":168064752,"number":25,"title":"Refactor backend API","user":{"login":"fasaxc","id":469264,"avatar_url":"https://avatars.githubusercontent.com/u/469264?v=3","gravatar_id":"","url":"https://api.github.com/users/fasaxc","html_url":"https://github.com/fasaxc","followers_url":"https://api.github.com/users/fasaxc/followers","following_url":"https://api.github.com/users/fasaxc/following{/other_user}","gists_url":"https://api.github.com/users/fasaxc/gists{/gist_id}","starred_url":"https://api.github.com/users/fasaxc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fasaxc/subscriptions","organizations_url":"https://api.github.com/users/fasaxc/orgs","repos_url":"https://api.github.com/users/fasaxc/repos","events_url":"https://api.github.com/users/fasaxc/events{/privacy}","received_events_url":"https://api.github.com/users/fasaxc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"assignees":[{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-07-28T10:35:17Z","updated_at":"2016-07-29T17:10:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/tigera/libcalico-go/pulls/25","html_url":"https://github.com/tigera/libcalico-go/pull/25","diff_url":"https://github.com/tigera/libcalico-go/pull/25.diff","patch_url":"https://github.com/tigera/libcalico-go/pull/25.patch"},"body":"- Move etcd client to its own sub-package to make way for making other backends.\r\n- Move datamodel keys and values into a `model` sub-package.\r\n- Remove etcd-ness from model classes.  Generally changed the `asEtcd(Delete)Key()` methods to be `Default(Delete)Path()`; and commented that they're paths suitable for most datastores and used on the Felix API.\r\n- Remove Client struct and use an interface instead.\r\n- Rename DatastoreObject to KVPair\r\n- Rename some other types to shorten.  E.g. `model.KeyInterface` -> `model.Key`.\r\n- ~~Remove special-case in etcd driver for the `Profile` objects and replace with `OverrideGet|Apply|Update` interfaces.  I think we still need to rejig this based on the V1/V2 discussions we had yesterday.~~\r\n- Introduce an adapter object to do the composite key mapping.\r\n- Add config and ready flag to model."},"comment":{"url":"https://api.github.com/repos/tigera/libcalico-go/issues/comments/236237518","html_url":"https://github.com/tigera/libcalico-go/pull/25#issuecomment-236237518","issue_url":"https://api.github.com/repos/tigera/libcalico-go/issues/25","id":236237518,"user":{"login":"fasaxc","id":469264,"avatar_url":"https://avatars.githubusercontent.com/u/469264?v=3","gravatar_id":"","url":"https://api.github.com/users/fasaxc","html_url":"https://github.com/fasaxc","followers_url":"https://api.github.com/users/fasaxc/followers","following_url":"https://api.github.com/users/fasaxc/following{/other_user}","gists_url":"https://api.github.com/users/fasaxc/gists{/gist_id}","starred_url":"https://api.github.com/users/fasaxc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fasaxc/subscriptions","organizations_url":"https://api.github.com/users/fasaxc/orgs","repos_url":"https://api.github.com/users/fasaxc/repos","events_url":"https://api.github.com/users/fasaxc/events{/privacy}","received_events_url":"https://api.github.com/users/fasaxc/received_events","type":"User","site_admin":false},"created_at":"2016-07-29T17:10:13Z","updated_at":"2016-07-29T17:10:13Z","body":"@robbrockbank CI failure is because there's no CI config on this branch. Circle CI branch needs to be merged first"}}
{"actor":{"display_login":"fasaxc"}}