payload: {"action":"closed","issue":{"url":"https://api.github.com/repos/covarity/anchorctl/issues/6","repository_url":"https://api.github.com/repos/covarity/anchorctl","labels_url":"https://api.github.com/repos/covarity/anchorctl/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/covarity/anchorctl/issues/6/comments","events_url":"https://api.github.com/repos/covarity/anchorctl/issues/6/events","html_url":"https://github.com/covarity/anchorctl/issues/6","id":530656796,"node_id":"MDU6SXNzdWU1MzA2NTY3OTY=","number":6,"title":"uplift anchor config interface","user":{"login":"castlemilk","id":7474316,"node_id":"MDQ6VXNlcjc0NzQzMTY=","avatar_url":"https://avatars1.githubusercontent.com/u/7474316?v=4","gravatar_id":"","url":"https://api.github.com/users/castlemilk","html_url":"https://github.com/castlemilk","followers_url":"https://api.github.com/users/castlemilk/followers","following_url":"https://api.github.com/users/castlemilk/following{/other_user}","gists_url":"https://api.github.com/users/castlemilk/gists{/gist_id}","starred_url":"https://api.github.com/users/castlemilk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/castlemilk/subscriptions","organizations_url":"https://api.github.com/users/castlemilk/orgs","repos_url":"https://api.github.com/users/castlemilk/repos","events_url":"https://api.github.com/users/castlemilk/events{/privacy}","received_events_url":"https://api.github.com/users/castlemilk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-12-01T02:08:59Z","updated_at":"2019-12-08T06:32:21Z","closed_at":"2019-12-08T06:32:21Z","author_association":"CONTRIBUTOR","body":"Need to support a more generic and easier to reason about interface for representing anchor tests. Something resembling the following:\r\n\r\n```yaml\r\nkind: KubernetesTest\r\napi: anchor.covarity.dev/alpha1v1\r\nmetadata:\r\n  name: podValidation\r\nspec:\r\n# already exisiting resource that needs to be resolved\r\n#   objectRef:\r\n#     kind: Pod\r\n#     namespace: default\r\n#     label:\r\n#       key: run\r\n#       value: nginx\r\n  preSteps:\r\n    - action: CREATE\r\n      resources:\r\n        kubectl:\r\n        - name: nginx\r\n          kind: Pod\r\n          spec:\r\n        kustomize:\r\n          base: ../base\r\n        helm:\r\n          ...\r\n          ...\r\n  tests:\r\n  - type: AssertJSONPath\r\n    spec:\r\n      jsonPath: \".spec.nodeName\"\r\n      value: \"docker-desktop\"\r\n    resources:\r\n      # One of the following\r\n      objectRef:\r\n        type: Resource\r\n        spec:\r\n          kind: Pod\r\n          namespace: default\r\n          labelKey: run\r\n          labelValue: nginx\r\n      objectRef:\r\n        type: File\r\n        spec:\r\n          filePath: ./samples/fixtures/pod.yaml\r\n      kubectl:\r\n        action: \"CREATE\"\r\n        path: \r\n        - \"./samples/fixtures/deploy.yaml\"\r\n      helm:\r\n        action: \"CREATE\"\r\n        ...\r\n      kustomize:\r\n        action: \"CREATE\"\r\n        path: \"./samples/fixtures/overlays\"\r\n\r\n  - type: AssertValidation\r\n    spec:\r\n      expectedError: \"Internal error occurred: admission webhook \\\"webhook.openpolicyagent.org\\\" denied the request: External Loadbalancers cannot be deployed in this cluster\"\r\n    # objectRef:\r\n    #   type: Resource\r\n    #   spec:\r\n    #     kind: Pod\r\n    #     namespace: default\r\n    #     labelKey: run\r\n    #     labelValue: nginx\r\n    # objectRef:\r\n    #   type: File\r\n    #   spec:\r\n    #     filePath: ./samples/fixtures/pod.yaml\r\n    kubectl:\r\n      action: \"CREATE\"\r\n      path: \r\n      - \"./samples/fixtures/loadbalancer.yaml\"\r\n    # helm:\r\n    #   action: \"CREATE\"\r\n    #   ...\r\n    # kustomize:\r\n    #   action: \"CREATE\"\r\n    #   path: \"./samples/fixtures/overlays\"\r\n  - type: AssertMutation\r\n    spec:\r\n      jsonPath: \".metadata.labels.function\"\r\n      value: \"workload\"\r\n    # objectRef:\r\n    #   type: Resource\r\n    #   spec:\r\n    #     kind: Pod\r\n    #     namespace: default\r\n    #     labelKey: run\r\n    #     labelValue: nginx\r\n    # objectRef:\r\n    #   type: File\r\n    #   spec:\r\n    #     filePath: ./samples/fixtures/pod.yaml\r\n    kubectl:\r\n      action: \"CREATE\"\r\n      path: \r\n      - \"./samples/fixtures/deploy.yaml\"\r\n    # helm:\r\n    #   action: \"CREATE\"\r\n    #   ...\r\n    # kustomize:\r\n    #   action: \"CREATE\"\r\n    #   path: \"./samples/fixtures/overlays\"\r\n    \r\n postSteps:\r\n    - action: DELETE\r\n      resources: \r\n        kubectl:\r\n        - name: nginx\r\n          kind: Pod\r\n          spec:\r\n            ...\r\n```"}}
other: {"actor":{"display_login":"spacetj"}}