{"action":"closed","issue":{"url":"https://api.github.com/repos/northwesternmutual/kanali/issues/77","repository_url":"https://api.github.com/repos/northwesternmutual/kanali","labels_url":"https://api.github.com/repos/northwesternmutual/kanali/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/northwesternmutual/kanali/issues/77/comments","events_url":"https://api.github.com/repos/northwesternmutual/kanali/issues/77/events","html_url":"https://github.com/northwesternmutual/kanali/issues/77","id":265423403,"number":77,"title":"kanali.io/v2alpha1","user":{"login":"frankgreco","id":22604233,"avatar_url":"https://avatars0.githubusercontent.com/u/22604233?v=4","gravatar_id":"","url":"https://api.github.com/users/frankgreco","html_url":"https://github.com/frankgreco","followers_url":"https://api.github.com/users/frankgreco/followers","following_url":"https://api.github.com/users/frankgreco/following{/other_user}","gists_url":"https://api.github.com/users/frankgreco/gists{/gist_id}","starred_url":"https://api.github.com/users/frankgreco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankgreco/subscriptions","organizations_url":"https://api.github.com/users/frankgreco/orgs","repos_url":"https://api.github.com/users/frankgreco/repos","events_url":"https://api.github.com/users/frankgreco/events{/privacy}","received_events_url":"https://api.github.com/users/frankgreco/received_events","type":"User","site_admin":false},"labels":[{"id":657290417,"url":"https://api.github.com/repos/northwesternmutual/kanali/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/northwesternmutual/kanali/milestones/1","html_url":"https://github.com/northwesternmutual/kanali/milestone/1","labels_url":"https://api.github.com/repos/northwesternmutual/kanali/milestones/1/labels","id":2672656,"number":1,"title":"v2.0.0","description":"","creator":{"login":"frankgreco","id":22604233,"avatar_url":"https://avatars0.githubusercontent.com/u/22604233?v=4","gravatar_id":"","url":"https://api.github.com/users/frankgreco","html_url":"https://github.com/frankgreco","followers_url":"https://api.github.com/users/frankgreco/followers","following_url":"https://api.github.com/users/frankgreco/following{/other_user}","gists_url":"https://api.github.com/users/frankgreco/gists{/gist_id}","starred_url":"https://api.github.com/users/frankgreco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankgreco/subscriptions","organizations_url":"https://api.github.com/users/frankgreco/orgs","repos_url":"https://api.github.com/users/frankgreco/repos","events_url":"https://api.github.com/users/frankgreco/events{/privacy}","received_events_url":"https://api.github.com/users/frankgreco/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":14,"state":"open","created_at":"2017-08-01T00:57:24Z","updated_at":"2018-03-30T23:51:03Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-10-13T21:26:22Z","updated_at":"2018-03-30T23:51:02Z","closed_at":"2018-03-30T23:51:02Z","author_association":"COLLABORATOR","body":"> The purpose of this issue is to discuss the changes to the three resources in the `kanali.io` API group.\r\n\r\n#### Design Goals\r\n- refactor current configuration items\r\n- add functionality\r\n\r\n##### `ApiProxy` changes\r\nThe new `ApiProxy` spec will hold the following first level structure. This will group current configuration items into logical group instead of having them all at the _first level_.\r\n```yaml\r\nspec:\r\n  source:\r\n  target:\r\n  plugins:\r\n```\r\n- allow for the creation of a proxy by a unique virtual host and path as opposed to just path:\r\n```yaml\r\nsource:\r\n  path: /foo\r\n  virtualHost: foo.bar.com\r\n```\r\n- add functionality to proxy to arbitrary endpoints:\r\n```yaml\r\ntarget:\r\n  backend:\r\n    endpoint: https://api.google.com\r\n```\r\n- allow for arbitrary configuration of plugins:\r\n> this will be an ideal place to place an audience id for a JWT plugin.\r\n```yaml\r\nplugins:\r\n- name: apiKey\r\n  version: v1.0\r\n  config:\r\n    bindings:\r\n    - bindingOne\r\n    - bindingTwo\r\n```\r\n##### `ApiKey` changes\r\n- allow for non breaking api key rotation. tracked in #63 \r\n##### `ApiKeyBinding` changes\r\n- remove `proxyName` field as this will now be configured via the arbitrary config options mentioned above. "}}
{"actor":{"display_login":"frankgreco"}}