{"action":"reopened","issue":{"url":"https://api.github.com/repos/giantswarm/cli/issues/13","labels_url":"https://api.github.com/repos/giantswarm/cli/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/giantswarm/cli/issues/13/comments","events_url":"https://api.github.com/repos/giantswarm/cli/issues/13/events","html_url":"https://github.com/giantswarm/cli/issues/13","id":56228471,"number":13,"title":"cli: Have description elements in `swarm.json`","user":{"login":"teemow","id":32488,"avatar_url":"https://avatars.githubusercontent.com/u/32488?v=3","gravatar_id":"","url":"https://api.github.com/users/teemow","html_url":"https://github.com/teemow","followers_url":"https://api.github.com/users/teemow/followers","following_url":"https://api.github.com/users/teemow/following{/other_user}","gists_url":"https://api.github.com/users/teemow/gists{/gist_id}","starred_url":"https://api.github.com/users/teemow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teemow/subscriptions","organizations_url":"https://api.github.com/users/teemow/orgs","repos_url":"https://api.github.com/users/teemow/repos","events_url":"https://api.github.com/users/teemow/events{/privacy}","received_events_url":"https://api.github.com/users/teemow/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-02-02T12:06:20Z","updated_at":"2015-11-18T11:48:09Z","closed_at":null,"body":"It would be nice to make the application configuration more self-explanatory. Especially when working in teams, but also for a single user after a longer time of not having looked at a config, not everything is always clear from names.\r\n\r\nI propose that we introduce a key `description` (alternatively: `comment`) that can be used basically in every object context.\r\n\r\nExample:\r\n\r\n```\r\n{\r\n    \"app_name\": \"swarmdocs\",\r\n    \"services\": [\r\n        {\r\n            \"service_name\": \"proxy\",\r\n            \"description\": \"nginx proxy for requests to mkdocs and Elasticsearch\",\r\n            \"components\": [\r\n                {\r\n                    \"component_name\": \"proxy\",\r\n                    \"image\": \"$proxy_image\",\r\n                    \"ports\": [ \"80/tcp\" ],\r\n                    \"dependencies\": [\r\n                        {\r\n                            \"name\": \"mkdocs/mkdocs\",\r\n                            \"port\": 8000,\r\n                            \"alias\": \"upstream\"\r\n                        },\r\n                        {\r\n                            \"name\": \"sitesearch/sitesearch\",\r\n                            \"port\": 9200,\r\n                            \"alias\": \"sitesearch\"\r\n                        }\r\n                    ],\r\n                    \"domains\": {\r\n                        \"$domain1_name\": \"80\"\r\n                    }\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"service_name\": \"mkdocs_master\",\r\n            \"description\": \"Master mkdocs delivers content and also fills the ElasticSearch index when started\",\r\n            \"components\": [\r\n                {\r\n                    \"component_name\": \"mkdocs\",\r\n                    \"image\": \"$mkdocs_image\",\r\n                    \"ports\": [ \"8000/tcp\" ],\r\n                    \"dependencies\": [\r\n                        {\r\n                            \"name\": \"sitesearch/sitesearch\",\r\n                            \"port\": 9200,\r\n                            \"alias\": \"sitesearch\"\r\n                        }\r\n                    ]\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"service_name\": \"mkdocs_slave\",\r\n            \"description\": \"Slave mkdocs only delivers content\",\r\n            \"components\": [\r\n                {\r\n                    \"component_name\": \"mkdocs\",\r\n                    \"image\": \"$mkdocs_image\",\r\n                    \"ports\": [ \"8000/tcp\" ],\r\n                    \"dependencies\": [\r\n                        {\r\n                            \"name\": \"sitesearch/sitesearch\",\r\n                            \"port\": 9200,\r\n                            \"alias\": \"sitesearch\"\r\n                        }\r\n                    ]\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"service_name\": \"sitesearch\",\r\n            \"description\": \"Elasticsearch service\",\r\n            \"components\": [\r\n                {\r\n                    \"component_name\": \"sitesearch\",\r\n                    \"image\": \"$sitesearch_image\",\r\n                    \"ports\": [ \"9200/tcp\" ]\r\n                }\r\n            ]\r\n        }\r\n    ]\r\n}\r\n\r\n```\r\n\r\nOriginal Author: @marian\r\nCreated at 12-01-2015 17:37:52\r\nGitlab: [giantswarm/cli!230](https://git.giantswarm.io/giantswarm/cli/issues/230)"}}