Code Monkey home page Code Monkey logo

spinnaker.io's Introduction

Spinnaker.io Documentation and Community Site

This site is built using Hugo and the Docsy Theme.

Contributing

  1. Start new development branches off of the master branch.
  2. Create a pull request from your branch onto master.
  3. Netlify will spawn a preview branch which will verify build success.
  4. Branches merged back into master will deploy to the current active version-branch of the site.

Using this repository

You can run the website locally using Hugo (Extended version).

Prerequisites

Before you start, install the dependencies. Clone the repository and navigate to the directory:

git clone https://github.com/spinnaker/spinnaker.io.git
cd spinnaker.io

The Spinnaker website uses the Docsy Hugo theme. Pull in the submodule and other development dependencies by running the following:

# pull in the Docsy submodule
git submodule update --init --recursive --depth 1

Running the website locally using Hugo

Make sure to install the Hugo extended version specified by the HUGO_VERSION environment variable in the netlify.toml file.

To build and test the site locally, run:

hugo server

This will start the local Hugo server on port 1313. Open up your browser to http://localhost:1313 to view the website. As you make changes to the source files, Hugo updates the website and forces a browser refresh.

Documentation Versioning

Translation

At present, there is only one language in the ./content directory. Docsy assumes lang-en and uses this language automatically, but you can add additional directories with different contents. There is also a langauge switcher in the navbar that can be enabled by adding that language to the [languages] map in .config.toml.

Theme Customization

The Docsy theme is installed as a git submodule to this site. To update the theme, follow the Docsy documentation for git submodules. Make theme upgrades with care. Any changes to markup in the theme may render existing SCSS modifications ineffective.

Overrides to the theme are in ./layouts, ./assets, and ./static. In order to continue to use Docsy's color variables, the entire theme SCSS collection is has been copied to ./assets. Some of these SCSS files have been further modified to alter the appearance of various site components. If something "breaks" on upgrade, a good first step is to compare the previous markup for that component and make sure old SCSS selectors are still valid.

Dependencies are loaded into ./assets/scss from ./themes/docsy. If subsequent theme upgrades fail to load Bootstrap or Font Awesome assets, verify that the paths to these vendor dependencies within ./themes/docsy are still valid.

Docs Frontmatter Variables

title: Displayed on the content page
linkTitle: displayed where a link to the page appears (in the docs menu)
weight: Determines the order of appearance in lists of content in the same directory, lowest first. To let all titles appear in alphabetical order, remove all weights.
description: Short description, appears in lists of directory contents and on content page.
mermaid: Boolean true indicates that MermaidJS should be loaded on the page.

Homepage Frontmatter Page Params

Edit the file ./content/en/_index.md to change the homepage frontmatter variables.

Changing the News Link

news_banner: Boolean true enables the news link in the hero info panel.
news_text: Sets the news link text.
news_link: Sets the news link target.

Example news link:

---
title: 'Spinnaker'
subtitle: 'Cloud Native Continuous Delivery'
subtitle_1: 'Fast, safe, repeatable deployments for every enterprise'
date: '2020-06-04'
type: 'en'
is_index: true
layout: 'index'
has_carousel: true
news_banner: false
news_text: 'Testing news banner'
news_link: 'https://google.com'
...
---

desktop homepage hero tablet homepage hero mobile homepage hero

Mermaid

Mermaid is loaded into content pages only when the boolean frontmatter variable mermaid is set to true.

  1. Use the mermaid shortcode to make sure your graph isn't processed as markdown:
{{< mermaid >}}
graph TB

clouddriver(Clouddriver) --> clouddriver-caching(Clouddriver-Caching);
clouddriver --> clouddriver-rw(Clouddriver-RW);
clouddriver --> clouddriver-ro(Clouddriver-RO);
clouddriver --> clouddriver-ro-deck(Clouddriver-RO-Deck)

classDef default fill:#d8e8ec,stroke:#39546a;
linkStyle default stroke:#39546a,stroke-width:1px,fill:none;

classDef split fill:#42f4c2,stroke:#39546a;
class clouddriver-caching,clouddriver-ro,clouddriver-ro-deck,clouddriver-rw,echo-scheduler,echo-worker split
{{< /mermaid >}}
  1. Add the frontmatter variable to the page: mermaid: true.

Custom YouTube Shortcode

The internal YouTube embed template provided by Hugo does not allow for the setting if height and width. A custom YouTube shortcode has been added to the repository to allow for the setting of height and width of YouTube videos embedded in Markdown content. Width and height should always include percent or unit of measure.

{{< customyoutube id="b7BmMY1kR10" width="320px" height="240px" >}}

Promo Banner on homepage

The promo banner across the top of the home page is displayed depending on a parameter in config.toml and also configured there:

[params.promoBanner] show = true text = "Spinnaker Summit is co-located with KubeCon this year! Join us on Oct 23-24 in Detroit." ctaLink = "http://go.armory.io/ss22" ctaText = "Register" label = "UPCOMING EVENT"

spinnaker.io's People

Contributors

317brian avatar aimeeu avatar ashleykleynhans avatar avi1235 avatar ciurescuraul avatar dbyron-sf avatar dependabot[bot] avatar dnilasor avatar dorbin avatar edgarulg avatar ichi0915 avatar j-sandy avatar jasonmcintosh avatar jervi avatar jvz avatar karlskewes avatar kirangodishala avatar ko28 avatar kskewes-sf avatar link108 avatar lougroshek avatar mattgogerly avatar nikema-armory avatar ovidiupopa07 avatar pdk27 avatar ripclawffb avatar rodmedrano avatar sergio-quintero avatar stevenzimmer avatar xibz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spinnaker.io's Issues

Success Stories content

Convert raw HTML of Success Stories page so it can be updated using markdown and yaml

Where will this be placed on the new site?

Question about adding links to instances

According to the documentation here it should be add links to the instances tab.
I tried to update the config on the page /applications/{{app}}/config?section=links to add few links, but none of them appear on /applications/{{app}}/clusters/instanceDetails/kubernetes/{{instance}}, is the documentation up to date? looking at the source code here it doesn't seem that the links are being pulled: https://github.com/spinnaker/deck/blob/master/packages/kubernetes/src/instance/details/details.html#L68

We are using Spinnaker 1.26, deployed on an eks cluster

links in changelog sections don't scroll to the section

When I visit https://spinnaker.io/changelogs/1.22.0-changelog#breaking-change-suffix-no-longer-added-to-jobs-created-by-kubernetes-run-job-stage, or perhaps more obviously https://spinnaker.io/changelogs/1.22.0-changelog/#breaking-change-spinnaker-dockerfile-giduid-changes, I'm taken to the top of the page, as opposed to the linked section being at the top of the page. These two are examples. I don't think this works for any of the changelog section links.

In other words, instead of seeing:
image
for both links, I expect to see (approximately):
image
and
image

YouTube videos

Implement videos area in Success Stories with a slider or grid that allows presentation of ~20 videos and links to the Spinnaker Youtube channel
Design should accommodate video categorization or incorporate Youtube playlists

  • What is preferred? A Hugo data file (YAML or TOML) solution that lists and/or categorizes videos? Or dynamically fetching videos from one or more playlists on YouTube channel?

Footer contents and layout

Implement updated CDF-standard footer and push to a repo in the CDF org

^I might need a bit more information for this task.

Are the current footer contents what is wanted there, or something different? If so, will there be a design spec?

Convert h1s to h2s in documentation markdown

Header hierarchy in some of the docs pages needs to be changed so that the page menu will work. Specifically, and for a11y reasons as well, there should never be more than one h1 on a page. I assume that can be done internally?

Spin CLI : Mach-O 64-bit x86_64 executable files uploaded into linux resources

Hi, I try to donwload the cli but I cannot run in linux

spin --help
/usr/local/bin/spin: line 1: ELF: not found
/usr/local/bin/spin: line 2: syntax error: unexpected word (expecting ")")

The binary I think has the wrong type:

file spin 
spin: Mach-O 64-bit x86_64 executable

The urls are:

curl -LO https://storage.googleapis.com/spinnaker-artifacts/spin/1.27.0/linux/amd64/spin
curl -LO https://storage.googleapis.com/spinnaker-artifacts/spin/1.27.1/linux/amd64/spin

Move index and page descriptions to frontmatter

Docsy docs automatically renders a description frontmatter string below section and page titles. You may want to move the short descriptions at the beginning of docs pages into that frontmatter variable and out of page content. Ex: "The goal of this codelab is to trigger a Spinnaker pipeline with a Pub/Sub message from GCS upon upload of a tarball."

Review content hierarchy

Please review the content hierarchy for the docs, since I'm combining what were a few separate directories from the Jekyll site. Just to make sure this is organized the way you want.

Google Docker Registry code snippet refers to invalid role (role/objectViewer)

This page refers to a role named role/objectViewer.

At first I suspected this problem might have been due to the modification of the nme of the role but was unable to find any reference to role/objectViewer on the internet (at the exception of on spinnaker.io).

The role that provides the permission needed here is named role/storage.objectViewer

I suggest we fix this by changing the documentation to reflex the use of the role/storage.objectViewer role which provides the following permissions:

$ gcloud iam roles describe roles/storage.objectViewer
description: Read access to GCS objects.
etag: AA==
includedPermissions:
- resourcemanager.projects.get
- resourcemanager.projects.list
- storage.objects.get
- storage.objects.list
name: roles/storage.objectViewer
stage: GA
title: Storage Object Viewer

The reason why this permission is necessary for Docker Container Registry management is so that we can store the service account in a Google Cloud Storage bucket.

Install and Configure Spinnaker [403 for getting release]

sudo hal deploy apply fails with

Err:7 https://dl.bintray.com/spinnaker-releases/debians focal InRelease
403 Forbidden

The halyard daemon isn't running yet... starting it manually...
+ Get current deployment
  Success
+ Prep deployment
  Success
Validation in default.stats:
- INFO Stats are currently ENABLED. Usage statistics are being
  collected. Thank you! These stats inform improvements to the product, and that
  helps the community. To disable, run `hal config stats disable`. To learn more
  about what and how stats data is used, please see
  https://www.spinnaker.io/community/stats.

+ Preparation complete... deploying Spinnaker
+ Get current deployment
  Success
+ Apply deployment
  Success
+ Run `hal deploy connect` to connect to Spinnaker.
Updating apt package lists...
Hit:1 http://by.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://by.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://by.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://dl.google.com/linux/chrome/deb stable InRelease
Get:5 https://download.docker.com/linux/ubuntu focal InRelease [52.1 kB]
Hit:6 http://ppa.launchpad.net/chris-lea/redis-server/ubuntu focal InRelease
Err:7 https://dl.bintray.com/spinnaker-releases/debians focal InRelease
  403  Forbidden [IP: 35.157.134.10 443]
Hit:8 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:9 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal InRelease
Hit:10 http://ppa.launchpad.net/openjdk-r/ppa/ubuntu focal InRelease
Reading package lists...
E: Failed to fetch https://dl.bintray.com/spinnaker-releases/debians/dists/focal/InRelease  403  Forbidden [IP: 35.157.134.10 443]
E: The repository 'https://dl.bintray.com/spinnaker-releases/debians focal InRelease' is not signed.
! ERROR Error encountered running script. See above output for more
  details.

Azure Kubernetes Source to Prod documentation is no longer valid

Since Azure have considerably refactored their azure-quickstart-templates repository, the "Azure Kubernetes Source to Prod" Spinnaker documentation is no longer accurate, invalid, and can no longer be followed.

See issue in culprit repository: Azure/azure-quickstart-templates#12093

This is due to the fact that the https://aka.ms/DeployDevOps script on which this documentation depend on, depends on a set of files that are no longer included in the azure-quickstart-templates Azure repository.

Remove the TOC markdown code that was used for Jekyll

Docsy also automatically renders a list of contents for each directory with an _index.* file in the ./contents dir. So where pages have a table of contents written into the landing page that TOC could be removed. (This would make the docs easier to maintain in the long run.)

Convert existing paths

Convert the /path/filename/ old style links to use the Hugo shortcode for links {{< ref “<”filename” >}}

Manage Applications

The spincli example documentation (https://spinnaker.io/docs/guides/spin/app/) references this exampe:

$ spin application save --application-name my-app --owner-email [email protected] --cloud-providers "gce, kubernetes"

Application save succeeded

However Spinnaker 1.26.x seems to enforce the following regex for application names: Must match ^([a-zA-Z][a-zA-Z0-9]*)?$ for cloud provider 'gce' and be less than 63 characters.

Build fails

Hi @lougroshek, something in this commit 136a55eebc2c916892659c8dd05cc6f5aec22519 broke the builds cause the alert shortcode can't be found:

!136a55e ~/spinnaker.io> hugo serve
Built in 249 ms
Error: Error building site: "/Users/brianle/spinnaker.io/content/en/docs/reference/artifacts-with-artifactsrewrite/types/git-repo/_index.md:8:1": failed to extract shortcode: template for shortcode "alert" not found

Companies using Spinnaker

Implement new “companies using Spinnaker” logo area with all logos in community and success stories
Make logos clickable, linking to case study, testimonial, or video content

  • Which of the above do you want? Whichever is available for the given org?
  • Is the intent here to have unique pages that house the details of each testimonial/company using Spinnaker? What would the preferred UX be like?
  • Will this content still appear in the docs/community section and the Success Stories page, or is it being consolidated to the home page?

Docsy theme maintenance

Hi @amygroshek,

We've been working on some of our tasks for the new site and had a question about how the layout/customizations/etc are being overridden in the theme.

We didn't see overrides in the top level of spinnaker.io. Our understanding is that this was the most maintainable path for overrides to the Docsy theme. Can you give us some explanation as to why you're doing it this other way (modifying the theme directly)? Since no one works on Spinnaker.io full time, we are doing our best to make sure that the setup is as standard as possible so anyone can pitch in down the line.

CC @aimeeu @dorbin @dnilasor

Community Calendar

Implement community calendar page linked to Google Calendar

  • What's the GCal source for this?
  • Where will this be located on the site?

Document shortcodes not rendered by Goldmark

Provide a list of the things not getting rendered by goldmark. The Spinnaker docs SIG members will review and let you know what can get ripped out.

Known Issues

toc

I'm assuming we can remove this shortcode because docsy inserts a TOC at the bottom of each page that is an _index.md file and has children.

{% include toc %}

spinnaker_user

{% include spinnaker_user id="adevinta_user" %} {% include spinnaker_user id="airbnb_user" %} {% include spinnaker_user id="alto_user" %}

A bunch of what appears to be fetched branch status data on the build status page

http://localhost:1313/docs/v1.19/community/contributing/build-statuses/

{% for branch in page.branches %} {%- capture subject -%}{{branch | capitalize}}{%- endcapture -%} {%- if branch == “master” -%} {%- capture job -%}Flow_BuildAndValidate{%- endcapture -%} {%- else -%} {%- capture job -%}Flow_BuildAndValidate_{{branch | remove: “release-” | replace: “.", “_"}}{%- endcapture -%} {%- endif -%}

Additional attributes on anchor tags

:style="height: 25px”}{:target=”_blank”} {% endfor %}

Mermaid Charts and Graphs

We could add mermaidJS to the theme which would hopefully resolve this, I'm assuming that the Jekyll site was not using server-side Mermaid processing...

graph TB
deck(Deck) –> gate; api(Custom Script/API Caller) –> gate(Gate); gate –> kayenta(Kayenta); gate –> orca(Orca); gate –> clouddriver(Clouddriver); orca –> clouddriver; gate –> rosco(Rosco); orca –> front50; orca –> rosco; gate –> front50(Front50); gate –> fiat(Fiat); orca –> kayenta; clouddriver –> fiat; orca –> fiat; front50 –> fiat; echo(Echo) –> orca; echo –> front50; gate –> echo; gate –> igor(Igor); igor(Igor) –> echo;

hal(Halyard CLI) –> halyard(Halyard Daemon);

classDef default fill:#d8e8ec,stroke:#39546a; linkStyle default stroke:#39546a,stroke-width:1px,fill:none;

classDef halStyle fill:#eebb3c,stroke:#39546a; class halyard,hal halStyle;

classDef external fill:#c0d89d,stroke:#39546a; class deck,api external;

{% include mermaid %}

Built-In Docsy Alternatives

Docsy Shortcodes are documented here. In particular the alert and pageinfo shortcodes may be of use.

Scrolling page TOC in docs pages

  1. The current docs page TOC scrolls with the page content until the footer is reached. Will it do what you need or should I make more modifications.

Screen Shot 2020-06-21 at 9 45 58 PM

  1. There are also some links above the page contents menu: Edit page, create documentation issue, create project issue. Would you like to keep those or remove them?

Online Codelabs two broken links on https://spinnaker.io/docs/guides/tutorials/codelabs/web-labs/

There are a coupe broken links on this web page: https://spinnaker.io/docs/guides/tutorials/codelabs/web-labs/

Broken links that need updating are:

These are the specific lines

* [Continuous Delivery to Kubernetes Using Spinnaker](https://codelabs.developers.google.com/codelabs/cloud-spinnaker-kubernetes-cd/) - deploy an application from Kubernetes manifest files (from the Google I/O 2018 Spinnaker Codelab)
* [GCE Source To Prod](https://codelabs.developers.google.com/codelabs/bake-and-deploy-pipeline/) - create a cohesive workflow which takes source code and builds, tests and promotes it to production with VMs in GCE

Auto-converted &reg to registration special symbol in links

Hello!

This page has some weird behavior with &region in links (in their text, not URL, to be precise), where they get converted as html entities:

image

This is strange because they don't have semicolons to behave so, and it gets even more strange, because local build doesn't exhibit this behavior:

image

I see it in three different browsers, so I assume it's not an issue of my particular browser / extensions, but I'm not familiar enough with toolchain to continue and replicate the bug. However, simply using &amp;region may suffice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.