Describe the bug
Onboarding a new service today, ran into a couple issues where problems with the Application CRD resulted in odd state in the CLI/UI and no errors propagated up from the application controller.
Ran into this in a couple ways:
In each of these circumstance, the UI displays the Application, but no error or status:

the CLI shows empty status/health columns:
dev-scheduleservice https://kubernetes.default.svc dev dev Auto-Prune <none>
No 'status' object was added to the CRD, which led me to look in the application controller's logs (examples below)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Errors listed in the synchronization results that show the problems in UI -- and error/unknown status for the CRD. I _know_ I made the mistake with a missing/typo'd helm-values-file before and saw the error in the 0.12 UI
Screenshots
If applicable, add screenshots to help explain your problem.
Version
argocd version
argocd: v1.0.0+c74ca22
BuildDate: 2019-05-16T20:04:43Z
GitCommit: c74ca22023cbee245cb83fb23224978fbe23703c
GitTreeState: clean
GoVersion: go1.11.4
Compiler: gc
Platform: darwin/amd64
argocd-server: v1.0.0+c74ca22
BuildDate: 2019-05-16T20:04:21Z
GitCommit: c74ca22023cbee245cb83fb23224978fbe23703c
GitTreeState: clean
GoVersion: go1.11.4
Compiler: gc
Platform: linux/amd64
Ksonnet Version: 0.13.1
Logs
log from invalid project:
argocd-application-controller-55967fb844-785rl argocd-application-controller time="2019-05-17T21:30:28Z" level=warning msg="Error updating application: Application.argoproj.io \"test-scheduleservice\" is invalid: []: Invalid value: map[string]interface {}{\"metadata\":map[string]interface {}{\"creationTimestamp\":\"2019-05-17T21:28:38Z\", \"labels\":map[string]interface {}{\"app.kubernetes.io/instance\":\"test-apps\"}, \"annotations\":map[string]interface {}{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"argoproj.io/v1alpha1\\\",\\\"kind\\\":\\\"Application\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"labels\\\":{\\\"app.kubernetes.io/instance\\\":\\\"test-apps\\\"},\\\"name\\\":\\\"test-scheduleservice\\\",\\\"namespace\\\":\\\"argocd\\\"},\\\"spec\\\":{\\\"destination\\\":{\\\"namespace\\\":\\\"test\\\",\\\"server\\\":\\\"https://REDACTED\\\"},\\\"ignoreDifferences\\\":[{\\\"group\\\":\\\"apps\\\",\\\"jsonPointers\\\":[\\\"/spec/replicas\\\"],\\\"kind\\\":\\\"Deployment\\\"}],\\\"project\\\":\\\"test-trading\\\",\\\"source\\\":{\\\"helm\\\":{\\\"valueFiles\\\":[\\\"test-values.yaml\\\"]},\\\"path\\\":\\\"scheduleservice\\\",\\\"repoURL\\\":\\\"https://gitlab.com/REDACTED/cd-scheduleservice.git\\\",\\\"targetRevision\\\":\\\"HEAD\\\"},\\\"syncPolicy\\\":{\\\"automated\\\":{\\\"prune\\\":true}}}}\\n\"}, \"name\":\"test-scheduleservice\", \"namespace\":\"argocd\", \"uid\":\"bbd02c5c-78ea-11e9-b117-42010a130089\", \"resourceVersion\":\"22796360\", \"generation\":1}, \"spec\":map[string]interface {}{\"destination\":map[string]interface {}{\"namespace\":\"test\", \"server\":\"https://REDACTED\"}, \"ignoreDifferences\":[]interface {}{map[string]interface {}{\"jsonPointers\":[]interface {}{\"/spec/replicas\"}, \"kind\":\"Deployment\", \"group\":\"apps\"}}, \"project\":\"test-trading\", \"source\":map[string]interface {}{\"helm\":map[string]interface {}{\"valueFiles\":[]interface {}{\"test-values.yaml\"}}, \"path\":\"scheduleservice\", \"repoURL\":\"https://gitlab.com/REDACTED/cd-scheduleservice.git\", \"targetRevision\":\"HEAD\"}, \"syncPolicy\":map[string]interface {}{\"automated\":map[string]interface {}{\"prune\":true}}}, \"status\":map[string]interface {}{\"sync\":map[string]interface {}{\"status\":\"Unknown\"}, \"conditions\":[]interface {}{map[string]interface {}{\"message\":\"Application referencing project test-trading which does not exist\", \"type\":\"InvalidSpecError\"}}, \"health\":map[string]interface {}{\"status\":\"Unknown\"}}, \"apiVersion\":\"argoproj.io/v1alpha1\", \"kind\":\"Application\"}: validation failure list:\nstatus.sync.comparedTo in body is required\nstatus.sync.revision in body is required" application=test-scheduleservice
log from missing chart at targetRevision
argocd-application-controller-55967fb844-785rl argocd-application-controller time="2019-05-17T21:54:29Z" level=warning msg="Error updating application: Application.argoproj.io \"staging-scheduleservice\" is invalid: []: Invalid value: map[string]interface {}{\"apiVersion\":\"argoproj.io/v1alpha1\", \"kind\":\"Application\", \"metadata\":map[string]interface {}{\"name\":\"staging-scheduleservice\", \"namespace\":\"argocd\", \"uid\":\"c696d734-78ed-11e9-b1a9-42010a13008a\", \"resourceVersion\":\"22803070\", \"generation\":1, \"creationTimestamp\":\"2019-05-17T21:50:24Z\", \"labels\":map[string]interface {}{\"app.kubernetes.io/instance\":\"staging-apps\"}, \"annotations\":map[string]interface {}{\"kubectl.kubernetes.io/last-applied-configuration\":\"{\\\"apiVersion\\\":\\\"argoproj.io/v1alpha1\\\",\\\"kind\\\":\\\"Application\\\",\\\"metadata\\\":{\\\"annotations\\\":{},\\\"labels\\\":{\\\"app.kubernetes.io/instance\\\":\\\"staging-apps\\\"},\\\"name\\\":\\\"staging-scheduleservice\\\",\\\"namespace\\\":\\\"argocd\\\"},\\\"spec\\\":{\\\"destination\\\":{\\\"namespace\\\":\\\"staging\\\",\\\"server\\\":\\\"https://IPREDACTED\\\"},\\\"ignoreDifferences\\\":[{\\\"group\\\":\\\"apps\\\",\\\"jsonPointers\\\":[\\\"/spec/replicas\\\"],\\\"kind\\\":\\\"Deployment\\\"}],\\\"project\\\":\\\"staging-trading\\\",\\\"source\\\":{\\\"helm\\\":{\\\"valueFiles\\\":[\\\"staging-values.yaml\\\"]},\\\"path\\\":\\\"scheduleservice\\\",\\\"repoURL\\\":\\\"https://gitlab.com/REDACTEDREPO/cd-scheduleservice.git\\\",\\\"targetRevision\\\":\\\"staging\\\"},\\\"syncPolicy\\\":{\\\"automated\\\":{\\\"prune\\\":true}}}}\\n\"}}, \"spec\":map[string]interface {}{\"destination\":map[string]interface {}{\"namespace\":\"staging\", \"server\":\"https://IPREDACTED\"}, \"ignoreDifferences\":[]interface {}{map[string]interface {}{\"group\":\"apps\", \"jsonPointers\":[]interface {}{\"/spec/replicas\"}, \"kind\":\"Deployment\"}}, \"project\":\"staging-trading\", \"source\":map[string]interface {}{\"helm\":map[string]interface {}{\"valueFiles\":[]interface {}{\"staging-values.yaml\"}}, \"path\":\"scheduleservice\", \"repoURL\":\"https://gitlab.com/REDACTEDREPO/cd-scheduleservice.git\", \"targetRevision\":\"staging\"}, \"syncPolicy\":map[string]interface {}{\"automated\":map[string]interface {}{\"prune\":true}}}, \"status\":map[string]interface {}{\"sync\":map[string]interface {}{\"status\":\"Unknown\", \"comparedTo\":map[string]interface {}{\"destination\":map[string]interface {}{\"namespace\":\"staging\", \"server\":\"https://IPREDACTED\"}, \"source\":map[string]interface {}{\"helm\":map[string]interface {}{\"valueFiles\":[]interface {}{\"staging-values.yaml\"}}, \"path\":\"scheduleservice\", \"repoURL\":\"https://gitlab.com/REDACTEDREPO/cd-scheduleservice.git\", \"targetRevision\":\"staging\"}}}, \"conditions\":[]interface {}{map[string]interface {}{\"message\":\"rpc error: code = Unknown desc = chdir /tmp/https:__gitlab.com_tzero-git_REDACTED_REPOcd-scheduleservice/scheduleservice: no such file or directory\", \"type\":\"ComparisonError\"}}, \"health\":map[string]interface {}{\"status\":\"Healthy\"}, \"observedAt\":\"2019-05-17T21:54:28Z\", \"reconciledAt\":\"2019-05-17T21:54:28Z\"}}: validation failure list:\nstatus.sync.revision in body is required" application=staging-scheduleservice
We've similar issues where apps with bad app manifests don't display errors in the UI. @jessesuen I think we should try and address this.




鈽濓笍 @stevesea - thoughts?
Looks good!
Fixed in v1.2
Most helpful comment
App Panel
Invalid Path Within Repo
Invalid Project
Invalid Repo URL