{"action":"created","comment":{"url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/comments/46683807","id":46683807,"diff_hunk":"@@ -0,0 +1,254 @@\n+---\n+layout: toc-page\n+title: Customizing Spinnaker Configuration\n+id: customizing_spinnaker\n+lang: en\n+---\n+\n+* Table of contents. This line is required to start the list.\n+{:toc}\n+\n+# Custom Configuring a Spinnaker Deployment\n+\n+This document provides an overview of how Spinnaker is configured and\n+how to customize it for your particular deployment.\n+\n+\n+## Overview of Spinnaker Configuration\n+\n+Spinnaker is composed of multiple systems, each of which can be configured\n+independently. In order to facilitate system-wide configuration, there is\n+a master configuration file that provides the key parameters from a global\n+spinnaker perspective, which should meet most typical needs.\n+\n+Spinnaker uses Spring to configure itself. Technically this means that\n+there are lots of different ways and places to configure Spinnaker. However,\n+it is not necessary to worry about the intracacies and details of Spring,\n+nor will this guide discuss Spring or its mechanics other than mentioning\n+that approaching the Spring dimension can offer additional techniques not\n+addressed in this guide.\n+\n+\n+### Types of configuration files\n+\n+The complete realm of configuration possibilities spans a lot of files\n+in a lot of locations. For practical purposes the critical files you will\n+be concerned with are:\n+* Spinnaker's default `*.yml` files in `/opt/spinnaker/config`\n+* Your customized `*-local.yml` files in `/home/spinnaker/.spinnaker`\n+* Provider platform credential files you provide and deposit somewhere\n+  under `/home/spinnaker`.\n+\n+\n+### About notation used within the YAML files\n+\n+The YAML files define hierarchical name value pairs. The values can be indirect\n+using the notation `${property}` or `${property:default}` where\n+`property` is the name of the property whose value is being referenced and\n+`default`, if provided, is the value to use if `*property*` cannot be found.\n+Technically, the *property* uses Spring to resolve the value. But in practice\n+these will usually resolve to properties specified elsewhere in the YAML or\n+as environment variables. By convention, environment variables are typically\n+upper case.\n+\n+The standard practice within Spinnaker is that the *subsystem*`.yml` files\n+will specify their configuration by referencing properties defined in\n+`spinnaker.yml` for standard system-wide values and policies, and inline literal\n+values for values that are local, encapsulated, or non-standard overrides.\n+\n+The `spinnaker.yml` file defines two hierarchies of properties (described later),\n+neither of which are directly used to configure the systems. Rather these are\n+used for those system configurations to reference to explicitly acknowledge how\n+and where they are using the standard configuration values, since they always\n+include the `spinnaker.yml`. In other words, you can completely rewrite the\n+*system*`.yml` files and forget about `spinnaker.yml`, however this will become\n+tedious to maintain in a consistent way.\n+\n+\n+### About the different YAML files\n+\n+These configuration files are specified using YAML, and named *system*`.yml`","path":"documentation/configuration.md","position":70,"original_position":70,"commit_id":"368da44a22149aec2759ffb5e109ceac49c641c6","original_commit_id":"368da44a22149aec2759ffb5e109ceac49c641c6","user":{"login":"ttomsu","id":13141550,"avatar_url":"https://avatars.githubusercontent.com/u/13141550?v=3","gravatar_id":"","url":"https://api.github.com/users/ttomsu","html_url":"https://github.com/ttomsu","followers_url":"https://api.github.com/users/ttomsu/followers","following_url":"https://api.github.com/users/ttomsu/following{/other_user}","gists_url":"https://api.github.com/users/ttomsu/gists{/gist_id}","starred_url":"https://api.github.com/users/ttomsu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ttomsu/subscriptions","organizations_url":"https://api.github.com/users/ttomsu/orgs","repos_url":"https://api.github.com/users/ttomsu/repos","events_url":"https://api.github.com/users/ttomsu/events{/privacy}","received_events_url":"https://api.github.com/users/ttomsu/received_events","type":"User","site_admin":false},"body":"> These configuration files are specified using YAML\r\n\r\nThis is restating the obvious - the title has YAML and there are least a dozen `.yml` references by the time you get to this point in the doc. ","created_at":"2015-12-04T13:59:37Z","updated_at":"2015-12-04T13:59:37Z","html_url":"https://github.com/spinnaker/spinnaker.github.io/pull/94#discussion_r46683807","pull_request_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94","_links":{"self":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/comments/46683807"},"html":{"href":"https://github.com/spinnaker/spinnaker.github.io/pull/94#discussion_r46683807"},"pull_request":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94"}}},"pull_request":{"url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94","id":52635701,"html_url":"https://github.com/spinnaker/spinnaker.github.io/pull/94","diff_url":"https://github.com/spinnaker/spinnaker.github.io/pull/94.diff","patch_url":"https://github.com/spinnaker/spinnaker.github.io/pull/94.patch","issue_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/94","number":94,"state":"open","locked":false,"title":"Added configuration guide.","user":{"login":"ewiseblatt","id":4367384,"avatar_url":"https://avatars.githubusercontent.com/u/4367384?v=3","gravatar_id":"","url":"https://api.github.com/users/ewiseblatt","html_url":"https://github.com/ewiseblatt","followers_url":"https://api.github.com/users/ewiseblatt/followers","following_url":"https://api.github.com/users/ewiseblatt/following{/other_user}","gists_url":"https://api.github.com/users/ewiseblatt/gists{/gist_id}","starred_url":"https://api.github.com/users/ewiseblatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ewiseblatt/subscriptions","organizations_url":"https://api.github.com/users/ewiseblatt/orgs","repos_url":"https://api.github.com/users/ewiseblatt/repos","events_url":"https://api.github.com/users/ewiseblatt/events{/privacy}","received_events_url":"https://api.github.com/users/ewiseblatt/received_events","type":"User","site_admin":false},"body":"@duftler","created_at":"2015-12-04T06:51:14Z","updated_at":"2015-12-04T13:59:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a113fe333c236174147587038baf58bb191d9a08","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94/commits","review_comments_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94/comments","review_comment_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/comments{/number}","comments_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/94/comments","statuses_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/statuses/368da44a22149aec2759ffb5e109ceac49c641c6","head":{"label":"ewiseblatt:configuration","ref":"configuration","sha":"368da44a22149aec2759ffb5e109ceac49c641c6","user":{"login":"ewiseblatt","id":4367384,"avatar_url":"https://avatars.githubusercontent.com/u/4367384?v=3","gravatar_id":"","url":"https://api.github.com/users/ewiseblatt","html_url":"https://github.com/ewiseblatt","followers_url":"https://api.github.com/users/ewiseblatt/followers","following_url":"https://api.github.com/users/ewiseblatt/following{/other_user}","gists_url":"https://api.github.com/users/ewiseblatt/gists{/gist_id}","starred_url":"https://api.github.com/users/ewiseblatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ewiseblatt/subscriptions","organizations_url":"https://api.github.com/users/ewiseblatt/orgs","repos_url":"https://api.github.com/users/ewiseblatt/repos","events_url":"https://api.github.com/users/ewiseblatt/events{/privacy}","received_events_url":"https://api.github.com/users/ewiseblatt/received_events","type":"User","site_admin":false},"repo":{"id":46518345,"name":"spinnaker.github.io","full_name":"ewiseblatt/spinnaker.github.io","owner":{"login":"ewiseblatt","id":4367384,"avatar_url":"https://avatars.githubusercontent.com/u/4367384?v=3","gravatar_id":"","url":"https://api.github.com/users/ewiseblatt","html_url":"https://github.com/ewiseblatt","followers_url":"https://api.github.com/users/ewiseblatt/followers","following_url":"https://api.github.com/users/ewiseblatt/following{/other_user}","gists_url":"https://api.github.com/users/ewiseblatt/gists{/gist_id}","starred_url":"https://api.github.com/users/ewiseblatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ewiseblatt/subscriptions","organizations_url":"https://api.github.com/users/ewiseblatt/orgs","repos_url":"https://api.github.com/users/ewiseblatt/repos","events_url":"https://api.github.com/users/ewiseblatt/events{/privacy}","received_events_url":"https://api.github.com/users/ewiseblatt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ewiseblatt/spinnaker.github.io","description":"Spinnaker's official site","fork":true,"url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io","forks_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/forks","keys_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/teams","hooks_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/hooks","issue_events_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/events","assignees_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/tags","blobs_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/languages","stargazers_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/stargazers","contributors_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/contributors","subscribers_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/subscribers","subscription_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/subscription","commits_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/merges","archive_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/downloads","issues_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/labels{/name}","releases_url":"https://api.github.com/repos/ewiseblatt/spinnaker.github.io/releases{/id}","created_at":"2015-11-19T20:28:17Z","updated_at":"2015-11-19T20:28:18Z","pushed_at":"2015-12-04T06:50:59Z","git_url":"git://github.com/ewiseblatt/spinnaker.github.io.git","ssh_url":"git@github.com:ewiseblatt/spinnaker.github.io.git","clone_url":"https://github.com/ewiseblatt/spinnaker.github.io.git","svn_url":"https://github.com/ewiseblatt/spinnaker.github.io","homepage":"http://spinnaker.io","size":2617,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"spinnaker:master","ref":"master","sha":"24cc826cfaac5bf3b255415b1b19bb8d0dca1c4e","user":{"login":"spinnaker","id":7634182,"avatar_url":"https://avatars.githubusercontent.com/u/7634182?v=3","gravatar_id":"","url":"https://api.github.com/users/spinnaker","html_url":"https://github.com/spinnaker","followers_url":"https://api.github.com/users/spinnaker/followers","following_url":"https://api.github.com/users/spinnaker/following{/other_user}","gists_url":"https://api.github.com/users/spinnaker/gists{/gist_id}","starred_url":"https://api.github.com/users/spinnaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spinnaker/subscriptions","organizations_url":"https://api.github.com/users/spinnaker/orgs","repos_url":"https://api.github.com/users/spinnaker/repos","events_url":"https://api.github.com/users/spinnaker/events{/privacy}","received_events_url":"https://api.github.com/users/spinnaker/received_events","type":"Organization","site_admin":false},"repo":{"id":45926977,"name":"spinnaker.github.io","full_name":"spinnaker/spinnaker.github.io","owner":{"login":"spinnaker","id":7634182,"avatar_url":"https://avatars.githubusercontent.com/u/7634182?v=3","gravatar_id":"","url":"https://api.github.com/users/spinnaker","html_url":"https://github.com/spinnaker","followers_url":"https://api.github.com/users/spinnaker/followers","following_url":"https://api.github.com/users/spinnaker/following{/other_user}","gists_url":"https://api.github.com/users/spinnaker/gists{/gist_id}","starred_url":"https://api.github.com/users/spinnaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spinnaker/subscriptions","organizations_url":"https://api.github.com/users/spinnaker/orgs","repos_url":"https://api.github.com/users/spinnaker/repos","events_url":"https://api.github.com/users/spinnaker/events{/privacy}","received_events_url":"https://api.github.com/users/spinnaker/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/spinnaker/spinnaker.github.io","description":"Spinnaker's official site","fork":false,"url":"https://api.github.com/repos/spinnaker/spinnaker.github.io","forks_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/forks","keys_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/teams","hooks_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/hooks","issue_events_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/events{/number}","events_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/events","assignees_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/assignees{/user}","branches_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/branches{/branch}","tags_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/tags","blobs_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/statuses/{sha}","languages_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/languages","stargazers_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/stargazers","contributors_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/contributors","subscribers_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/subscribers","subscription_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/subscription","commits_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/contents/{+path}","compare_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/merges","archive_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/downloads","issues_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues{/number}","pulls_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls{/number}","milestones_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/milestones{/number}","notifications_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/labels{/name}","releases_url":"https://api.github.com/repos/spinnaker/spinnaker.github.io/releases{/id}","created_at":"2015-11-10T17:04:06Z","updated_at":"2015-11-24T21:02:44Z","pushed_at":"2015-12-04T06:51:14Z","git_url":"git://github.com/spinnaker/spinnaker.github.io.git","ssh_url":"git@github.com:spinnaker/spinnaker.github.io.git","clone_url":"https://github.com/spinnaker/spinnaker.github.io.git","svn_url":"https://github.com/spinnaker/spinnaker.github.io","homepage":"http://spinnaker.io","size":6191,"stargazers_count":18,"watchers_count":18,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":23,"mirror_url":null,"open_issues_count":4,"forks":23,"open_issues":4,"watchers":18,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94"},"html":{"href":"https://github.com/spinnaker/spinnaker.github.io/pull/94"},"issue":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/94"},"comments":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/issues/94/comments"},"review_comments":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94/comments"},"review_comment":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/pulls/94/commits"},"statuses":{"href":"https://api.github.com/repos/spinnaker/spinnaker.github.io/statuses/368da44a22149aec2759ffb5e109ceac49c641c6"}}}}