{"action":"created","issue":{"url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/37","repository_url":"https://api.github.com/repos/hilbert/hilbert-cli","labels_url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/37/comments","events_url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/37/events","html_url":"https://github.com/hilbert/hilbert-cli/issues/37","id":188262317,"number":37,"title":"Configuration Validator: complex general validation","user":{"login":"malex984","id":391009,"avatar_url":"https://avatars.githubusercontent.com/u/391009?v=3","gravatar_id":"","url":"https://api.github.com/users/malex984","html_url":"https://github.com/malex984","followers_url":"https://api.github.com/users/malex984/followers","following_url":"https://api.github.com/users/malex984/following{/other_user}","gists_url":"https://api.github.com/users/malex984/gists{/gist_id}","starred_url":"https://api.github.com/users/malex984/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malex984/subscriptions","organizations_url":"https://api.github.com/users/malex984/orgs","repos_url":"https://api.github.com/users/malex984/repos","events_url":"https://api.github.com/users/malex984/events{/privacy}","received_events_url":"https://api.github.com/users/malex984/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-11-09T14:37:15Z","updated_at":"2016-11-09T14:44:02Z","closed_at":null,"body":"**@elondaits commented on [hilbert-cli-config.py](https://github.com/hilbert/hilbert-cli/blob/feature/config_validate/config/hilbert-cli-config.py)**:\r\n> Try not to do any complex general validation because if the UI starts 100 stations it'll call the CLI 100 times, and the configuration will be validated 100 times. So try to do any complex validation of structure only when it's needed. E.g. if someone asks to stop a station we don't need to check that station groups are compatible with assigned apps or anything."},"comment":{"url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/comments/259430550","html_url":"https://github.com/hilbert/hilbert-cli/issues/37#issuecomment-259430550","issue_url":"https://api.github.com/repos/hilbert/hilbert-cli/issues/37","id":259430550,"user":{"login":"malex984","id":391009,"avatar_url":"https://avatars.githubusercontent.com/u/391009?v=3","gravatar_id":"","url":"https://api.github.com/users/malex984","html_url":"https://github.com/malex984","followers_url":"https://api.github.com/users/malex984/followers","following_url":"https://api.github.com/users/malex984/following{/other_user}","gists_url":"https://api.github.com/users/malex984/gists{/gist_id}","starred_url":"https://api.github.com/users/malex984/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malex984/subscriptions","organizations_url":"https://api.github.com/users/malex984/orgs","repos_url":"https://api.github.com/users/malex984/repos","events_url":"https://api.github.com/users/malex984/events{/privacy}","received_events_url":"https://api.github.com/users/malex984/received_events","type":"User","site_admin":false},"created_at":"2016-11-09T14:44:02Z","updated_at":"2016-11-09T14:44:02Z","body":"**@elondaits reply:**\r\n> OK. Validating the whole config with a tool is perhaps useful. But you still need to validate the config in `hilbert-cli-server` when you're using it... if a value you require is missing, or is the wrong type, you must still throw an exception / error. That's where I would just leave each component to validate whatever it needs to use."}}
{"actor":{"display_login":"malex984"}}