Giter Club home page Giter Club logo

documentation's Introduction

Documentation

Overview

This is the home of Steeltoe documentation and blog articles. The site uses DocFX to convert Markdown to HTML, generate API documentation from triple-slash comments in Steeltoe and generate site navigation.

Site Contents

Path Description
/api API documentation
/articles blog posts
/guides guides for getting started with Steeltoe
/template theming

DocFX Markdown

DocFX offers an enhanced flavor of Markdown. To see examples and learn more, view the DocFX Flavored Markdown documentation.

Visual Studio Code users may find the Docs Authoring Pack extension pack useful.

Links and Cross References

As you get familiar with DocFX, you'll notice the addition of a YAML header in the markdown files. Values in this header let you control page design, as well as set the page's UID. With this, you can create xref as well as use DocFX's @ shorthand. Learn more about linking in DocFX.

Note

It should be very rare that you hardcode a link to an 'HTML' page with your markdown. Instead, use its UID and let the path get calculated, as well as get links validated when building the project.

Page display options

In the YAML header of a page's markdown, you have options to turn page elements on or off. Below are those options.

Yaml label Default value Description
_disableToc false Turn off the left hand table of contents
_disableAffix false Turn off the right hand page navigation links
_disableContribution false Turn off right hand link to "edit this page"
_disableFooter false Don't show footer when guest scrolls to page bottom
_enableSearch true Show the search icon
_enableNewTab true All links on the page open in a new browser tab
_disableNav false Do not show top navigation links
_hideTocVersionToggle false Hide the version toggler in the table of contents
_noindex false Do not let search engines index the page
_disableNavbar false Do not show top bar of page

Creating a new blog post

Create a new .md file in the articles directory. Name the file something that is URL safe. In /articles/index.md add a shorthand link to the document as well as a short description.

Here is a starter blog post:

---
type: markdown
title: My Very Authentic Blog Post Title
description: A short description of my topic. Maybe 2 sentences long.
date: 01/01/2000
uid: articles/my-very-authentic-blog-post-title
tags: [ "modernize", 'something else", "and another thing" ]
author.name: Joe Montana
author.github: jmontana
author.twitter: thebigguy
---

# My Very Authentic Blog Post Title

Let's talk about something really cool...

Creating a new API document

Create a new markdown file in the api directory. Name the file something URL safe. In the api directory there are v2 and v3 directories. Within each of those are directories for each component. Place your content accordingly. To include the document in the Table of Contents, add it to api/(version)/toc.yml. An example API document:

An example API doc:

---
uid: api/v2/circuitbreaker/hystrix
---

# Netflix Hystrix

Steeltoe's Hystrix implementation lets application developers isolate and manage back-end dependencies so that a single failing dependency does not take down the entire application. This is accomplished by wrapping all calls to external dependencies in a `HystrixCommand`, which runs in its own...

Here is an example cross-reference link to config docs: @api/v2/configuration/cloud-foundry-provider
Or you could link to the v3 version of this doc: @api/v3/circuitbreaker/hystrix
Or do the same thing by providing custom link text: [view the v3 version](xref:api/v2/circuitbreaker/hystrix)

Corresponding entry in api/v2/toc.yml:

- name: Circuit Breakers
  items:
    - topicHref: circuitbreaker/hystrix.md
      name: Hystrix

Installing DocFX

Note

This project currently expects DocFX version 2.59.4 to be available.

Install with Chocolatey

If you are using Windows, this is the easiest method. Run this command from an elevated shell: choco install docfx -y --version 2.59.4

Download from DocFX

Important

If running on Linux or OS X, you will need to install Mono and use mono to execute the DocFX binary.

  • Download DocFX distribution.
  • Unzip to directory of your choosing and add that directory to your PATH.
  • See the script in this repository at path docfx/docfx for an example wrapper script.

Building and running the site

For working on any non-trivial changes, there are several ways to build and run the site locally.

Basic build and run

The easiest way to build and run the site is this command: docfx build --serve --port 8082.

Build API docs for Steeltoe 2 and 3

Building the API docs is not required for the site to run locally.

If needed, these commands will download the Steeltoe source code and generate API documentation from the triple-slash comments in the codebase.

git clone https://github.com/SteeltoeOSS/Steeltoe sources/v2 -b release/2.5
git clone https://github.com/SteeltoeOSS/Steeltoe sources/v3 -b release/3.2
git clean -fX api
docfx metadata api-v2.json
docfx metadata api-v3.json
docfx metadata api-all.json

This process can take a while to complete, will display many warnings and may increase build time in subsequent runs of docfx build.

Build the site docs

This documentation site is expected to run alongside Steeltoe's main site. In order to run the two together, first use the instructions from the MainSite project to start that site, then use the appropriate main-site.json file variant described below to identify where the main site is running.

# main site -> https://steeltoe.io
docfx build --globalMetadataFiles main-site.json

# main site -> https://staging.steeltoe.io
docfx build --globalMetadataFiles main-site.staging.json

# main site -> http://localhost:8080
docfx build --globalMetadataFiles main-site.localhost.json

Run local HTTP server

docfx serve _site -p 8082

documentation's People

Contributors

bart-vmware avatar bbodenmiller avatar buzzardo avatar ccheetham avatar chrisumbel avatar cieciurm avatar ddieruf avatar dsosedov-vmw avatar dtillman avatar hananiel avatar jacksoncvm avatar jesse-martinez avatar jkonicki avatar jonorossi avatar juan7732 avatar kenswan avatar layla-p avatar thompson-tomo avatar timhess avatar tkp1n avatar tremblaysimon avatar vakadavr avatar zuraizahmedshehzad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

What's new and migration document for 2.x to 3.x

Add migration document to Docs site.

Include:

  • Clearly define "How" we name our (*Base, *Core, non-suffixed) packages
  • New packages in 3.0 (Abstractions, Messaging, Stream* and Integration*)
  • Package name changes
  • Nuget dependency changes
  • Service Discovery new configuration options (SteeltoeOSS/Steeltoe#378)
  • Changes service and hosted extensions (i.e. UseCloudHosting(), AddAllActuators(), etc.)
  • Experimental packages
  • Metrics dependency changes (OpenCensus to OpenTelemetry)
  • Any other notable changes

*Experimental packages

Lua Scripting Must be Enabled for Redis

The default settings for the Redis tile on the Pivotal Platform have Lua scripting disabled. Settings or code within the Microsoft libraries and/or StackExchange.Redis use EVAL and/or EVALSHA functions, which depend on Lua scripting. In order to prevent confusion or unnecessary troubleshooting work, we should document upfront that this setting is not the default (and isn't likely to be changed) and must be changed.

Related exceptions look something like this:

2019-11-04T15:53:44.10-0500 [APP/PROC/WEB/0] OUT StackExchange.Redis.RedisServerException: ERR unknown command EVALSHA, with args beginning with: 1e31507ae86ff56f4c3bacc5a47e742c07b64b92, 1, 6e910888-ac99-272a-fb3a-13de74ae25e5, absexp, sldexp,
  • This applies to both IDistributedCache and Redis Key storage

Update/Add the Host and Webhost extension methods to the What's new page

For 3.0, we have added a What's new in 3.0 page. Add a section that will bring attention to the changes we have made in our API, specifically for Use* methods, Add* methods and any other significant changes.

These should be listed as highlevel changes and link to the more detailed sections in the docs if it aligns properly.

Add Zipkin settings key placement

Is your feature request related to a problem? Please describe.

The configure settings section for the Zipkin docs don't clearly state where settings should be placed.

Describe the solution you'd like

Similar to configure settings in the distributed tracing section, state the enclosing keys these settings should be placed under. Adding sample JSON configs would also be a good visual aid ๐Ÿ™‚

Outdated docs for Management -> Using Endpoints

  • Some of the Notes are no longer needed around /cloudfoundryapplication context.
  • Sample code snippets need to be updated.
  • Remove mentions of Pivotal App Manager
  • Review rest of docs for inconsistencies with 3.x changes.

If any of these changes affect 2.x docs, open a new ticket to address them.

Rework SSO Section(s)

The section we have on OpenID Connect (which seems particularly bad in 3.0) basically says "do what you do with oauth2" but doesn't explain anything much about the purpose of OpenID Connect or how it's different within Steeltoe... We should either rework these two areas onto a single markdown page or add more background to the OpenID Connect page

Update Configuring Metadata section for consul

Is your feature request related to a problem? Please describe.

The Configuring Metadata section in consul docs states "Consul does not yet support including metadata with service instance registrations". How this functionality is possible in consul today.

Describe the solution you'd like

Please update the docs to show how we can include metadata with the steeltoe registration that doesn't get associated with tags.

Additional context

See consul service definition options https://www.consul.io/docs/agent/services

Update instructions on actuator base paths

https://steeltoe.io/docs/steeltoe-management/

Under 1.2:
NOTE: When you want to integrate with the Pivotal Apps Manager, you need to configure the global management path prefix, as described in the Endpoint Settings section, to be /cloudfoundryapplication. To do so, add management:endpoints:path=/cloudfoundryapplication to your configuration.
Under 1.2.2:
When you want to integrate with the Pivotal Apps Manager, you need to configure the global management path prefix to be /cloudfoundryapplication.

Outdated Docs for Configuration -> cloud-foundry-provider.md

Describe the bug

These are breaking changes that are not addressed here.
Cloud Foundry Provider for 3.x is outdated for:

  • Add Configuration Provider code sample (.AddCloudFoundry() is deprecated as of 3.0 for HostBuilder and WebHostBuilder, .AddCloudFoundryConfiguration is the new standard)
  • ConfigureCloudFoundryService() code sample (TOptions contract changed from AbstractServiceOptions to CloudFoundryServicesOptions. Also using statement could be changed to just Steeltoe.Extensions.Configuration; for existing code sample.

Unable to find UseCloudFoundryActutators

Hi,

I was trying to do a basic configuration for an .NET core app in Cloudfoundry using SteelToe. As per the document it says we need to use UseCloudFoundry Actuators in configure method of StartUp (https://steeltoe.io/docs/3/management/cloud-foundry#enable-http-access). However, I downloaded the entire SteelToe code and searched for this method name in the solution. I did not find this method. Is the code missing or the documentation is wrong ? Also when created the sample solution with steeltoe initializr this method was not present. Please clarify

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.