diff --git a/.gitignore b/.gitignore index 25f04c6e74..c87a1e312d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ node_modules/ *.iws /.vscode/ .DS_Store +/vendor diff --git a/Dockerfile b/Dockerfile index cbe77b9a85..1084d1b9a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,4 +18,4 @@ RUN bundle install --frozen EXPOSE 4000 WORKDIR /code -ENTRYPOINT [ "bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0", "--watch" ] +ENTRYPOINT [ "bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0", "--watch"] diff --git a/Gemfile b/Gemfile index 12132ef66a..e5799accd2 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,11 @@ source "https://rubygems.org" gemspec -gem "github-pages", group: :jekyll_plugins +group :jekyll_plugins do + gem "github-pages" + # gem "premonition", "4.0.0" + # Fix for https://github.com/lazee/premonition/issues/29 + gem "premonition", git: "https://github.com/RobbiNespu/premonition", ref: "f87d5ddd029edf1c1c435024174d1a6a6bfcb385" +end + gem "html-proofer" diff --git a/Gemfile.lock b/Gemfile.lock index a5b1288afd..e835a607b7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,11 @@ +GIT + remote: https://github.com/RobbiNespu/premonition + revision: f87d5ddd029edf1c1c435024174d1a6a6bfcb385 + ref: f87d5ddd029edf1c1c435024174d1a6a6bfcb385 + specs: + premonition (4.0.0) + jekyll (>= 3.7, < 5.0) + PATH remote: . specs: @@ -6,10 +14,10 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (4.2.11.1) - i18n (~> 0.7) + activesupport (5.2.4.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) @@ -20,65 +28,67 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.5) - dnsruby (1.61.3) - addressable (~> 2.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.7) + dnsruby (1.61.5) + simpleidn (~> 0.1) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) ethon (0.12.0) ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (0.17.1) + faraday (1.3.0) + faraday-net_http (~> 1.0) multipart-post (>= 1.2, < 3) - ffi (1.11.3) + ruby2_keywords + faraday-net_http (1.0.0) + ffi (1.14.2) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (202) - activesupport (= 4.2.11.1) + github-pages (209) github-pages-health-check (= 1.16.1) - jekyll (= 3.8.5) - jekyll-avatar (= 0.6.0) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) jekyll-commonmark-ghpages (= 0.1.6) jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) + jekyll-feed (= 0.15.1) jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.4.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.2) jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) + jekyll-seo-tag (= 2.6.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) jekyll-theme-architect (= 0.1.1) jekyll-theme-cayman (= 0.1.1) jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) jekyll-theme-leap-day (= 0.1.1) jekyll-theme-merlot (= 0.1.1) jekyll-theme-midnight (= 0.1.1) jekyll-theme-minimal (= 0.1.1) jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) + jekyll-theme-primer (= 0.5.4) jekyll-theme-slate (= 0.1.1) jekyll-theme-tactile (= 0.1.1) jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) - kramdown (= 1.17.0) - liquid (= 4.0.0) - listen (= 3.1.5) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) mercenary (~> 0.3) - minima (= 2.5.0) + minima (= 2.5.1) nokogiri (>= 1.10.4, < 2.0) - rouge (= 3.11.0) + rouge (= 3.23.0) terminal-table (~> 1.4) github-pages-health-check (1.16.1) addressable (~> 2.3) @@ -86,13 +96,13 @@ GEM octokit (~> 4.0) public_suffix (~> 3.0) typhoeus (~> 1.3) - html-pipeline (2.12.2) + html-pipeline (2.14.0) activesupport (>= 2) nokogiri (>= 1.4) - html-proofer (3.14.1) + html-proofer (3.18.2) addressable (~> 2.3) mercenary (~> 0.3) - nokogiri (~> 1.10) + nokogumbo (~> 2.0) parallel (~> 1.3) rainbow (~> 3.0) typhoeus (~> 1.3) @@ -100,21 +110,21 @@ GEM http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (3.9.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) i18n (~> 0.7) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (>= 1.17, < 3) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.1.1) coffee-script (~> 2.2) coffee-script-source (~> 1.11.1) @@ -127,36 +137,37 @@ GEM rouge (>= 2.0, < 4.0) jekyll-default-layout (0.1.4) jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-github-metadata (2.12.1) - jekyll (~> 3.4) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) + jekyll-mentions (1.6.0) html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.4.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.2) addressable (~> 2.0) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) jekyll-theme-architect (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) @@ -166,8 +177,8 @@ GEM jekyll-theme-dinky (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) jekyll-seo-tag (~> 2.0) jekyll-theme-leap-day (0.1.1) jekyll (~> 3.5) @@ -184,8 +195,8 @@ GEM jekyll-theme-modernist (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) jekyll-github-metadata (~> 2.9) jekyll-seo-tag (~> 2.0) jekyll-theme-slate (0.1.1) @@ -197,46 +208,52 @@ GEM jekyll-theme-time-machine (0.1.1) jekyll (~> 3.5) jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.2) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.4.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.13.0) + minitest (5.14.2) multipart-post (2.1.1) - nokogiri (1.10.8) + nokogiri (1.10.10) mini_portile2 (~> 2.4.0) - octokit (4.14.0) + nokogumbo (2.0.4) + nokogiri (~> 1.8, >= 1.8.4) + octokit (4.20.0) + faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) - parallel (1.19.1) + parallel (1.20.1) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (3.1.1) rainbow (3.0.0) rake (12.3.3) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) ffi (~> 1.0) - rouge (3.11.0) - ruby-enum (0.7.2) + rexml (3.2.4) + rouge (3.23.0) + ruby-enum (0.8.0) i18n - ruby_dep (1.5.0) - rubyzip (2.0.0) + ruby2_keywords (0.0.2) + rubyzip (2.3.0) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -246,15 +263,20 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) + simpleidn (0.1.1) + unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.5) + tzinfo (1.2.9) thread_safe (~> 0.1) - unicode-display_width (1.6.0) - yell (2.2.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + yell (2.2.2) PLATFORMS ruby @@ -263,6 +285,7 @@ DEPENDENCIES github-pages html-proofer minimal-mistakes-jekyll! + premonition! rake (~> 12.3) BUNDLED WITH diff --git a/Rakefile b/Rakefile index f7beb8efd2..4df36f6f48 100644 --- a/Rakefile +++ b/Rakefile @@ -12,7 +12,8 @@ task :test do :disable_external => true, # TODO: each "Suggest Edit" button return 404 for some reason? :empty_alt_ignore => true, :file_ignore => [ - /.*service\-plugin\-apis.*/ # Ignore auto-generated javadocs + /.*service\-plugin\-apis.*/, # Ignore auto-generated javadocs + /.*reference\/api\/docs.html/ # Ignore auto-generated API docs ] } HTMLProofer.check_directory("./_site", options).run diff --git a/_config.yml b/_config.yml index aacad78fcd..bdd9dddbc3 100644 --- a/_config.yml +++ b/_config.yml @@ -189,6 +189,7 @@ plugins: - jekyll-feed - jekyll-redirect-from - jemoji + - premonition # mimic GitHub Pages with --safe whitelist: diff --git a/_data/navigation.yml b/_data/navigation.yml index 46de27c4ed..f10a3e68c1 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -574,6 +574,8 @@ guides: url: https://github.com/spinnaker/igor/blob/master/README.md - title: Orca url: /guides/developer/service-overviews/orca/ + - title: Keel + url: https://github.com/spinnaker/keel/blob/master/README.md reference: - title: API collapsed: true diff --git a/_layouts/default.html b/_layouts/default.html index d28e9252fb..69e44e96d2 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -11,6 +11,7 @@
+ {% include head.html %} {% include head/custom.html %} diff --git a/_sass/premonition.scss b/_sass/premonition.scss new file mode 100644 index 0000000000..d89e5465ca --- /dev/null +++ b/_sass/premonition.scss @@ -0,0 +1,159 @@ +$default-color: #5bc0de; +$default-light-color: #e3edf2; +$info-color: #50af51; +$info-light-color: #f3f8f3; +$warning-color: #f0ad4e; +$warning-light-color: #fcf8f2; +$error-color: #d9534f; +$error-light-color: #fdf7f7; +$content-color: rgba(0, 0, 0, 0.5); +$citation-color: #495057; +$citation-light-color: #f8f9fa; + +$svg-default-color: "5bc0de"; +$svg-info-color: "50af51"; +$svg-warning-color: "f0ad4e"; +$svg-error-color: "d9534f"; +$svg-citation-color: "495057"; + +.premonition { + display: grid; + grid-template-columns: 43px auto; + padding-top: 13px; + padding-bottom: 13px; + margin: 30px 0 30px 0; + background-color: $default-light-color; + border-left: 4px solid $default-color; + color: $default-color; + + code { + background-color: #fff; + color: $default-color; + } + + .header { + font-weight: 500; + font-size: 1.1rem; + color: $default-color; + padding-bottom: 6px; + } + + .content { + color: $content-color; + padding-left: 20px; + padding-right: 40px; + } + + p { + margin-top: 0; + margin-bottom: 0; + } + + @mixin box-type($c, $lc) { + background-color: $lc; + color: $c; + border-color: $c; + + a { + color: $c; + text-decoration: underline; + } + code { + color: $c; + } + .header { + color: $c; + } + } + + &.info { + @include box-type($info-color, $info-light-color); + } + &.warning { + @include box-type($warning-color, $warning-light-color); + } + &.error { + @include box-type($error-color, $error-light-color); + } + &.citation { + @include box-type($citation-color, $citation-light-color); + + blockquote { + border-left: 0; + } + } + + .fa, + .fas, + .far, + .fal, + .fab { + font-size: 28px; + opacity: 0.3; + padding-top: 2px; + padding-left: 20px; + } + + & > svg { + opacity: 0.6; + margin-top: 0.36rem; + margin-left: 0.7rem; + } + + @mixin pn-icon($pre, $color, $post) { + border: 0; + margin: 3px 0 0 14px; + background-repeat: no-repeat; + background-color: transparent; + background-image: url($pre + "%23" + $color + $post); + background-size: 28px 28px; + width: 28px; + height: 28px; + opacity: 0.3; + } + + /* Autogenerated code */ + &.pn-note { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M40,0.5 C18.1847524,0.5 0.5,18.1847524 0.5,40 L0.5,125 C0.5,146.815248 18.1847524,164.5 40,164.5 L125,164.5 C146.815248,164.5 164.5,146.815248 164.5,125 L164.5,40 C164.5,18.1847524 146.815248,0.5 125,0.5 L40,0.5 Z M73.9421225,101.035652 C105.680247,64.0622419 122.973943,44.3076275 125.890221,41.6952841 C129.340278,37.6445263 135.770506,37.5263132 140.538208,40.8455453 C145.631474,44.3914319 146.755991,50.3287958 142.263833,56.0881327 C114.758351,89.0776641 89.30795,118.028061 81.5674939,125.633994 C76.464822,130.398827 70.5909248,130.398827 66.4355344,125.58961 C62.9024905,121.371642 58.9333122,116.710237 54.3854087,111.427565 C53.8350288,110.788264 53.2758998,110.139548 52.706934,109.480131 C49.8512069,106.170414 46.9143172,102.783286 43.1506474,98.4546038 C43.1657573,98.4719821 36.1709078,90.431646 34.3564576,88.341891 C27.8799723,80.882735 24.2336656,76.6160672 22.1013335,73.9633891 L22.095737,73.9562966 C15.4200148,65.3371074 30.5778334,52.1721209 38.5786063,60.512576 C48.9690719,71.5242952 60.7566779,85.0318321 73.9420929,101.035687 Z' id='Note' stroke='%23979797' fill='", + $svg-default-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + &.pn-info { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M82.5,165 C36.9365081,165 0,128.063492 0,82.5 C0,36.9365081 36.9365081,0 82.5,0 C128.063492,0 165,36.9365081 165,82.5 C165,128.063492 128.063492,165 82.5,165 Z M71.3481445,44.7539062 C71.3481445,47.7402493 72.400136,50.2853899 74.5041504,52.3894043 C76.6081648,54.4934187 79.1533054,55.5454102 82.1396484,55.5454102 C85.0807439,55.5454102 87.603261,54.4934187 89.7072754,52.3894043 C91.8112898,50.2853899 92.8632812,47.7402493 92.8632812,44.7539062 C92.8632812,41.7675632 91.8112898,39.2224226 89.7072754,37.1184082 C87.603261,35.0143938 85.0807439,33.9624023 82.1396484,33.9624023 C79.1533054,33.9624023 76.6081648,35.0143938 74.5041504,37.1184082 C72.400136,39.2224226 71.3481445,41.7675632 71.3481445,44.7539062 Z M65.2397461,126.674316 L65.2397461,130 L98.3608398,130 L98.3608398,126.674316 C95.8722206,126.176593 94.1754603,125.497888 93.2705078,124.638184 C92.3655554,123.778479 91.9130859,121.83286 91.9130859,118.80127 L91.9130859,65.9975586 L65.2397461,65.9975586 L65.2397461,69.3911133 C68.0450987,69.8888371 69.9228468,70.6467234 70.8730469,71.6647949 C71.8232469,72.6828664 72.2983398,74.5945498 72.2983398,77.3999023 L72.2983398,118.258301 C72.2983398,121.425634 71.6196357,123.620111 70.262207,124.841797 C69.3572546,125.656254 67.6831177,126.267088 65.2397461,126.674316 Z' id='Info' fill='", + $svg-info-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + &.pn-warn { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M82.5,165 C36.9365081,165 0,128.063492 0,82.5 C0,36.9365081 36.9365081,0 82.5,0 C128.063492,0 165,36.9365081 165,82.5 C165,128.063492 128.063492,165 82.5,165 Z M70.0629883,121.226562 C70.0629883,124.484391 71.2054736,127.255767 73.4904785,129.540771 C75.7754834,131.825776 78.5468587,132.968262 81.8046875,132.968262 C85.0625163,132.968262 87.8338916,131.825776 90.1188965,129.540771 C92.4039014,127.255767 93.5463867,124.484391 93.5463867,121.226562 C93.5463867,117.968734 92.4039014,115.197358 90.1188965,112.912354 C87.8338916,110.627349 85.0625163,109.484863 81.8046875,109.484863 C78.5468587,109.484863 75.7754834,110.627349 73.4904785,112.912354 C71.2054736,115.197358 70.0629883,117.968734 70.0629883,121.226562 Z M70.0629883,49.1474609 C70.0629883,50.8668706 70.4475873,53.2423351 71.2167969,56.2739258 C71.7145207,58.2195735 72.8230708,62.1108107 74.5424805,67.9477539 C75.8999091,72.5177637 76.804848,76.0696488 77.2573242,78.6035156 C77.7098004,81.1373825 78.5921158,87.7886831 79.9042969,98.5576172 L83.9086914,98.5576172 C84.8588915,90.0058166 85.5489074,84.3160135 85.9787598,81.4880371 C86.4086122,78.6600607 87.2117454,75.1194874 88.3881836,70.8662109 C90.3338313,63.8075819 91.6799279,58.7286125 92.4265137,55.6291504 C93.1730994,52.5296883 93.5463867,50.2107824 93.5463867,48.6723633 C93.5463867,43.7856201 92.3586545,40.278982 89.9831543,38.1523438 C87.6076541,36.0257055 84.8815258,34.9624023 81.8046875,34.9624023 C78.637354,34.9624023 75.8886021,36.0370172 73.5583496,38.1862793 C71.2280971,40.3355413 70.0629883,43.989232 70.0629883,49.1474609 Z' id='Warning' fill='", + $svg-warning-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + &.pn-error { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M94.8695048,7.74207645 L163.217029,144.437125 C166.674878,151.352824 163.871738,159.762246 156.956039,163.220096 C155.012063,164.192084 152.86848,164.698115 150.695048,164.698115 L14,164.698115 C6.2680135,164.698115 -4.08562073e-14,158.430102 -4.26325641e-14,150.698115 C-4.26325641e-14,148.524684 0.506031285,146.381101 1.47801933,144.437125 L69.8255435,7.74207645 C73.283393,0.826377491 81.6928155,-1.97676336 88.6085145,1.48108612 C91.3178981,2.83577793 93.514813,5.03269282 94.8695048,7.74207645 Z M70.4105124,130.924678 C70.4105124,134.182506 71.5529978,136.953882 73.8380027,139.238887 C76.1230076,141.523892 78.8943829,142.666377 82.1522117,142.666377 C85.4100404,142.666377 88.1814157,141.523892 90.4664206,139.238887 C92.7514256,136.953882 93.8939109,134.182506 93.8939109,130.924678 C93.8939109,127.666849 92.7514256,124.895474 90.4664206,122.610469 C88.1814157,120.325464 85.4100404,119.182978 82.1522117,119.182978 C78.8943829,119.182978 76.1230076,120.325464 73.8380027,122.610469 C71.5529978,124.895474 70.4105124,127.666849 70.4105124,130.924678 Z M70.4105124,58.845576 C70.4105124,60.5649857 70.7951115,62.9404502 71.564321,65.9720409 C72.0620449,67.9176886 73.170595,71.8089258 74.8900046,77.645869 C76.2474333,82.2158788 77.1523722,85.7677639 77.6048484,88.3016307 C78.0573246,90.8354976 78.93964,97.4867982 80.251821,108.255732 L84.2562156,108.255732 C85.2064156,99.7039317 85.8964315,94.0141286 86.3262839,91.1861522 C86.7561363,88.3581758 87.5592696,84.8176025 88.7357078,80.564326 C90.6813555,73.505697 92.0274521,68.4267276 92.7740378,65.3272655 C93.5206236,62.2278034 93.8939109,59.9088975 93.8939109,58.3704784 C93.8939109,53.4837352 92.7061786,49.9770971 90.3306785,47.8504589 C87.9551783,45.7238206 85.22905,44.6605175 82.1522117,44.6605175 C78.9848781,44.6605175 76.2361263,45.7351324 73.9058738,47.8843944 C71.5756212,50.0336565 70.4105124,53.6873471 70.4105124,58.845576 Z' id='Error' fill='", + $svg-error-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + &.pn-quote { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M104.546838,164.525333 C97.1871585,164.350607 90.6368822,160.915227 90.6512001,150.013018 C90.4479076,131.842639 90.4697154,98.303237 90.6512001,49.7828789 C91.9844555,2.36817118 138.064959,0.504907944 148.576644,0.0692731383 C152.479575,0.302510658 153.780675,2.21617827 154.578947,4.17356105 C155.831948,9.88458567 155.831948,17.6357453 154.578947,27.4270401 C153.93686,32.7057192 151.936092,35.3224781 148.576644,35.2773166 C143.472082,35.2236794 151.862467,35.2263624 140.927765,35.2773166 C128.559674,35.7091823 122.660334,39.3672244 122.615074,56.9085817 C122.635604,63.1213926 122.635604,71.5842998 122.615074,82.2973033 C138.48496,82.4101196 149.139584,82.4488979 154.578947,82.4136382 C159.435737,82.5353733 163.923774,84.3352392 164.565789,96.288498 C164.874062,119.857257 164.829662,136.387115 164.782895,150.013018 C164.664253,157.17723 161.233392,164.356416 151.753558,164.525333 C127.51005,164.615729 113.455097,164.525333 104.546838,164.525333 Z M14.0400451,164.45606 C6.68036548,164.281334 0.130089247,160.845954 0.144407166,149.943745 C-0.058885353,131.773366 -0.0370775896,98.2339638 0.144407166,49.7136058 C1.47766255,2.29889804 47.5581663,0.435634806 58.0698511,-9.9475983e-14 C61.9727821,0.233237519 63.2738816,2.14690514 64.0721544,4.10428791 C65.3251551,9.81531253 65.3251551,17.5664722 64.0721544,27.3577669 C63.4300669,32.6364461 61.4292991,35.2532049 58.0698511,35.2080434 C52.9652887,35.1544062 61.3556736,35.1570892 50.4209719,35.2080434 C38.0528815,35.6399092 32.153541,39.2979513 32.1082808,56.8393085 C32.1288111,63.0521194 32.1288111,71.5150266 32.1082808,82.2280302 C47.9781667,82.3408464 58.6327912,82.3796247 64.0721544,82.3443651 C68.9289443,82.4661002 73.4169814,84.265966 74.0589965,96.2192249 C74.367269,119.787984 74.3228688,136.317842 74.2761018,149.943745 C74.1574604,157.107957 70.7265987,164.287143 61.2467647,164.45606 C37.0032571,164.546456 22.9483044,164.45606 14.0400451,164.45606 Z' id='Quote' fill='", + $svg-citation-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + &.pn-square { + @include pn-icon( + "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='165px' height='165px' viewBox='0 0 165 165' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M82.5,165 C36.9365081,165 0,128.063492 0,82.5 C0,36.9365081 36.9365081,0 82.5,0 C128.063492,0 165,36.9365081 165,82.5 C165,128.063492 128.063492,165 82.5,165 Z M115.5,99 C124.612698,99 132,91.3888407 132,82 C132,72.6111593 124.612698,65 115.5,65 C106.387302,65 99,72.6111593 99,82 C99,91.3888407 106.387302,99 115.5,99 Z M49.5,99 C58.6126984,99 66,91.3888407 66,82 C66,72.6111593 58.6126984,65 49.5,65 C40.3873016,65 33,72.6111593 33,82 C33,91.3888407 40.3873016,99 49.5,99 Z M66,114 L66,129 L99,129 L99,114 L66,114 Z' id='Default' fill='", + $svg-default-color, + "'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + ); + } + /* End of Autogenerated code */ +} diff --git a/assets/css/styles.scss b/assets/css/styles.scss new file mode 100644 index 0000000000..83032825d9 --- /dev/null +++ b/assets/css/styles.scss @@ -0,0 +1,4 @@ +--- +--- + +@import "premonition"; diff --git a/concepts/index.md b/concepts/index.md index 509bef8a72..c327ecb35e 100644 --- a/concepts/index.md +++ b/concepts/index.md @@ -16,13 +16,15 @@ you release software changes with high velocity and confidence. Spinnaker provides two core sets of features: -* [application management](#application-management) +* [Application management](#application-management-aka-infrastructure-management) -* [application deployment](#application-deployment) +* [Application deployment](#application-deployment) -This article is an overview of these features: +In addition, Spinnaker provides a higher-level experience that builds on top of the above features via [Managed delivery](#managed-delivery). -## Application management +This article provides an overview of these topics. + +## Application management (a.k.a. infrastructure management) You use Spinnaker's application management features to view and manage your cloud resources. @@ -120,3 +122,27 @@ A *Task* in Spinnaker is an automatic function to perform. Spinnaker treats cloud-native deployment strategies as first class constructs, handling the underlying orchestration such as verifying health checks, disabling old server groups and enabling new server groups. Spinnaker supports the red/black (a.k.a. blue/green) strategy, with rolling red/black and canary strategies in active development. > Learn more about deployment management on the [Pipelines](/concepts/pipelines/) page. + +## Managed delivery +Managed Delivery takes Spinnaker's infrastructure management and deployment capabilities +to a new level by abstracting away many of the low-level details of configuring infrastructure +and delivery workflows, and focusing on your application _requirements_, specified in a declarative +format. + +It allows you to declare the _desired state_ of your application in terms of logical _environments_ +(think `test` and `prod`) where your cloud infrastructure resources exist (e.g. compute clusters), +and where your _software artifacts_ (think Debian package or Docker image) are deployed. +Spinnaker automatically detects when a new version of your code is available for deployment and +satisfies any deployment constraints you may have configured, or when your infrastructure resources +diverge from the desired state, and acts upon that information to reconcile the current with the +desired state. + +For more details on the inspiration and guiding principles behind +Managed Delivery, check out [our blog](https://blog.spinnaker.io/managed-delivery-evolving-continuous-delivery-at-netflix-eb74877fb33c), +or the talk below from Spinnaker Summit 2019. + + + +> info "" +> _To get started with Managed Delivery, head on over to the [user guide](/guides/user/managed-delivery/)._ + diff --git a/guides/index.md b/guides/index.md index 5c0e23c2dd..d487418bac 100644 --- a/guides/index.md +++ b/guides/index.md @@ -35,3 +35,4 @@ The following types of user guides are included: - [Custom instance links](/guides/user/instance-links/) - [Kubernetes](/guides/user/kubernetes-v2/deploy-manifest/) - [Automated canary analysis \(Kayenta\)](/guides/user/canary/) + - [Managed Delivery](/guides/user/managed-delivery/) diff --git a/guides/user/managed-delivery/index.md b/guides/user/managed-delivery/index.md index 8abbe9a52f..0089933a88 100644 --- a/guides/user/managed-delivery/index.md +++ b/guides/user/managed-delivery/index.md @@ -5,12 +5,6 @@ sidebar: nav: guides --- -{% include alpha version="1.18" %} - -> Managed Delivery is currently in Alpha and is not recommended for managing -> mission-critical production services. Only EC2 and Titus cloud providers are currently supported and -> many features are still in flux or pending. - {% include toc %} ## What is Managed Delivery? @@ -43,3 +37,7 @@ Managed Delivery is an initiative with two key goals. If you are interested in contributing, the Managed Delivery initiative is under the auspices of the [Spinnaker-as-Code SIG](https://github.com/spinnaker/governance/blob/master/sig-spinnaker-as-code/README.md) + +## Getting started + +When you're ready to give Managed Delivery a try, check out the [Getting started](getting-started/) page. \ No newline at end of file diff --git a/reference/architecture/index.md b/reference/architecture/index.md index 4295efb237..135590611f 100644 --- a/reference/architecture/index.md +++ b/reference/architecture/index.md @@ -56,6 +56,8 @@ and service accounts. * [Kayenta](https://github.com/spinnaker/kayenta) provides automated canary analysis for Spinnaker. +* [Keel](https://github.com/spinnaker/keel) powers [Managed Delivery](/guides/user/managed-delivery). + * [Halyard](https://github.com/spinnaker/halyard) is Spinnaker's configuration service. @@ -92,6 +94,14 @@ service. gate --> echo; gate --> igor(Igor); igor(Igor) --> echo; + + keel(Keel) --> clouddriver; + keel --> orca; + keel --> front50; + keel --> fiat; + keel --> echo; + keel --> igor; + gate --> keel; hal(Halyard CLI) --> halyard(Halyard Daemon); @@ -133,3 +143,4 @@ By default Spinnaker binds ports according to the following table | Kayenta | 8090 | | Orca | 8083 | | Rosco | 8087 | +| Keel | 8087 |