Refactored template component; Updated core project to 3.2.0-preview3.20168.3;
|
@ -5,6 +5,7 @@
|
|||
!.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
src/.vscode/*
|
||||
src/Client/wwwroot/site-data/docs/*
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||
// Use hover for the description of the existing attributes
|
||||
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": ".NET Core Launch (web)",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "build",
|
||||
// If you have changed target frameworks, make sure to update the program path.
|
||||
"program": "${workspaceFolder}/Server/bin/Debug/netcoreapp3.0/Steeltoe.Server.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/Server",
|
||||
"stopAtEntry": false,
|
||||
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".NET Core Attach",
|
||||
"type": "coreclr",
|
||||
"request": "attach",
|
||||
"processId": "${command:pickProcess}"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
using System;
|
||||
|
||||
namespace {{namespace}}
|
||||
{
|
||||
public class {{name}}
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
export class {{name}} {
|
||||
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
Imports System
|
||||
|
||||
Namespace {{namespace}}
|
||||
|
||||
Public Class {{name}}
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
|
@ -1,3 +0,0 @@
|
|||
export default {{name}} {
|
||||
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
using System;
|
||||
|
||||
namespace {{namespace}}
|
||||
{
|
||||
public enum {{name}}
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
using System;
|
||||
|
||||
namespace {{namespace}}
|
||||
{
|
||||
public interface {{name}}
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
export interface {{name}} {
|
||||
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"templates": [
|
||||
{
|
||||
"name": "Class",
|
||||
"extension": "cs",
|
||||
"file": "./class.cs-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Interface",
|
||||
"extension": "cs",
|
||||
"file": "./interface.cs-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Enum",
|
||||
"extension": "cs",
|
||||
"file": "./enum.cs-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Class",
|
||||
"extension": "ts",
|
||||
"file": "./class.ts-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Interface",
|
||||
"extension": "ts",
|
||||
"file": "./interface.ts-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Default",
|
||||
"extension": "ts",
|
||||
"file": "./default.ts-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
},
|
||||
{
|
||||
"name": "Class",
|
||||
"extension": "vb",
|
||||
"file": "./class.vb-template",
|
||||
"parameters": "./template-parameters.js"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
var path = require("path");
|
||||
|
||||
module.exports = function(filename, projectPath, folderPath) {
|
||||
var namespace = "Unknown";
|
||||
if (projectPath) {
|
||||
namespace = path.basename(projectPath, path.extname(projectPath));
|
||||
if (folderPath) {
|
||||
namespace += "." + folderPath.replace(path.dirname(projectPath), "").substring(1).replace(/[\\\/]/g, ".");
|
||||
}
|
||||
namespace = namespace.replace(/[\\\-]/g, "_");
|
||||
}
|
||||
|
||||
return {
|
||||
namespace: namespace,
|
||||
name: path.basename(filename, path.extname(filename))
|
||||
}
|
||||
};
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/Server/Steeltoe.Server.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "publish",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"publish",
|
||||
"${workspaceFolder}/Server/Steeltoe.Server.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"watch",
|
||||
"run",
|
||||
"${workspaceFolder}/Server/Steeltoe.Server.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,11 +1,10 @@
|
|||
@namespace Steeltoe.Client
|
||||
<Router AppAssembly="@typeof(Program).Assembly">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
||||
</Found>
|
||||
<NotFound>
|
||||
<LayoutView Layout="@typeof(MainLayout)">
|
||||
<p>Sorry, there's nothing at this address.</p>
|
||||
</LayoutView>
|
||||
</NotFound>
|
||||
</Router>
|
||||
<Router AppAssembly="@typeof(Program).Assembly">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
||||
</Found>
|
||||
<NotFound>
|
||||
<LayoutView Layout="@typeof(MainLayout)">
|
||||
<p>Sorry, there's nothing at this address.</p>
|
||||
</LayoutView>
|
||||
</NotFound>
|
||||
</Router>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="rounded-pill banner">
|
||||
<a href="@Href" target="_blank">
|
||||
<Href href="@Href" NewWindow="true">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col" style="margin: .7% 3% .7% 5%;max-width: 11%;">
|
||||
<div class="col-2" style="margin: .7% 3% .7% 5%;max-width: 11%;">
|
||||
<div class="sign rounded-pill special-link">
|
||||
<div style="padding: 2px 0px 2px 0px;">@BannerTypeName</div>
|
||||
</div>
|
||||
|
@ -10,16 +10,9 @@
|
|||
@ChildContent
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</Href>
|
||||
</div>
|
||||
|
||||
|
||||
@*<div class="width-all banner rounded-pill my-4">
|
||||
<div class="sign rounded-pill special-link">event</div>
|
||||
<div class="desc"</div>
|
||||
</div>*@
|
||||
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public RenderFragment ChildContent { get; set; }
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="row no-gutters breadcrumbs">
|
||||
<div class="col">
|
||||
<ul>
|
||||
<li><NavLink class="nav-link" href="/index"><span class="oi oi-home"></span></NavLink></li>
|
||||
<li><Href href="/index"><span class="oi oi-home"></span></Href></li>
|
||||
<li class="delimiter">></li>
|
||||
@if (!string.IsNullOrEmpty(ParentLinkName)){
|
||||
<li class=""><a href="@ParentLinkUrl">@ParentLinkName</a></li>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<PageTitle Title="" />
|
||||
|
||||
<div class="width-all">
|
||||
<div class="width-65 container">
|
||||
<div class="width-90 container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col get-started-title">Get Started with @ComponentName</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<NavLink class="@(Class + " nav-link" + (AsButton?"border border-dark font-weight-bold btn btn-default border-black p-3":""))" target="@(NewWindow?"_blank":"")" role="@(AsButton?"button":"")" @attributes="AdditionalAttributes">@ChildContent</NavLink>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public RenderFragment ChildContent { get; set; }
|
||||
[Parameter]
|
||||
public string Class { get; set; }
|
||||
[Parameter]
|
||||
public bool AsButton { get; set; } = false;
|
||||
[Parameter]
|
||||
public bool NewWindow { get; set; } = false;
|
||||
[Parameter(CaptureUnmatchedValues = true)]
|
||||
public Dictionary<string, object> AdditionalAttributes { get; set; }
|
||||
}
|
|
@ -65,7 +65,7 @@ spec:
|
|||
app: @(ProjectName.Replace("_","-").ToLower())
|
||||
type: NodePort
|
||||
</code></pre>
|
||||
<Tip><Message>This manifest is using a specific <code>apiVersion</code>. Your K8 cluster version might differ. Learn more about api versions <NavLink class="nav-link" href="https://kubernetes.io/docs/reference/using-api/api-overview/" target="_blank">here</NavLink>.</Message></Tip>
|
||||
<Tip><Message>This manifest is using a specific <code>apiVersion</code>. Your K8 cluster version might differ. Learn more about api versions <Href href="https://kubernetes.io/docs/reference/using-api/api-overview/" target="_blank">here</Href>.</Message></Tip>
|
||||
</li>
|
||||
<li>
|
||||
Using the manifest, create the pod deployment.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<Tab Title="Kubernetes">
|
||||
<ol>
|
||||
<li>
|
||||
Using Helm Charts, start the <NavLink class="nav-link" href="@HelmGettingStartedUrl" target="_blank">@ServiceName chart</NavLink> providing connecting values. Learn more about using Helm <a href="https://helm.sh/docs/using_helm/" target="_blank">here</a>.
|
||||
Using Helm Charts, start the <Href href="@HelmGettingStartedUrl" target="_blank">@ServiceName chart</Href> providing connecting values. Learn more about using Helm <a href="https://helm.sh/docs/using_helm/" target="_blank">here</a>.
|
||||
<code class="inline">@HelmCmd</code>
|
||||
</li>
|
||||
@*<AdditionalSteps>
|
||||
|
|
|
@ -1,106 +0,0 @@
|
|||
<PageTitle Title="@(Name)" />
|
||||
<div class="width-all bg-yellow">
|
||||
<div class="width-60 container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-title">@Name</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-desc">@ComponentDescription</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all yellow-slant" style="min-height:260px;">
|
||||
<div class="width-60 container">
|
||||
<div class="row no-gutters">
|
||||
@if (GettingStartedURL != null) {
|
||||
<div class="col-4">
|
||||
@GettingStartedURL
|
||||
</div>
|
||||
}
|
||||
@if (DocsURL != null) {
|
||||
<div class="col">
|
||||
@DocsURL
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@if (WhatIsComponent != null) {
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whatis-title">
|
||||
<h2>What @(NameIsPlural ? "are" : "is") @Name?</h2>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
@if (WhatIsComponent != null) {
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whatis-desc">
|
||||
@WhatIsComponent
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if (WhyUseComponent != null) {
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whyuse-title">
|
||||
<h2>Why use @Name?</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-5 no-gutters">
|
||||
<div class="col component-whyuse-desc">
|
||||
@WhyUseComponent
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@Features
|
||||
<div class="row py-5 no-gutters">
|
||||
<div class="col"></div>
|
||||
<div class="col text-center pr-4">
|
||||
<div class="width-all">@GettingStartedURL</div>
|
||||
</div>
|
||||
<div class="col text-center pl-4">
|
||||
<div class="width-all">@DocsURL</div>
|
||||
</div>
|
||||
<div class="col"></div>
|
||||
</div>
|
||||
</div>
|
||||
@if(OtherArea != null) {
|
||||
<div class="component-resources">
|
||||
<div class="width-60 container">
|
||||
<div class="row no-gutters">
|
||||
@OtherArea
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public String Name { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public bool NameIsPlural { get; set; } = false;
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment ComponentDescription { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment WhatIsComponent { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment WhyUseComponent { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment Features { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment GettingStartedURL { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment DocsURL { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment OtherArea { get; set; }
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
@implements ITab
|
||||
|
||||
<li class="nav-item @TitleCssClass">
|
||||
<a @onclick="Activate" class="nav-link" role="tab">
|
||||
<a @onclick="Activate" role="tab">
|
||||
@Title
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -0,0 +1,142 @@
|
|||
<PageTitle Title="@(Name)" />
|
||||
<div class="width-all bg-yellow">
|
||||
<div class="width-90 container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-title">@Name</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-desc">@Description</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all yellow-slant">
|
||||
<div class="width-90 container">
|
||||
<div class="row no-gutters">
|
||||
@if (GettingStartedURL != null) {
|
||||
<div class="col offset-@(DocsURL==null?"4":"2")">
|
||||
<Href Class="component-button" href="@(GettingStartedURL)">GET STARTED</Href>
|
||||
</div>
|
||||
}
|
||||
@if (DocsURL != null) {
|
||||
<div class="col @(GettingStartedURL==null?"offset-4":"")">
|
||||
<Href Class="component-button" href="@(DocsURL)">READ THE DOCS</Href>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@if (WhatIs != null) {
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all">
|
||||
<div class="width-90 container">
|
||||
<div class="@((WhatIs != null || WhyUse != null ? "border-bottom-steeltoe-blue":"") + " row no-gutters")" style="@((WhatIs != null || WhyUse != null ? "margin-bottom:7%;padding-bottom:7%":""))">
|
||||
@if (WhatIs != null) {
|
||||
<div class="col mr-2">
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whatis-title">
|
||||
<h2>What @(NameIsPlural ? "are" : "is") @Name?</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-gutters" style="@(WhyUse==null?"margin-bottom:7%;padding-bottom:7%":"")">
|
||||
<div class="col component-whatis-desc">
|
||||
@WhatIs
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if (WhyUse != null) {
|
||||
<div class="col ml-2">
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whyuse-title">
|
||||
<h2>Why use @Name?</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whyuse-desc">
|
||||
@WhyUse
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@if(Features != null) {
|
||||
<div class="row no-gutters">
|
||||
@foreach (var feature in Features) {
|
||||
if(AltFeatureTemplate != null) {
|
||||
if((i % 2) == 0)
|
||||
@FeatureTemplate(feature)
|
||||
else
|
||||
@AltFeatureTemplate(feature);
|
||||
} else {
|
||||
@FeatureTemplate(feature)
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
</div>
|
||||
}
|
||||
<div class="row no-gutters" style="@((GettingStartedURL == null && DocsURL == null) || (DocsURL == null && !ShowBottomGetStarted) ? "":"margin: 7% 0 7% 0;")">
|
||||
@if (GettingStartedURL != null && ShowBottomGetStarted) {
|
||||
<div class="col offset-@(DocsURL==null&&ShowBottomGetStarted?"4":"2")">
|
||||
<Href Class="component-button" href="@(GettingStartedURL)">GET STARTED</Href>
|
||||
</div>
|
||||
}
|
||||
@if (DocsURL != null && ShowBottomDocsURL) {
|
||||
<div class="col @(GettingStartedURL==null&&ShowBottomDocsURL?"offset-4":"")">
|
||||
<Href Class="component-button" href="@DocsURL">READ THE DOCS</Href>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(OtherArea != null) {
|
||||
<div class="width-all">
|
||||
<div class="width-90 container">
|
||||
<div class="row no-gutters">
|
||||
@OtherArea
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@code {
|
||||
private int i = 0;
|
||||
[Parameter]
|
||||
public String Name { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public bool NameIsPlural { get; set; } = false;
|
||||
|
||||
[Parameter]
|
||||
public bool ShowBottomGetStarted { get; set; } = true;
|
||||
|
||||
[Parameter]
|
||||
public bool ShowBottomDocsURL { get; set; } = true;
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment Description { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment WhatIs { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment WhyUse { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment<Feature> FeatureTemplate { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment<Feature> AltFeatureTemplate { get; set; } = null;
|
||||
|
||||
[Parameter]
|
||||
public IReadOnlyList<Feature> Features { get; set; } = null;
|
||||
|
||||
[Parameter]
|
||||
public string GettingStartedURL { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string DocsURL { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment OtherArea { get; set; }
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
<PageTitle Title="" />
|
||||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<div class="width-90 container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col tutorial-title">
|
||||
<h2>@Title</h2>
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
using Microsoft.AspNetCore.Components;
|
||||
|
||||
public class Feature {
|
||||
public MarkupString Title { get; set; }
|
||||
public RenderFragment Description { get; set; }
|
||||
public string Img { get; set; }
|
||||
}
|
|
@ -2,50 +2,59 @@
|
|||
@page "/app-config"
|
||||
@page "/steeltoe-configuration"
|
||||
|
||||
<SteeltoeComponent Name="App Configuration">
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/configuration">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<NavLink class="component-button nav-link" href="app-configuration/get-started">GET STARTED TUTORIAL</NavLink>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Separating configuration from application code is an important discipline in cloud-native development. Spring Cloud Config Server provides a mechanism to store your application’s configuration externally, and have it injected into your application at runtime. Steeltoe includes a custom .NET Configuration Provider that utilizes Spring Cloud Config Server to pull in config values stored in Git, the filesystem, or Hashicorp Vault.</ComponentDescription>
|
||||
<WhatIsComponent>Steeltoe Configuration builds on the new .NET configuration API, which enables developers to configure an application with values from a variety of sources by using Configuration Providers.</WhatIsComponent>
|
||||
<WhyUseComponent>With the added providers, Steeltoe Configuration takes care of managing connections to external config servers and provides new resources, such as placeholders and random values.</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Spring Config Server Provider</div>
|
||||
<div class="component-feature-desc">Enable a .NET application to use a Spring Cloud Config server as a provider.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/icon-spring-cloud.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Placeholders in Configuration</div>
|
||||
<div class="component-feature-desc">Define configuration values as placeholders in your configuration and have them resolved to real values at runtime during configuration access.</div>
|
||||
<Template Name="App Configuration" Features="@features" GettingStartedURL="/app-configuration/get-started" DocsURL="/docs/configuration">
|
||||
<Description>Separating configuration from application code is an important discipline in cloud-native development. Spring Cloud Config Server provides a mechanism to store your application’s configuration externally, and have it injected into your application at runtime. Steeltoe includes a custom .NET Configuration Provider that utilizes Spring Cloud Config Server to pull in config values stored in Git, the filesystem, or Hashicorp Vault.</Description>
|
||||
<WhatIs>Steeltoe Configuration builds on the new .NET configuration API, which enables developers to configure an application with values from a variety of sources by using Configuration Providers.</WhatIs>
|
||||
<WhyUse>With the added providers, Steeltoe Configuration takes care of managing connections to external config servers and provides new resources, such as placeholders and random values.</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Random Values</div>
|
||||
<div class="component-feature-desc">Generate random values as integers, longs, UUIDs or strings as part of your application's configuration values.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img src="images/cloud-foundry.png" height="108" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Cloud Foundry Provider</div>
|
||||
<div class="component-feature-desc">A custom .NET provider for the Cloud Foundry platform that parses the VCAP environment variables and automatically loads them as configuration values.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Cloud Foundry Hosting</div>
|
||||
<div class="component-feature-desc">Find the port assigned by the platform and automatically set as the port to listen on, within the application.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img src="images/cloud-foundry.png" height="108" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Spring Config Server Provider",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Enable a .NET application to use a Spring Cloud Config server as a provider.");
|
||||
}),
|
||||
Img = "/images/icon-spring-cloud.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Placeholders in Configuration",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Define configuration values as placeholders in your configuration and have them resolved to real values at runtime during configuration access.");
|
||||
}),
|
||||
Img = "/images/Icon_down-arrow.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Random Values",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Generate random values as integers, longs, UUIDs or strings as part of your application's configuration values.");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Cloud Foundry Provider",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"A custom .NET provider for the Cloud Foundry platform that parses the VCAP environment variables and automatically loads them as configuration values.");
|
||||
}),
|
||||
Img = "/images/cloud-foundry.png"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,29 +1,45 @@
|
|||
@page "/circuit-breakers"
|
||||
@page "/steeltoe-circuitbreaker"
|
||||
|
||||
<SteeltoeComponent Name="Circuit Breakers">
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/circuitbreaker">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<NavLink class="component-button nav-link" href="circuit-breakers/get-started/breaker">GET STARTED TUTORIAL</NavLink>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>What do you do when a service you depend on stops responding? Circuit breakers enable you to bypass a failing service, allowing it time to recover, and preventing your users from seeing nasty error messages. Steeltoe includes a .NET implementation of Netflix Hystrix, a proven circuit breaker implementation with rich metrics and monitoring features.</ComponentDescription>
|
||||
<WhatIsComponent>When applied to a service, a circuit breaker watches for failing calls to the service. If failures reach a certain threshold, it “opens” (or breaks) the circuit and automatically redirects calls to the specified fallback mechanism. This gives the failing service time to recover. By using Circuit Breaker frameworks, you can prevent failures from cascading and provide fallback behavior until a failing service is restored to normal operation.</WhatIsComponent>
|
||||
<WhyUseComponent>Based on Netflix Hystrix circuit breaker pattern, Steeltoe Circuit Breakers provides applications with an implementation of the same pattern. No external dependencies are introduced by this package, your application can manage circuits completely internal.</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Based on a proven pattern</div>
|
||||
<div class="component-feature-desc">Steeltoe support a similar design to <a class="nav-link" href="" target="_blank">Spring Cloud Netflix</a> based on Hystrix, Netflix’s Latency and Fault Tolerance library for distributed systems.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/icon-spring-cloud.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_upload.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Internal to your application</div>
|
||||
<div class="component-feature-desc">Steeltoe Circuit Breakers is a pure .NET implementation. Meaning all your app will need is this package.</div>
|
||||
<Template Name="Circuit Breakers" Features="@features" GettingStartedURL="/circuit-breakers/get-started/breaker" DocsURL="/docs/circuitbreaker">
|
||||
<Description>What do you do when a service you depend on stops responding? Circuit breakers enable you to bypass a failing service, allowing it time to recover, and preventing your users from seeing nasty error messages. Steeltoe includes a .NET implementation of Netflix Hystrix, a proven circuit breaker implementation with rich metrics and monitoring features.</Description>
|
||||
<WhatIs>When applied to a service, a circuit breaker watches for failing calls to the service. If failures reach a certain threshold, it “opens” (or breaks) the circuit and automatically redirects calls to the specified fallback mechanism. This gives the failing service time to recover. By using Circuit Breaker frameworks, you can prevent failures from cascading and provide fallback behavior until a failing service is restored to normal operation.</WhatIs>
|
||||
<WhyUse>Based on Netflix Hystrix circuit breaker pattern, Steeltoe Circuit Breakers provides applications with an implementation of the same pattern. No external dependencies are introduced by this package, your application can manage circuits completely internal.</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Based on a proven pattern",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe support a similar design to Spring Cloud Netflix based on Hystrix, Netflix’s Latency and Fault Tolerance library for distributed systems.");
|
||||
}),
|
||||
Img = "/images/icon-spring-cloud.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Internal to your application",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe Circuit Breakers is a pure .NET implementation. Meaning all your app will need is this package.");
|
||||
}),
|
||||
Img = "/images/Icon_upload.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,53 +1,82 @@
|
|||
@page "/cloud"
|
||||
|
||||
<SteeltoeComponent Name="Cloud">
|
||||
<ComponentDescription>Developing distributed systems can be challenging. Complexity is moved from the application layer to the network layer and demands greater interaction between services. Making your code ‘cloud-native’ means dealing with <NavLink class="nav-link" href="https://12factor.net" target="_blank">12-factor</NavLink> issues such as external configuration, statelessness, logging, and connecting to backing services. The Spring Cloud suite of projects contains many of the services you need to make your applications run in the cloud.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="quickstart">GET STARTED</NavLink></GettingStartedURL>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Spring Cloud architecture highlights</div>
|
||||
<div class="component-feature-desc">XXXXXXXX</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class=" component-feature-img"><img class="img-fluid" src="images/Icon_tool.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Service discovery</div>
|
||||
<div class="component-feature-desc">In the cloud, applications can’t always know the exact location of other services. A service registry, such as Netflix Eureka, or a sidecar solution, such as HashiCorp Consul, can help. Spring Cloud provides DiscoveryClient implementations for popular registries such as Eureka, Consul, Zookeeper, and even Kubernetes' built-in system. There’s also a Spring Cloud Load Balancer to help you distribute the load carefully among your service instances.
|
||||
<br /><br /><NavLink href="/service-discovery/get-started" role="button" class="nav-link">Get started with Steeltoe Discovery</NavLink></div>
|
||||
<Template Name="Cloud" Features="@features">
|
||||
<Description>Developing distributed systems can be challenging. Complexity is moved from the application layer to the network layer and demands greater interaction between services. Making your code ‘cloud-native’ means dealing with <Href href="https://12factor.net" NewWindow="true">12-factor</Href> issues such as external configuration, statelessness, logging, and connecting to backing services. Steeltoe with Spring Cloud suite of projects contains many of the services you need to make your applications run in the cloud.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Cloud configuration</div>
|
||||
<div class="component-feature-desc">In the cloud, configuration can’t simply be embedded inside the application. The configuration has to be flexible enough to cope with multiple applications, environments, and service instances, as well as deal with dynamic changes without downtime. Spring Cloud Config is designed to ease these burdens and offers integration with version control systems like Git to help you keep your configuration safe.
|
||||
<br /><br /><NavLink href="/app-configuration/get-started" role="button" class="nav-link">Get started with Steeltoe Config</NavLink></div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img src="images/cloud-foundry.png" height="108" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Circuit breakers</div>
|
||||
<div class="component-feature-desc">Distributed systems can be unreliable. Requests might encounter timeouts or fail completely. A circuit breaker can help mitigate these issues, and Spring Cloud Circuit Breaker gives you the choice of three popular options: Resilience4J, Sentinel, or Hystrix.
|
||||
<br /><br /><NavLink href="/circuit-breaker/get-started" role="button" class="nav-link">Get started with Steeltoe Circuit Breaker</NavLink></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Tracing</div>
|
||||
<div class="component-feature-desc">Debugging distributed applications can be complex and take a long time. For any given failure, you might need to piece together traces of information from several independent services. Spring Cloud Sleuth can instrument your applications in a predictable and repeatable way. And when used in conjunction with Zipkin, you can zero in on any latency problems you might have.
|
||||
<br /><br /><NavLink href="/cloud-management/get-started/distributed-tracing" role="button" class="nav-link">Get started with Steeltoe Distributed Tracing</NavLink></div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</AltFeatureTemplate>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/quickstart" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/quickstart" AsButton="true">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Service discovery",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"In the cloud, applications can’t always know the exact location of other services. A service registry, such as Netflix Eureka or HashiCorp Consul, can help. Steeltoe provides clients for both as well as Spring Config, a C# implementation of circuit breakers, and many other components.<br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/service-discovery/get-started");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Get started with Steeltoe Discovery");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_tool.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Cloud configuration",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"In the cloud, configuration can’t simply be embedded inside the application. The configuration has to be flexible enough to cope with multiple applications, environments, and service instances, as well as deal with dynamic changes without downtime. Spring Cloud Config is designed to ease these burdens and offers integration with version control systems like Git to help you keep your configuration safe.<br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/app-configuration/get-started");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Get started with Steeltoe Config");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Circuit breakers",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Distributed systems can be unreliable. Requests might encounter timeouts or fail completely. A circuit breaker can help mitigate these issues, and Spring Cloud Circuit Breaker gives you the choice of three popular options: Resilience4J, Sentinel, or Hystrix.<br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/circuit-breaker/get-started");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Get started with Steeltoe Circuit Breaker");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Tracing",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Debugging distributed applications can be complex and take a long time. For any given failure, you might need to piece together traces of information from several independent services. Spring Cloud Sleuth can instrument your applications in a predictable and repeatable way. And when used in conjunction with Zipkin, you can zero in on any latency problems you might have.<br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/cloud-management/get-started/distributed-tracing");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Get started with Steeltoe Distributed Tracing");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<Tip>
|
||||
<Message>Looking for a .NET Framework example? <NavLink href="cloud-management/get-started/endpoints/framework" class="nav-link">Have a look</NavLink>.</Message>
|
||||
<Message>Looking for a .NET Framework example? <Href href="cloud-management/get-started/endpoints/framework">Have a look</Href>.</Message>
|
||||
</Tip>
|
||||
</div></div>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<Tip>
|
||||
<Message>Looking for a .NET Core example? <NavLink href="cloud-management/get-started/endpoints" class="nav-link">Have a look</NavLink>.</Message>
|
||||
<Message>Looking for a .NET Core example? <Href href="cloud-management/get-started/endpoints">Have a look</Href>.</Message>
|
||||
</Tip>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,36 +1,53 @@
|
|||
@page "/cloud-management"
|
||||
@page "/steeltoe-management"
|
||||
|
||||
<SteeltoeComponent Name="Cloud Management">
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/management">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<NavLink class="component-button nav-link" href="/cloud-management/get-started">GET STARTED TUTORIAL</NavLink>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Steeltoe includes a number of optional features you can add to your applications to aid in monitoring and managing it while it runs in production. These features are implemented as a number of management endpoints that you can easily add to your application.</ComponentDescription>
|
||||
<WhatIsComponent>Once your application is in production, management tools become a must. Unlike traditional infrastructure, cloud platforms offer limited access to VMs and disk storage. Cloud Management automatically creates secure endpoints exposing critical data about your application. </WhatIsComponent>
|
||||
<WhyUseComponent>The way the endpoints are exposed and used depends on the type of technology you choose in exposing the functionality of the endpoint. Out of the box, Steeltoe provides several easy ways to expose these endpoints over HTTP in .NET applications. Of course, you can build and use whatever you would like to meet your needs.</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature no-gutters align-items-center">
|
||||
<Template Name="Cloud Management" Features="@features" GettingStartedURL="/cloud-management/get-started" DocsURL="/docs/management">
|
||||
<Description>Steeltoe includes a number of optional features you can add to your applications to aid in monitoring and managing it while it runs in production. These features are implemented as a number of management endpoints that you can easily add to your application.</Description>
|
||||
<WhatIs>Once your application is in production, management tools become a must. Unlike traditional infrastructure, cloud platforms offer limited access to VMs and disk storage. Cloud Management automatically creates secure endpoints exposing critical data about your application. </WhatIs>
|
||||
<WhyUse>The way the endpoints are exposed and used depends on the type of technology you choose in exposing the functionality of the endpoint. Out of the box, Steeltoe provides several easy ways to expose these endpoints over HTTP in .NET applications. Of course, you can build and use whatever you would like to meet your needs.</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">Management Endpoints</div>
|
||||
<div class="component-feature-desc">Automatically expose endpoints over HTTP in your ASP.NET application for things like health, info, metrics, refresh, tracing, loggers, and route mappings.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_connector.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature no-gutters align-items-center">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_device-exchange.svg" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">Distributed Tracing</div>
|
||||
<div class="component-feature-desc">Use the OpenCensus project capture request tracing data and display it visually in the dashboard or send it to a remote collector.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature no-gutters align-items-center">
|
||||
<div class="col">
|
||||
<div class="component-feature-title">Management Tasks</div>
|
||||
<div class="component-feature-desc">Run one-time administrative tasks for ASP.NET Core applications, for things like data migrations or custom processes.</div>
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_box.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Management Endpoints",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Automatically expose endpoints over HTTP in your ASP.NET application for things like health, info, metrics, refresh, tracing, loggers, and route mappings.");
|
||||
}),
|
||||
Img = "/images/Icon_connector.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Distributed Tracing",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Use the OpenCensus project capture request tracing data and display it visually in the dashboard or send it to a remote collector.");
|
||||
}),
|
||||
Img = "/images/Icon_device-exchange.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Management Tasks",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Run one-time administrative tasks for ASP.NET Core applications, for things like data migrations or custom processes.");
|
||||
}),
|
||||
Img = "/images/Icon_box.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
@page "/cloudnativedeveloper"
|
||||
@page "/cloud-native-developer"
|
||||
|
||||
<PageTitle Title="Cloud Native Developer" />
|
||||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col get-started-title">Cloud-Native Developer Tools</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col tools-item">
|
||||
<div class="title"><h3><NavLink class="nav-link" href="/initializr">Initializr</NavLink></h3></div>
|
||||
<div class="desc">
|
||||
Steeltoe Initializr is an application generator meant to get cloud-native .NET developers going very quickly.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1"> </div>
|
||||
<div class="col tools-item">
|
||||
<div class="title"><NavLink class="nav-link" href="/local"><h3>Steeltoe Local</h3></NavLink></div>
|
||||
<div class="desc">Steeltoe Local aims to help developers recreate a local environment similar to their cloud platform.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
}
|
|
@ -10,22 +10,22 @@
|
|||
<div class="col-4">
|
||||
<h3>Community Support</h3>
|
||||
<div>
|
||||
<div class=""><NavLink class="nav-link" href="" target="_blank">Stack Overflow</NavLink></div>
|
||||
<div class=""><Href href="" target="_blank">Stack Overflow</Href></div>
|
||||
<div>Ask questions and get help with problems from the global Steeltoe community of users and practitioners.</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class=""><NavLink class="nav-link" href="https://github.com/steeltoeoss" target="_blank">Steeltoe on GitHub</NavLink></div>
|
||||
<div class=""><Href href="https://github.com/steeltoeoss" target="_blank">Steeltoe on GitHub</Href></div>
|
||||
<div>Read the code for most Steeltoe projects, raise issues, suggest changes, and view milestones and releases.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<h3>Community Projects</h3>
|
||||
<div>
|
||||
<div class=""><NavLink class="nav-link" href="https://github.com/steeltoeoss-incubator" target="_blank">Steeltoe Incubator</NavLink></div>
|
||||
<div class=""><Href href="https://github.com/steeltoeoss-incubator" target="_blank">Steeltoe Incubator</Href></div>
|
||||
<div>XXXXXX.</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class=""><NavLink class="nav-link" href="https://azure.microsoft.com/en-us/services/spring-cloud/" target="_blank">Azure Spring Cloud</NavLink></div>
|
||||
<div class=""><Href href="https://azure.microsoft.com/en-us/services/spring-cloud/" target="_blank">Azure Spring Cloud</Href></div>
|
||||
<div>XXXXXX.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -25,14 +25,14 @@
|
|||
@if(Version == 3) {
|
||||
<span>Steeltoe v3</span>
|
||||
} else {
|
||||
<NavLink class="nav-link" href="@("/docs/3/" + Component + "/" + Area)" title="Current">Steeltoe v3</NavLink>
|
||||
<Href href="@("/docs/3/" + Component + "/" + Area)" title="Current">Steeltoe v3</Href>
|
||||
}
|
||||
</div>
|
||||
<div class="col text-center nav-version @(Version == 2 ? "selected":"")">
|
||||
@if(Version == 2) {
|
||||
<span>Steeltoe v2</span>
|
||||
} else {
|
||||
<NavLink class="nav-link" href="@("/docs/2/" + Component + "/" + Area)">Steeltoe v2</NavLink>
|
||||
<Href href="@("/docs/2/" + Component + "/" + Area)">Steeltoe v2</Href>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,53 +1,70 @@
|
|||
@page "/event-driven"
|
||||
|
||||
<SteeltoeComponent Name="Event Driven">
|
||||
<ComponentDescription>Event-driven systems reflect how modern businesses actually work–thousands of small changes happening all day, every day. Spring’s ability to handle events and enable developers to build applications around them, means your apps will stay in sync with your business. Spring has a number of event-driven options to choose from, from integration and streaming all the way to cloud functions and data flows.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="quickstart">GET STARTED</NavLink></GettingStartedURL>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Spring Cloud architecture highlights</div>
|
||||
<div class="component-feature-desc">XXXXXXXX</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class=" component-feature-img"><img class="img-fluid" src="images/Icon_tool.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Service discovery</div>
|
||||
<div class="component-feature-desc">In the cloud, applications can’t always know the exact location of other services. A service registry, such as Netflix Eureka, or a sidecar solution, such as HashiCorp Consul, can help. Spring Cloud provides DiscoveryClient implementations for popular registries such as Eureka, Consul, Zookeeper, and even Kubernetes' built-in system. There’s also a Spring Cloud Load Balancer to help you distribute the load carefully among your service instances.
|
||||
<br /><br /><NavLink href="/service-discovery/get-started" role="button" class="nav-link">Get started with Steeltoe Discovery</NavLink></div>
|
||||
<Template Name="Event Driven" Features="@features">
|
||||
<Description>Event-driven systems reflect how modern businesses actually work, with thousands of small changes happening all day, every day. Steeltoe’s ability to handle events and enable developers to build applications around them, means your apps will stay in sync with your business. Steeltoe has event-driven options like streaming all the way to cloud functions, and data flows.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Cloud configuration</div>
|
||||
<div class="component-feature-desc">In the cloud, configuration can’t simply be embedded inside the application. The configuration has to be flexible enough to cope with multiple applications, environments, and service instances, as well as deal with dynamic changes without downtime. Spring Cloud Config is designed to ease these burdens and offers integration with version control systems like Git to help you keep your configuration safe.
|
||||
<br /><br /><NavLink href="/app-configuration/get-started" role="button" class="nav-link">Get started with Steeltoe Config</NavLink></div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img src="images/cloud-foundry.png" height="108" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Circuit breakers</div>
|
||||
<div class="component-feature-desc">Distributed systems can be unreliable. Requests might encounter timeouts or fail completely. A circuit breaker can help mitigate these issues, and Spring Cloud Circuit Breaker gives you the choice of three popular options: Resilience4J, Sentinel, or Hystrix.
|
||||
<br /><br /><NavLink href="/circuit-breaker/get-started" role="button" class="nav-link">Get started with Steeltoe Circuit Breaker</NavLink></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Tracing</div>
|
||||
<div class="component-feature-desc">Debugging distributed applications can be complex and take a long time. For any given failure, you might need to piece together traces of information from several independent services. Spring Cloud Sleuth can instrument your applications in a predictable and repeatable way. And when used in conjunction with Zipkin, you can zero in on any latency problems you might have.
|
||||
<br /><br /><NavLink href="/cloud-management/get-started/distributed-tracing" role="button" class="nav-link">Get started with Steeltoe Distributed Tracing</NavLink></div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</AltFeatureTemplate>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/quickstart" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/quickstart" AsButton="true">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe Stream",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe Stream improves your productivity when working with Apache Kafka and RabbitMQ, providing three key abstractions to simplify your code. “Binders” integrate with external messaging systems. “Bindings” bridge the gap between the messaging systems and your code. “Messages” provide the structure that your code uses to send and receive data.<Br /><br />Steeltoe Stream also provides support for provisioning, content conversion, error handling, configuration management, consumer groups, partitioning, monitoring, and health checks.<Br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/stream");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Learn more");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe with Spring Cloud Data Flow",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Spring Cloud Data Flow offers developers a range of tools and automation for working with all kinds of data sources and destinations. Steeltoe helps you to develop, deploy, manage, and scale high-throughput streaming data pipelines across multiple cloud-native platforms.<Br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/data-flow");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Learn more");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_network.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe Messaging",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"With the Steeltoe Messaging project, you can apply core concepts to the development of Kafka or RabbitMQ based messaging solutions.<br /><br />Both include \"template\" as a high-level message handling abstraction, and support message-driven POCOs with a \"listener container.\"<Br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/messaging");
|
||||
b.AddAttribute(4, "AsButton",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "Learn more");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_device-exchange.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -6,61 +6,60 @@
|
|||
<PageTitle Title="Home" />
|
||||
|
||||
<div class="bg-midnight-blue text-white width-all">
|
||||
<div class="width-60 container">
|
||||
<div class="row no-gutters py-5">
|
||||
<div class="width-70 container">
|
||||
<div class="row no-gutters pt-5">
|
||||
<div class="col text-center"><h1>A .NET framework for creating<br />cloud-native microservices</h1></div>
|
||||
</div>
|
||||
<div class="row no-gutters mt-5">
|
||||
<div class="col text-center">
|
||||
<Href class="text-white border-white mr-4" href="/why-steeltoe" AsButton="true">WHY STEELTOE</Href>
|
||||
<Href class="text-white border-white" href="/quickstart" AsButton="true">QUICKSTART</Href>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-gutters mt-5">
|
||||
<div class="col">
|
||||
<Banner Href="https://github.com/SteeltoeOSS/steeltoe/blob/master/roadmaps/3.0.0.md" BannerTypeName="version">
|
||||
<span class="font-weight-bold">Steeltoe 3.0 is coming soon.</span> Learn more and get started with the latest milestone >
|
||||
</Banner>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col text-center"><h1>A .NET framework for creating<br />cloud-native microservices</h1></div>
|
||||
</div>
|
||||
@*<div class="row no-gutters">
|
||||
<div class="col"><span class="line-height-35 font-weight-normal">Need to containerize .NET Framework apps for the cloud? Steeltoe can help reach a few of those 12 factors in a snap. Creating new .NET Core applications? With little effort, Steeltoe will have your app getting the most out of its platform. Steeltoe also provides tools for the cloud-native .NET developer to work locally and on a cloud platform with little change.<br /><br />Learn more about the tools & components within Steeltoe below, or <NavLink class="nav-link text-white font-weight-bold" href="/get-started" style="text-decoration:underline;">get started now</NavLink>!</span></div>
|
||||
</div>*@
|
||||
<div class="row no-gutters width-all mt-5">
|
||||
<div class="col text-right mr-3"><NavLink class="font-weight-bold btn btn-default text-white border-white p-3 nav-link" href="/why-steeltoe" role="button">WHY STEELTOE</NavLink></div>
|
||||
<div class="col ml-3"><NavLink class="font-weight-bold btn btn-default text-white border-white p-3 nav-link" href="/quickstart" role="button">QUICKSTART</NavLink></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all blue-slant">
|
||||
<div class="width-70 container">
|
||||
<div class="width-90 container">
|
||||
<div class="width-all text-center"><h2>What Steeltoe can do</h2></div>
|
||||
<div class="">
|
||||
<div class="row no-gutters">
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/microservices">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-microservices-dfc414fd79f67718216adaffb5d99947.svg" /></div>
|
||||
<div class="col component"><Href href="/microservices">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-microservices-dfc414fd79f67718216adaffb5d99947.svg" /></div>
|
||||
<div class="title"><h3>Microservices</h3></div>
|
||||
<div class="desc">Quickly deliver production‑grade features with independently evolvable microservices.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/cloud">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-cloud-73c3f4c15437e8493b3d3124fc667a08.svg" /></div>
|
||||
<div class="col component"><Href href="/cloud">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-cloud-73c3f4c15437e8493b3d3124fc667a08.svg" /></div>
|
||||
<div class="title"><h3>Cloud</h3></div>
|
||||
<div class="desc">Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/web-applications">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-webapps-16f6e97a1447fefba82fbdfc302262af.svg" /></div>
|
||||
<div class="col component"><Href href="/web-applications">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-webapps-16f6e97a1447fefba82fbdfc302262af.svg" /></div>
|
||||
<div class="title"><h3>Web Apps</h3></div>
|
||||
<div class="desc">A framework for fast, secure, and responsive web applications connected to any data store.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/event-driven">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-streams-825456b79c33345f5bf4a6ef73dc8cbd.svg" /></div>
|
||||
<div class="col component"><Href href="/event-driven">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-streams-825456b79c33345f5bf4a6ef73dc8cbd.svg" /></div>
|
||||
<div class="title"><h3>Event Driven</h3></div>
|
||||
<div class="desc">Integrate with your enterprise. React to business events. Act on your streaming data in realtime.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="width-all">
|
||||
<div class="width-60 container py-5">
|
||||
<div class="width-90 container py-5">
|
||||
<div class="row no-gutters text-center mt-3">
|
||||
<div class="col stat">
|
||||
Steeltoe has been downloaded over <span class="number">8 million</span> times on NuGet!
|
||||
|
@ -95,7 +94,7 @@
|
|||
</svg>
|
||||
</div>
|
||||
<div class="left-yellow-slant bg-midnight-blue text-white width-all pb-4">
|
||||
<div class="width-60 container">
|
||||
<div class="width-70 container">
|
||||
<div class="text-center width-all pb-3"><h2>News</h2></div>
|
||||
@if (events == null) {
|
||||
<span> </span>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
</li>
|
||||
<li>
|
||||
Thats it! You have generated a .NET Core microservice using all the latest patterns. Go back and try adding a dependency or <NavLink class="nav-link" href="/getstarted">try other tutorials</NavLink>
|
||||
Thats it! You have generated a .NET Core microservice using all the latest patterns. Go back and try adding a dependency or <Href href="/getstarted">try other tutorials</Href>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
@page "/initializr"
|
||||
|
||||
<SteeltoeComponent Name="Steeltoe Initializr">
|
||||
<ComponentDescription>One of the biggest secrets to highly productive .NET development teams is application generators. Enterprises have found that developers adopt platforms far quicker when everything they need to get started is right there, at their fingertips. Application generators help developers to get started quickly by providing useful guide rails that reduce toil and ease their burden. Application generators also encourage common approaches to common problems, which is particularly useful if you have lots of teams creating microservices at the same time.
|
||||
<Template Name="Steeltoe Initializr" GettingStartedURL="/initializr/get-started" DocsURL="/docs/developer-tools/initializr">
|
||||
<Description>One of the biggest secrets to highly productive .NET development teams is application generators. Enterprises have found that developers adopt platforms far quicker when everything they need to get started is right there, at their fingertips. Application generators help developers to get started quickly by providing useful guide rails that reduce toil and ease their burden. Application generators also encourage common approaches to common problems, which is particularly useful if you have lots of teams creating microservices at the same time.
|
||||
<br /><br />
|
||||
The Steeltoe Initializr project is an application generator meant to get cloud-native .NET developers going very quickly. But it doesn’t stop there. Chances are your apps aren’t just using the typical .NET Core or Steeltoe libraries. It’s also using internal custom libraries specific to your business. Every business has libraries: tools they rely on to simplify tasks or take care of the plumbing. These libraries are quite important and often include proprietary business logic that’s both private and unique. Application generators can help developers to get easy access to these libraries without having to delve into docs, wade through wikis, or search in NuGet repositories.
|
||||
<br /><br />
|
||||
Additionally an application generator can help bond development teams and security teams to the same vision by making the right thing, the easy thing. Instead of developers using previous projects to start a new project they use the application generator. Now they can start with an up to date version of all required dependencies!</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="/initializr/get-started">GET STARTED</NavLink></GettingStartedURL>
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/developer-tools/initializr">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<Features>
|
||||
Additionally an application generator can help bond development teams and security teams to the same vision by making the right thing, the easy thing. Instead of developers using previous projects to start a new project they use the application generator. Now they can start with an up to date version of all required dependencies!</Description>
|
||||
<OtherArea>
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whyuse-title mt-0">
|
||||
<h2>Using Initializr</h2>
|
||||
|
@ -21,14 +19,14 @@
|
|||
<div class="col component-whyuse-desc">
|
||||
<h4>Hosted Service</h4>
|
||||
<div>
|
||||
As a hosted service, Initializr offers both API and browser interfaces. The service itself is distributed as a Nuget package which you include in a new .NET Core web project. From there you can run the project as a web-based service. Out of the box you'll get all the <NavLink class="nav-link" href="xxxx" target="_blank">default dependencies</NavLink> along with endpoints for interaction. Try the below curl command that uses our hosted Initializr service to get started.<br /><br />
|
||||
As a hosted service, Initializr offers both API and browser interfaces. The service itself is distributed as a Nuget package which you include in a new .NET Core web project. From there you can run the project as a web-based service. Out of the box you'll get all the <Href href="xxxx" target="_blank">default dependencies</Href> along with endpoints for interaction. Try the below curl command that uses our hosted Initializr service to get started.<br /><br />
|
||||
<pre><code>$ curl https://start.steeltoe.io/starter.zip -d "dependencies=Actuators,DynamicLogger,SQL Server" -d "projectName=MyCompany.MySample" -o "myProject.zip"</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col component-whyuse-desc">
|
||||
<h4>Browser UI</h4>
|
||||
<div>
|
||||
Along with adding the Initializr package, you can optionally add a web site in the same .NET Core project. This gives developers an additional interaction with the Initializr service. We have created a <NavLink class="nav-link" href="xxxx" target="_blank">basic web project</NavLink> doing just that to help get started. If you'de like to see the UI in action head over to <NavLink class="nav-link" href="https://start.steeltoe.io" target="_blank">https://start.steeltoe.io</NavLink> and create your first Initializr project now!
|
||||
Along with adding the Initializr package, you can optionally add a web site in the same .NET Core project. This gives developers an additional interaction with the Initializr service. We have created a <Href href="xxxx" target="_blank">basic web project</Href> doing just that to help get started. If you'de like to see the UI in action head over to <Href href="https://start.steeltoe.io" target="_blank">https://start.steeltoe.io</Href> and create your first Initializr project now!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -39,24 +37,22 @@
|
|||
</div>
|
||||
<div class="row mb-5 no-gutters">
|
||||
<div class="col component-whyuse-desc">
|
||||
No matter the way you choose to use Initializr, the value is in the distribution of pre-packaged dependencies. The <NavLink class="nav-link" href="xxxx" target="_blank">default dependencies</NavLink> included in Initializr are mostly Steeltoe focused. Things like database connectors, a Spring config client, a Consol discovery client, and many others. But this is a community driven project, so it only makes sense to offer ways for the .NET community to contribute.
|
||||
No matter the way you choose to use Initializr, the value is in the distribution of pre-packaged dependencies. The <Href href="xxxx" target="_blank">default dependencies</Href> included in Initializr are mostly Steeltoe focused. Things like database connectors, a Spring config client, a Consol discovery client, and many others. But this is a community driven project, so it only makes sense to offer ways for the .NET community to contribute.
|
||||
<h4>Creating private dependencies</h4>
|
||||
Running Initializr in-house isn’t just about limited network connections. The Steeltoe Initializr is meant to be extended. While having the ability to generate Steeltoe projects automatically is super awesome, what if you could also add in your own dependencies? What if your organization could offer a starting place for all developers, that (safely) includes your best practices and secret sauce?
|
||||
<br /><br />TODO: provide more detail about how to create a dependency and add it in to an Initializr instance
|
||||
<h4>Creating for public use on start.steeltoe.io</h4>
|
||||
If you would like for your Initializr dependency to be a part of the publicly hosted service, please review the <NavLink class="nav-link" href="https://github.com/SteeltoeOSS/initializr/blob/master/THIRD-PARTY-CONTRIBUTIONS.md" target="_blank">guidelines</NavLink>. Once you have everything in place, submit a request to XXXXXXXX.
|
||||
If you would like for your Initializr dependency to be a part of the publicly hosted service, please review the <Href href="https://github.com/SteeltoeOSS/initializr/blob/master/THIRD-PARTY-CONTRIBUTIONS.md" target="_blank">guidelines</Href>. Once you have everything in place, submit a request to XXXXXXXX.
|
||||
<h4>Getting listed in the incubator</h4>
|
||||
Sometimes you have a great idea for a very useful dependency but don't have the time to maintain it. If that's the case, follow the <NavLink class="nav-link" href="https://github.com/SteeltoeOSS/initializr/blob/master/THIRD-PARTY-CONTRIBUTIONS.md" target="_blank">guidelines</NavLink> as closely as possible, and request a new repo in Steeltoe's <NavLink class="nav-link" href="https://github.com/SteeltoeOSS-incubator" target="_blank">incubator org</NavLink>. This is a place to share Steeltoe based ideas with the community, giving them the option to use.
|
||||
Sometimes you have a great idea for a very useful dependency but don't have the time to maintain it. If that's the case, follow the <Href href="https://github.com/SteeltoeOSS/initializr/blob/master/THIRD-PARTY-CONTRIBUTIONS.md" target="_blank">guidelines</Href> as closely as possible, and request a new repo in Steeltoe's <Href href="https://github.com/SteeltoeOSS-incubator" target="_blank">incubator org</Href>. This is a place to share Steeltoe based ideas with the community, giving them the option to use.
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/initializr/get-started" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/initializr/get-started" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
|
||||
|
||||
@code {
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
@page "/integration/get-started"
|
||||
|
||||
<Breadcrumbs NavName="Getting Started"
|
||||
ParentLinkName="Stream"
|
||||
ParentLinkUrl="/stream" />
|
||||
<GetStarted>
|
||||
<ComponentName>Stream</ComponentName>
|
||||
<Tutorials>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><a class="nav-link p-0" href="stream/get-started/rabbitmq">RabbitMQ</a></div>
|
||||
<div class="desc">Use RabbitMQ as the message broker.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1"> </div>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><a class="nav-link p-0" href="stream/get-started/kafka">Kafka</a></div>
|
||||
<div class="desc">Use Kafka as the message broker.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Tutorials>
|
||||
</GetStarted>
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
@page "/integration"
|
||||
|
||||
<SteeltoeComponent Name="Integration">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/integration">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="/integration/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Build highly scalable event-driven microservices connected to shared messaging systems.</ComponentDescription>
|
||||
<WhatIsComponent>XXXXXXXX</WhatIsComponent>
|
||||
<WhyUseComponent>
|
||||
YYYYYYYY
|
||||
</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Support for Multiple Message Brokers</div>
|
||||
<div class="component-feature-desc">Steeltoe stream support for both <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/rabbitmq-binder" target="_blank">RabbitMQ</a> as well as <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/kafka-binder" target="_blank">Kafka</a>, you have flexibility with little to no code change when choosing the right broker.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_computers.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_cloud.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Logging & Health Checks Built In</div>
|
||||
<div class="component-feature-desc">Stream logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Event Driven Architectures</div>
|
||||
<div class="component-feature-desc">xxxxxx.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Messagaing</div>
|
||||
<div class="component-feature-desc">XXXXXX.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
</li>
|
||||
<li>
|
||||
Thats it! You have generated a .NET Core microservice using all the latest patterns. Go back and try adding a dependency or <NavLink class="nav-link" href="/getstarted">try other tutorials</NavLink>
|
||||
Thats it! You have generated a .NET Core microservice using all the latest patterns. Go back and try adding a dependency or <Href href="/getstarted">try other tutorials</Href>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
@page "/local"
|
||||
@page "/steeltoe-local"
|
||||
|
||||
<SteeltoeComponent Name="Steeltoe Local">
|
||||
<ComponentDescription>Cloud platforms boast many gains in productivity, but applications don’t start there. They are developed locally and then pushed.
|
||||
<Template Name="Steeltoe Local" GettingStartedURL="/local/get-startedd" DocsURL="/docs/developer-tools/local">
|
||||
<Description>Cloud platforms boast many gains in productivity, but applications don’t start there. They are developed locally and then pushed.
|
||||
<br /><br />
|
||||
Steeltoe Local helps developers recreate how their app will be deployed in production, locally. The worst practice one can have is coding in decisions based on the environment the app is running in. This complicates testing by adding too many possible scenarios. It’s true you can’t account for every option and feature in every environment, but you can create an application that is resilient to those changes. You can create something that expects that change.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="/local/get-started">GET STARTED</NavLink></GettingStartedURL>
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/developer-tools/local">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<Features>
|
||||
Steeltoe Local helps developers recreate how their app will be deployed in production, locally. The worst practice one can have is coding in decisions based on the environment the app is running in. This complicates testing by adding too many possible scenarios. It’s true you can’t account for every option and feature in every environment, but you can create an application that is resilient to those changes. You can create something that expects that change.</Description>
|
||||
<OtherArea>
|
||||
<div class="row no-gutters">
|
||||
<div class="col component-whyuse-title mt-0">
|
||||
<h2>Installing the CLI</h2>
|
||||
|
@ -15,7 +13,7 @@
|
|||
</div>
|
||||
<div class="row mb-5 no-gutters">
|
||||
<div class="col component-whyuse-desc">
|
||||
To install the CLI, use the <NavLink class="nav-link" href="https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools" target="_blank">dotnet global tools</NavLink> feature of the <NavLink class="nav-link" href="https://docs.microsoft.com/en-us/dotnet/core/tools" target="_blank">dotnet cli</NavLink>.
|
||||
To install the CLI, use the <Href href="https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools" target="_blank">dotnet global tools</Href> feature of the <Href href="https://docs.microsoft.com/en-us/dotnet/core/tools" target="_blank">dotnet cli</Href>.
|
||||
<pre><code>PS C:\> dotnet tool install --global --version 1.0.0-m1 Steeltoe.Cli</code></pre>
|
||||
<Note><Message>To use the CLI you will need to have Docker running. For Windows we suggest Docker Desktop using the linux containers option. For OSX, the defaults for Docker are good.</Message></Note>
|
||||
</div>
|
||||
|
@ -45,14 +43,12 @@
|
|||
Steeltoe CLI has written this manifest for you at the root of the project. Tweak any customizations you might want to include and use this in a manual push command like “cf push -f..” or “kubectl apply -f..”, or check-in the manifest with your code for use in a pipeline.
|
||||
</div>*@
|
||||
</div>
|
||||
</Features>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/local/get-started" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/local/get-started" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
|
||||
|
||||
@code {
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
<Tutorials>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><NavLink class="nav-link p-0" href="/logging/get-started/dynamic-logging">Dynamic Logging</NavLink></div>
|
||||
<div class="title"><Href class="nav-link p-0" href="/logging/get-started/dynamic-logging">Dynamic Logging</Href></div>
|
||||
<div class="desc">xxxxxx.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1"> </div>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><NavLink class="nav-link p-0" href="/logging/get-started/serilog-dynamic-logging">Serilog Dynamic Logging</NavLink></div>
|
||||
<div class="title"><Href class="nav-link p-0" href="/logging/get-started/serilog-dynamic-logging">Serilog Dynamic Logging</Href></div>
|
||||
<div class="desc">xxxxxx.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,17 +1,38 @@
|
|||
@page "/dynamic-logging"
|
||||
@page "/steeltoe-logging"
|
||||
|
||||
<SteeltoeComponent Name="Logging">
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/logging">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<NavLink class="component-button nav-link" href="/logging/get-started">GET STARTED TUTORIAL</NavLink>
|
||||
</GettingStartedURL>
|
||||
|
||||
<ComponentDescription>XXXXXXX</ComponentDescription>
|
||||
<WhatIsComponent>XXXXXXX</WhatIsComponent>
|
||||
<WhyUseComponent>XXXXXXX</WhyUseComponent>
|
||||
<Features>
|
||||
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
<Template Name="Logging" Features="@features" GettingStartedURL="/dynamic-logging/get-started" DocsURL="/docs/logging">
|
||||
<Description>XXXXXXX</Description>
|
||||
<WhatIs>XXXXXXX</WhatIs>
|
||||
<WhyUse>XXXXXXX</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"");
|
||||
}),
|
||||
Img = ""
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,44 +1,60 @@
|
|||
@page "/messaging"
|
||||
|
||||
<SteeltoeComponent Name="Messaging">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/messaging">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="/messaging/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Build highly scalable event-driven microservices connected to shared messaging systems.</ComponentDescription>
|
||||
<WhatIsComponent>XXXXXXXX</WhatIsComponent>
|
||||
<WhyUseComponent>
|
||||
<Template Name="Messaging" Features="@features" GettingStartedURL="/messaging/get-started" DocsURL="/docs/messaging">
|
||||
<Description>Build highly scalable event-driven microservices connected to shared messaging systems.</Description>
|
||||
<WhatIs>XXXXXXXX</WhatIs>
|
||||
<WhyUse>
|
||||
YYYYYYYY
|
||||
</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Support for Multiple Message Brokers</div>
|
||||
<div class="component-feature-desc">Steeltoe stream support for both <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/rabbitmq-binder" target="_blank">RabbitMQ</a> as well as <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/kafka-binder" target="_blank">Kafka</a>, you have flexibility with little to no code change when choosing the right broker.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_computers.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_cloud.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Logging & Health Checks Built In</div>
|
||||
<div class="component-feature-desc">Stream logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.</div>
|
||||
</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Event Driven Architectures</div>
|
||||
<div class="component-feature-desc">xxxxxx.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Messagaing</div>
|
||||
<div class="component-feature-desc">XXXXXX.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Support for Multiple Message Brokers",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe stream support for both RabbitMQ as well as Kafka, you have flexibility with little to no code change when choosing the right broker.");
|
||||
}),
|
||||
Img = "/images/Icon_computers.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Logging & Health Checks Built In",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Stream logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.");
|
||||
}),
|
||||
Img = "/images/Icon_cloud.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Event Driven Architectures",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"xxxxxxx");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Messagaing",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"xxxxxxxxx");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.png"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,48 +1,95 @@
|
|||
@page "/microservices"
|
||||
@page "/microservice"
|
||||
|
||||
<SteeltoeComponent Name="Microservices" NameIsPlural="true">
|
||||
<ComponentDescription>Microservice architectures are the ‘new normal’. Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code. Spring Boot’s many purpose-built features make it easy to build and run your microservices in production at scale. And don’t forget, no microservice architecture is complete without <NavLink class="nav-link" href="/cloud">Steeltoe Cloud components</NavLink> ‒ easing administration and boosting your fault-tolerance.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="quickstart">GET STARTED</NavLink></GettingStartedURL>
|
||||
<WhatIsComponent>Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others.</WhatIsComponent>
|
||||
<WhyUseComponent>Their small scale and relative isolation can lead to many additional benefits, such as easier maintenance, improved productivity, greater fault tolerance, better business alignment, and more.</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Microservices with Steeltoe</div>
|
||||
<div class="component-feature-desc">With Steeltoe, your microservices can start small and iterate fast. That’s why it quickly becomning the standard for .NET microservices. Quickstart your project with Steeltoe Initializr and then package as a container. With Steeltoe’s middleware pipeline model, you’re ready to go in minutes.
|
||||
<br /><br /><NavLink href="/quickstart" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY OUR QUICKSTART GUIDE</NavLink></div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class=" component-feature-img"><img class="img-fluid" src="images/Icon_tool.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Microservice resilience with Steeltoe Cloud Components</div>
|
||||
<div class="component-feature-desc">The distributed nature of microservices brings challenges. Steeltoe helps you mitigate these. With several ready-to-run cloud patterns, <NavLink class="nav-link" href="/cloud">Steeltoe Cloud components</NavLink> can help with service discovery, load-balancing, circuit-breaking, distributed tracing, monitoring, and more.</div>
|
||||
<Template Name="Microservices" NameIsPlural="true" ShowBottomGetStarted="false" GettingStartedURL="/quickstart" Features="@features">
|
||||
<Description>Microservice architectures are the ‘new normal’. Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code. Steeltoe’s many purpose-built features make it easy to build and run your microservices in production at scale. And don’t forget, no microservice architecture is complete without <Href href="/cloud">cloud components</Href> ‒ easing administration and boosting your fault-tolerance.</Description>
|
||||
<WhatIs>Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others.</WhatIs>
|
||||
<WhyUse>Their small scale and relative isolation can lead to many additional benefits, such as easier maintenance, improved productivity, greater fault tolerance, better business alignment, and more.</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Build streaming data microservices with Steeltoe Stream</div>
|
||||
<div class="component-feature-desc">Steeltoe Stream makes it easy to consume and produce events, no matter which messaging platform you choose. Steeltoe Stream connects your microservices with real-time messaging in just a few lines of code, to help you build highly scalable, event-driven systems.
|
||||
<br /><br /><NavLink href="/streams/get-started" role="button" class="nav-link">Get started with Steeltoe Stream</NavLink></div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img src="images/cloud-foundry.png" height="108" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Microservices on Cloud Foundry</div>
|
||||
<div class="component-feature-desc">The small, stateless nature of microservices makes them ideal for horizontal scaling. Platforms like Tanzu Application Service and Pivotal Container Service can provide scalable infrastructure to match, with and greatly reduce your administrative overhead. Using cloud connectors, you can also consume multiple backend services with ease.
|
||||
<br /><br /><NavLink href="https://run.pivotal.io" role="button" class="nav-link" target="_blank">Try Pivotal Web Services for free</NavLink></div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</AltFeatureTemplate>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/quickstart" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/quickstart" AsButton="true">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Microservices with Steeltoe",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"With Steeltoe, your microservices can start small and iterate fast. That’s why it's quickly becoming the standard for .NET microservices. Quickstart your project with ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/initializr");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "Steeltoe Initializr");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6," and then package as a container. With Steeltoe’s middleware pipeline model, you’re ready to go in minutes.<br /><br />");
|
||||
b.OpenComponent<Href>(7);
|
||||
b.AddAttribute(8, "href","/quickstart");
|
||||
b.AddAttribute(9, "AsButton",true);
|
||||
b.AddAttribute(10, "ChildContent", (RenderFragment)((b) => {b.AddContent(11, "TRY OUR QUICKSTART GUIDE");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_down-arrow.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Microservice resilience with Steeltoe Cloud Components",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"The distributed nature of microservices brings challenges. Steeltoe helps you mitigate these. With several ready-to-run cloud patterns, Steeltoe's ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/cloud");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "cloud components");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6," can help with service discovery, load-balancing, circuit-breaking, distributed tracing, monitoring, and more.");
|
||||
}),
|
||||
Img = "/images/Icon_tool.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Build streaming data microservices with Steeltoe Streams",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe Streams makes it easy to consume and produce events, no matter which messaging platform you choose. Steeltoe Stream connects your microservices with real-time messaging in just a few lines of code, to help you build highly scalable, event-driven systems.<br /><br />");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/streams/get-started");
|
||||
b.AddAttribute(9, "AsButton",true);
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "Get started with Steeltoe Streams");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Microservices on Cloud Foundry",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"The small, stateless nature of microservices makes them ideal for horizontal scaling. Platforms like Tanzu Application Service and Kubernetes can provide scalable infrastructure to match, with and greatly reduce your administrative overhead. Using ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","service-connectors");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "service connectors");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6,", you can also consume multiple backend services with ease.<br /><br />");
|
||||
b.OpenComponent<Href>(7);
|
||||
b.AddAttribute(8, "href","https://run.pivotal.io");
|
||||
b.AddAttribute(9, "NewWindow",true);
|
||||
b.AddAttribute(10, "ChildContent", (RenderFragment)((b) => {b.AddContent(11, "Try Pivotal Web Services for free");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,16 +1,38 @@
|
|||
@page "/network-file-sharing"
|
||||
@page "/steeltoe-smb"
|
||||
|
||||
<SteeltoeComponent Name="Network File Sharing">
|
||||
<DocsURL><NavLink class="component-button nav-link" href="/docs/fileshares">VIEW THE DOCS</NavLink></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<NavLink class="component-button nav-link" href="/network-file-sharing/get-started">GET STARTED TUTORIAL</NavLink>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>XXXXXXX</ComponentDescription>
|
||||
<WhatIsComponent>XXXXXXX</WhatIsComponent>
|
||||
<WhyUseComponent>XXXXXXX</WhyUseComponent>
|
||||
<Features>
|
||||
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
<Template Name="Network File Sharing" Features="@features" GettingStartedURL="/network-file-sharing/get-started" DocsURL="/docs/fileshares">
|
||||
<Description>XXXXXXX</Description>
|
||||
<WhatIs>XXXXXXX</WhatIs>
|
||||
<WhyUse>XXXXXXX</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"");
|
||||
}),
|
||||
Img = ""
|
||||
}
|
||||
};
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
You'll need acces to Tanzu Application Services to complete this guide. If you don't already have creds and the URL to app manager, create a free account <NavLink class="nav-link" href="https://run.pivotal.io/" target="_blank">here</NavLink>.
|
||||
You'll need acces to Tanzu Application Services to complete this guide. If you don't already have creds and the URL to app manager, create a free account <Href href="https://run.pivotal.io/" target="_blank">here</Href>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
|
|
@ -147,7 +147,7 @@ public class Startup
|
|||
<div class="col-12 getting-started-ordered-list">
|
||||
<TabSet>
|
||||
<Steeltoe.Client.Components.RunAppTab.Docker ProjectName="@ProjectName" ImageName="grafana-app-image" ContainerName="grafana-app" ContainerPort="80" PublicPort="80" IncludeCreateNetworkStep="true">
|
||||
<AdditionalSteps><Note><Message>Confirm the app started successfully by running <code>docker ps</code>. You should see a running container named "grafana-app". You can also navigate to <NavLink class="nav-link" href="http://localhost:80/actuators" target="_blank">http://localhost:80/actuators</NavLink>. This should display a list of available endpoints including the prometheus.</Message></Note></AdditionalSteps>
|
||||
<AdditionalSteps><Note><Message>Confirm the app started successfully by running <code>docker ps</code>. You should see a running container named "grafana-app". You can also navigate to <Href href="http://localhost:80/actuators" target="_blank">http://localhost:80/actuators</Href>. This should display a list of available endpoints including the prometheus.</Message></Note></AdditionalSteps>
|
||||
</Steeltoe.Client.Components.RunAppTab.Docker>
|
||||
<Steeltoe.Client.Components.RunAppTab.Kubernetes ProjectName="@ProjectName" IncludeNavigateToApp="false" />
|
||||
</TabSet>
|
||||
|
@ -199,13 +199,12 @@ scrape_configs:
|
|||
<DockerCmd>docker run -d --name my-prometheus-service -p 9090:9090 -v <ABSOLUTE_PATH_TO>/prometheus.yml:/etc/prometheus/prometheus.yml --network "steeltoe" prom/prometheus</DockerCmd>
|
||||
<AdditionalSteps>
|
||||
<li>
|
||||
Confirm Prometheus is running by navigating to the dashboard <NavLink class="nav-link" href="http://localhost:9090" target="_blank">http://localhost:9090</NavLink>
|
||||
Confirm Prometheus is running by navigating to the dashboard <Href href="http://localhost:9090" target="_blank">http://localhost:9090</Href>
|
||||
</li>
|
||||
<Tip><Message>Once you navigate to the Prometheus dashboard, go to Status>Targets to confirm the app has registered successfully and data is being scraped correctly.</Message></Tip>
|
||||
</AdditionalSteps>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.Local>
|
||||
<Steeltoe.Client.Components.StartInstanceTab.Kubernetes InstanceName="@InstanceName" ServiceName="my-prometheus-service">
|
||||
<HelmGettingStartedUrl>https://hub.helm.sh/charts/stable/mongodb</HelmGettingStartedUrl>
|
||||
<HelmCmd>helm install --name my-prometheus-service stable/prometheus -f <PATH_TO>/prometheus.yml</HelmCmd>
|
||||
<AdditionalSteps>
|
||||
<li>
|
||||
|
@ -413,7 +412,6 @@ datasources:
|
|||
<DockerCmd>docker run -d --name my-grafana-service -p 3000:3000 --network "steeltoe" -v <ABSOLUTE_PATH_TO>/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml -v <ABSOLUTE_PATH_TO>/dashboard.json:/var/lib/grafana/dashboards/steeltoe.json -v <ABSOLUTE_PATH_TO>/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml grafana/grafana</DockerCmd>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.Local>
|
||||
<Steeltoe.Client.Components.StartInstanceTab.Kubernetes InstanceName="@InstanceName" ServiceName="@ServiceName">
|
||||
<HelmGettingStartedUrl>https://hub.helm.sh/charts/stable/mongodb</HelmGettingStartedUrl>
|
||||
<HelmCmd>helm install --name my-grafana-service stable/grafana -f <PATH_TO>/prometheus.yml -f <PATH_TO>/dashboard.json</HelmCmd>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.Kubernetes>
|
||||
</TabSet>
|
||||
|
@ -429,7 +427,7 @@ datasources:
|
|||
<Note><Message>The default username is <code>admin</code> and the password is <code>admin.</code></Message></Note>
|
||||
<TabSet>
|
||||
<Tab Title="Local">
|
||||
Grafana is available at <NavLink class="nav-link" href="http://localhost:3000" target="_blank">http://localhost:3000</NavLink>.
|
||||
Grafana is available at <Href href="http://localhost:3000" target="_blank">http://localhost:3000</Href>.
|
||||
</Tab>
|
||||
<Tab Title="kubernetes">
|
||||
Grafana is available at http://<HELM_PROVIDED_HOST_ADDRESS>:<HELM_PROVIDED_PORT_NUMBER>
|
||||
|
|
|
@ -1,34 +1,31 @@
|
|||
@page "/observability"
|
||||
|
||||
<Breadcrumbs NavName="Getting Started" ShowGetStarted="false"
|
||||
ParentLinkName="Cloud Observability"
|
||||
ParentLinkUrl="/observability" />
|
||||
|
||||
<GetStarted>
|
||||
<ComponentName>Cloud Observability</ComponentName>
|
||||
<Tutorials>
|
||||
<div class="col">
|
||||
<Template Name="Cloud Observability" GettingStartedURL="/app-configuration/get-started" DocsURL="/docs/configuration">
|
||||
<Description>xxxxxxxxxxx.</Description>
|
||||
<OtherArea>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><NavLink class="nav-link p-0" href="/observability/wavefront">Wavefront</NavLink></div>
|
||||
<div class="title"><Href class="nav-link p-0" href="/observability/wavefront">Wavefront</Href></div>
|
||||
<div class="desc">Using the Wavefront proxy and Telegraf service, visual metrics and distributed tracing in Wavefront.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1"> </div>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><NavLink class="nav-link" href="/observability/grafana">Grafana</NavLink></div>
|
||||
<div class="title"><Href href="/observability/grafana">Grafana</Href></div>
|
||||
<div class="desc">Using a Prometheus data store, create a Grafana dashboard to visual app metrics & info.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1"> </div>
|
||||
<div class="col">
|
||||
<div class="get-started-tutorial">
|
||||
<div class="title"><NavLink class="nav-link" href="/observability/tanzu">Tanzu Application Services</NavLink></div>
|
||||
<div class="title"><Href href="/observability/tanzu">Tanzu Application Services</Href></div>
|
||||
<div class="desc">Visual app metrics and distributed tracing in Tanzu App Manager.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Tutorials>
|
||||
</GetStarted>
|
||||
</OtherArea>
|
||||
</Template>
|
||||
|
||||
@code {
|
||||
}
|
||||
|
||||
@code{
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
You'll need a Wavefront account to complete this guide successfully. <NavLink class="nav-link" href="https://www.wavefront.com/sign-up/" target="_blank">Create a 30 day trial</NavLink>, if you don't already have access. With your account established replace <code>YOUR_API_TOKEN</code> below with your account token. Lean how to retrieve that token <NavLink class="nav-link" href="https://docs.wavefront.com/users_account_managing.html" target="_blank">here</NavLink>.
|
||||
You'll need a Wavefront account to complete this guide successfully. <Href href="https://www.wavefront.com/sign-up/" target="_blank">Create a 30 day trial</Href>, if you don't already have access. With your account established replace <code>YOUR_API_TOKEN</code> below with your account token. Lean how to retrieve that token <Href href="https://docs.wavefront.com/users_account_managing.html" target="_blank">here</Href>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -28,7 +28,7 @@
|
|||
<code class="inline">docker network create "steeltoe"</code>
|
||||
</li>
|
||||
<li>
|
||||
Using the <NavLink class="nav-link" href="https://hub.docker.com/r/wavefronthq/proxy" target="_blank">docker image</NavLink>, start a local instance of @ServiceName. Remember to replace <YOUR_API_TOKEN> with your account's token.
|
||||
Using the <Href href="https://hub.docker.com/r/wavefronthq/proxy" target="_blank">docker image</Href>, start a local instance of @ServiceName. Remember to replace <YOUR_API_TOKEN> with your account's token.
|
||||
<code class="multiline">docker run -d `
|
||||
--name "wavefront-proxy" `
|
||||
-n "steeltoe" `
|
||||
|
@ -43,7 +43,7 @@
|
|||
</ol>
|
||||
</Tab>
|
||||
<Tab Title="Kubernetes">
|
||||
Using the <NavLink class="nav-link" href="https://github.com/wavefrontHQ/helm/tree/master/wavefront" target="_blank">helm chart</NavLink>, start an instance of @ServiceName. Remember to replace <YOUR_API_TOKEN> with your account's token and CLUSTER information with your K8's cluster info.
|
||||
Using the <Href href="https://github.com/wavefrontHQ/helm/tree/master/wavefront" target="_blank">helm chart</Href>, start an instance of @ServiceName. Remember to replace <YOUR_API_TOKEN> with your account's token and CLUSTER information with your K8's cluster info.
|
||||
<pre><code>PS C:\> helm install `
|
||||
wavefront/wavefront `
|
||||
--name "wavefront-proxy" `
|
||||
|
|
|
@ -2,83 +2,83 @@
|
|||
@page "/get-started"
|
||||
<PageTitle Title="Get Started" />
|
||||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<div class="width-80 container mb-5">
|
||||
<div class="row no-gutters">
|
||||
<div class="col get-started-title">Get Started with Steeltoe</div>
|
||||
</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Service Discovery</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/service-discovery/get-started/consul">Hashicorp Consul Registry</NavLink>
|
||||
<NavLink class="nav-link" href="/service-discovery/get-started/eureka">Eureka Registry</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/service-discovery/get-started/consul">Hashicorp Consul Registry</Href></li>
|
||||
<li><Href href="/service-discovery/get-started/eureka">Eureka Registry</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Service Connectors</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/mysql">MySQL Database</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/mssql">Microsoft SQL Database</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/postgresql">PostgreSQL Database</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/mongo">Mongo Database</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/redis">Redis Cache</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/gemfire">Apache Geode/GemFire Cache</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/rabbit">RabbitMQ Messaging</NavLink>
|
||||
<NavLink class="nav-link" href="/service-connectors/get-started/oauth">OAuth2 Client</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/service-connectors/get-started/mysql">MySQL Database</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/mssql">Microsoft SQL Database</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/postgresql">PostgreSQL Database</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/mongo">Mongo Database</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/redis">Redis Cache</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/gemfire">Apache Geode/GemFire Cache</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/rabbit">RabbitMQ Messaging</Href></li>
|
||||
<li><Href href="/service-connectors/get-started/oauth">OAuth2 Client</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Circuit Breakers</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/circuit-breakers/get-started/breaker">Get Started</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/circuit-breakers/get-started/breaker">Get Started</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col overall-get-started-item">
|
||||
<div class="title">App Configuration</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/app-configuration/get-started/springconfig">Spring Config Server</NavLink>
|
||||
<NavLink class="nav-link" href="/app-configuration/get-started/cloudfoundry">Cloud Foundry Provider</NavLink>
|
||||
<NavLink class="nav-link" href="/app-configuration/get-started/placeholder">Placeholder Provider</NavLink>
|
||||
<NavLink class="nav-link" href="/app-configuration/get-started/randomvalue">Random Value Provider</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/app-configuration/get-started/springconfig">Spring Config Server</Href></li>
|
||||
<li><Href href="/app-configuration/get-started/cloudfoundry">Cloud Foundry Provider</Href></li>
|
||||
<li><Href href="/app-configuration/get-started/placeholder">Placeholder Provider</Href></li>
|
||||
<li><Href href="/app-configuration/get-started/randomvalue">Random Value Provider</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Security Providers</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/security-providers/get-started/redisstore">Store key ring in Redis</NavLink>
|
||||
<NavLink class="nav-link" href="/security-providers/get-started/jwt">Resource Protection using JSON Web Tokens (JWT)</NavLink>
|
||||
<NavLink class="nav-link" href="/security-providers/get-started/credhub">CredHub Client</NavLink>
|
||||
<NavLink class="nav-link" href="/security-providers/get-started/sso/oauth">Cloud Foundry SSO with OAuth2 provider</NavLink>
|
||||
<NavLink class="nav-link" href="/security-providers/get-started/sso/openid">Cloud Foundry SSO with OpenID Connect provider</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/security-providers/get-started/redisstore">Store key ring in Redis</Href></li>
|
||||
<li><Href href="/security-providers/get-started/jwt">Resource Protection using JSON Web Tokens (JWT)</Href></li>
|
||||
<li><Href href="/security-providers/get-started/credhub">CredHub Client</Href></li>
|
||||
<li><Href href="/security-providers/get-started/sso/oauth">Cloud Foundry SSO with OAuth2 provider</Href></li>
|
||||
<li><Href href="/security-providers/get-started/sso/openid">Cloud Foundry SSO with OpenID Connect provider</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Cloud Management</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/cloud-management/get-started/endpoints">Management Endpoints (Actuators)</NavLink>
|
||||
<NavLink class="nav-link" href="/cloud-management/get-started/distributed-tracing">Distributed Tracing</NavLink>
|
||||
<NavLink class="nav-link" href="/cloud-management/get-started/logging">Dynamic Logging</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/cloud-management/get-started/endpoints">Management Endpoints (Actuators)</Href></li>
|
||||
<li><Href href="/cloud-management/get-started/distributed-tracing">Distributed Tracing</Href></li>
|
||||
<li><Href href="/cloud-management/get-started/logging">Dynamic Logging</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Logging</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/docs/logging">Dynamic Logging Provider</NavLink>
|
||||
<NavLink class="nav-link" href="/docs/logging">Serilog Dynamic Logger</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/docs/logging">Dynamic Logging Provider</Href></li>
|
||||
<li><Href href="/docs/logging">Serilog Dynamic Logger</Href></li>
|
||||
</ul>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-12 overall-get-started-item">
|
||||
<div class="title">Network File Sharing</div>
|
||||
<div class="links">
|
||||
<NavLink class="nav-link" href="/docs/fileshares">Get Started</NavLink>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Href href="/docs/fileshares">Get Started</Href></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
You'll need acces to Tanzu Application Services to complete this guide. If you don't already have creds and the URL to app manager, create a free account <NavLink class="nav-link" href="https://run.pivotal.io/" target="_blank">here</NavLink>.
|
||||
You'll need acces to Tanzu Application Services to complete this guide. If you don't already have creds and the URL to app manager, create a free account <Href href="https://run.pivotal.io/" target="_blank">here</Href>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
|
|
@ -1,43 +1,59 @@
|
|||
@page "/security-providers"
|
||||
@page "/steeltoe-security"
|
||||
|
||||
<SteeltoeComponent Name="Security Providers">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/security">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="security-providers/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Securing your applications and microservices using the security services provided by cloud platforms can seem like an impossible and complex development effort. Steeltoe reduces that effort by including security providers which enable you to easily integrate ASP.NET Core authentication and authorization features with Cloud Foundry security services.</ComponentDescription>
|
||||
<WhatIsComponent>Applications must have some notion of security, but you don’t want to lock the app in to a certain provider. Instead use the native functions of .NET and let the platform decide the provider. Cloud Security helps your app achieve that abstraction.</WhatIsComponent>
|
||||
<WhyUseComponent>Steeltoe provides a number of Security related services that simplify using a cloud platform’s security services in ASP.NET applications.</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Single Sign-on with OAuth2 or OpenID Connect</div>
|
||||
<div class="component-feature-desc">Leverage existing credentials managed by an OAuth2 service for authentication and authorization in ASP.NET Core applications or with OpenID Connect in ASP.NET Framework (4.x).</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_computer.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_security.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Resource Protection using JWT</div>
|
||||
<div class="component-feature-desc">Control access to REST resources by using JWT tokens.</div>
|
||||
<Template Name="Security Providers" Features="@features" GettingStartedURL="/security-providers/get-started" DocsURL="/docs/security">
|
||||
<Description>Securing your applications and microservices using the security services provided by cloud platforms can seem like an impossible and complex development effort. Steeltoe reduces that effort by including security providers which enable you to easily integrate ASP.NET Core authentication and authorization features with Cloud Foundry security services.</Description>
|
||||
<WhatIs>Applications must have some notion of security, but you don’t want to lock the app in to a certain provider. Instead use the native functions of .NET and let the platform decide the provider. Cloud Security helps your app achieve that abstraction.</WhatIs>
|
||||
<WhyUse>Steeltoe provides a number of Security related services that simplify using a cloud platform’s security services in ASP.NET applications.</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Redis Key Storage Provider</div>
|
||||
<div class="component-feature-desc">Reconfigure the Data Protection service in ASP.NET to use an external Redis instance for key ring storage.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_security.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">CredHub Client</div>
|
||||
<div class="component-feature-desc">Interact directly with a CredHub secrets store in an ASP.NET application.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Single Sign-on with OAuth2 or OpenID Connect",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Leverage existing credentials managed by an OAuth2 service for authentication and authorization in ASP.NET Core applications or with OpenID Connect in ASP.NET Framework (4.x).");
|
||||
}),
|
||||
Img = "/images/Icon_computer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Resource Protection using JWT",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Control access to REST resources by using JWT tokens.");
|
||||
}),
|
||||
Img = "/images/Icon_security.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Redis Key Storage Provider",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Reconfigure the Data Protection service in ASP.NET to use an external Redis instance for key ring storage.");
|
||||
}),
|
||||
Img = "/images/Icon_down-arrow.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"CredHub Client",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Interact directly with a CredHub secrets store in an ASP.NET application.");
|
||||
}),
|
||||
Img = "/images/Icon_security.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
ShowGetStarted=true />
|
||||
<Tutorial>
|
||||
<Title>Using Cloud Security with a Redis Cache for key ring store</Title>
|
||||
<Description>This tutorial takes you through setting up a .NET Core application that stores its master keys used to protect payloads in an external Redis cache. Learn more about ASP.NET data protection <NavLink href="https://docs.microsoft.com/en-us/aspnet/core/security/data-protection" target="_blank" class="nav-link"></NavLink>. </Description>
|
||||
<Description>This tutorial takes you through setting up a .NET Core application that stores its master keys used to protect payloads in an external Redis cache. Learn more about ASP.NET data protection <Href href="https://docs.microsoft.com/en-us/aspnet/core/security/data-protection" target="_blank"></Href>. </Description>
|
||||
<TutorialSteps>
|
||||
|
||||
<div class="row">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<Steeltoe.Client.Components.StartInstanceTab.CloudFoundry InstanceName="@InstanceName" ServiceName="@ServiceName">
|
||||
<CFCreateServiceCmd>cf create-service p-identity my-sso-plan @InstanceName</CFCreateServiceCmd>
|
||||
<AdditionalSteps>
|
||||
Use the <NavLink href="https://docs.pivotal.io/p-identity" target="_blank" class="nav-link">Pivotal Single Sign-On guide</NavLink> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
Use the <Href href="https://docs.pivotal.io/p-identity" target="_blank">Pivotal Single Sign-On guide</Href> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
</AdditionalSteps>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.CloudFoundry>
|
||||
</TabSet>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<Tip>
|
||||
<Message>Looking for a .NET Framework example? <NavLink href="security-providers/get-started/sso/openid/framework" class="nav-link">Have a look</NavLink>.</Message>
|
||||
<Message>Looking for a .NET Framework example? <Href href="security-providers/get-started/sso/openid/framework">Have a look</Href>.</Message>
|
||||
</Tip>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<Steeltoe.Client.Components.StartInstanceTab.CloudFoundry InstanceName="@InstanceName" ServiceName="@ServiceName">
|
||||
<CFCreateServiceCmd>cf create-service p-identity my-sso-plan @InstanceName</CFCreateServiceCmd>
|
||||
<AdditionalSteps>
|
||||
Use the <NavLink href="https://docs.pivotal.io/p-identity" target="_blank" class="nav-link">Pivotal Single Sign-On guide</NavLink> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
Use the <Href href="https://docs.pivotal.io/p-identity" target="_blank">Pivotal Single Sign-On guide</Href> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
</AdditionalSteps>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.CloudFoundry>
|
||||
</TabSet>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="width-all">
|
||||
<div class="width-60 container">
|
||||
<Tip>
|
||||
<Message>Looking for a .NET Core example? <NavLink href="security-providers/get-started/sso/openid" class="nav-link">Have a look</NavLink>.</Message>
|
||||
<Message>Looking for a .NET Core example? <Href href="security-providers/get-started/sso/openid">Have a look</Href>.</Message>
|
||||
</Tip>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<Steeltoe.Client.Components.StartInstanceTab.CloudFoundry InstanceName="@InstanceName" ServiceName="@ServiceName">
|
||||
<CFCreateServiceCmd>cf create-service p-identity my-sso-plan @InstanceName</CFCreateServiceCmd>
|
||||
<AdditionalSteps>
|
||||
Use the <NavLink href="https://docs.pivotal.io/p-identity" target="_blank" class="nav-link">Pivotal Single Sign-On guide</NavLink> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
Use the <Href href="https://docs.pivotal.io/p-identity" target="_blank">Pivotal Single Sign-On guide</Href> to deploying the SSO tile. Choose from the list of supported identity providers.
|
||||
</AdditionalSteps>
|
||||
</Steeltoe.Client.Components.StartInstanceTab.CloudFoundry>
|
||||
</TabSet>
|
||||
|
|
|
@ -1,38 +1,54 @@
|
|||
@page "/service-connectors"
|
||||
@page "/steeltoe-connectors"
|
||||
|
||||
<SteeltoeComponent Name="Service Connectors">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/connectors">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="service-connectors/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>One of the many advantages of running applications on the cloud is the easy availability of a variety of backing services. Steeltoe simplifies using those services by automatically configuring and wiring up connections to common services like Redis, RabbitMQ, MySQL, MS SQL, and more.</ComponentDescription>
|
||||
<WhatIsComponent>Backing services are must when creating cloud-native .NET applications, but managing the connections can be time consuming and annoying. Steeltoe Service Connectors takes that pain away and let you get back to doing what you love.</WhatIsComponent>
|
||||
<WhyUseComponent>
|
||||
<Template Name="Service Connectors" Features="@features" GettingStartedURL="/app-configuration/get-started" DocsURL="/docs/configuration">
|
||||
<Description>One of the many advantages of running applications on the cloud is the easy availability of a variety of backing services. Steeltoe simplifies using those services by automatically configuring and wiring up connections to common services like Redis, RabbitMQ, MySQL, MS SQL, and more.</Description>
|
||||
<WhatIs>Backing services are must when creating cloud-native .NET applications, but managing the connections can be time consuming and annoying. Steeltoe Service Connectors takes that pain away and let you get back to doing what you love.</WhatIs>
|
||||
<WhyUse>
|
||||
Steeltoe Connectors provide out-of-the-box support for discovering many common services on a cloud platform. They also include the ability to use settings-based configuration so that developers can supply configuration settings at development and testing time but then have those settings be overridden when pushing the application to the platform.
|
||||
</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Database connectors</div>
|
||||
<div class="component-feature-desc">Discover and connect to databases such as Microsoft SQL, MySQL, PostgreSQL, and MongoDB.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_box.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Cache and Messaging connectors</div>
|
||||
<div class="component-feature-desc">Discover and connect to Redis or GemFire/Apache Geode cache. Also easily interact with a RabbitMQ service instance.</div>
|
||||
</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">OAuth2 service client</div>
|
||||
<div class="component-feature-desc">Automatically get OAuth2 service instance configuration data injected into your ASP.NET application.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_keys.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Database connector",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Discover and connect to databases such as Microsoft SQL, MySQL, PostgreSQL, and MongoDB.");
|
||||
}),
|
||||
Img = "/images/Icon_box.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Cache and Messaging connectors",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Discover and connect to Redis or GemFire/Apache Geode cache. Also easily interact with a RabbitMQ service instance.");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"OAuth2 service client",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Automatically get OAuth2 service instance configuration data injected into your ASP.NET application.");
|
||||
}),
|
||||
Img = "/images/Icon_keys.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -67,7 +67,7 @@
|
|||
ServicePassword="Steeltoe234" />
|
||||
</TabSet>
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-connectors/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-connectors/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
<div>Run the application</div>
|
||||
<div>
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
</TabSet>
|
||||
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-connectors/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-connectors/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
<div>Run the application</div>
|
||||
<div>
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
@*<Steeltoe.Client.Components.AppSettingsTab.StTooling />*@
|
||||
</TabSet>
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-connectors/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-connectors/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
<div>Run the application</div>
|
||||
<div>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
@*<Steeltoe.Client.Components.AppSettingsTab.StTooling />*@
|
||||
</TabSet>
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-connectors/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-connectors/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
<div>Run the application</div>
|
||||
<div>
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
@*<Steeltoe.Client.Components.AppSettingsTab.StTooling />*@
|
||||
</TabSet>
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-discovery/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-discovery/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
Validate the port number the app will be served on, in <b>Properties\launchSettings.json</b>
|
||||
<TabSet>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
@*<Steeltoe.Client.Components.AppSettingsTab.StTooling />*@
|
||||
</TabSet>
|
||||
</li>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <NavLink href="/service-discovery/docs" class="nav-link" target="_blank">docs</NavLink></Message></Tip>
|
||||
<Tip><Message>Looking for additional params to use when connecting? Have a look at the <Href href="/service-discovery/docs" target="_blank">docs</Href></Message></Tip>
|
||||
<li>
|
||||
Validate the port number the app will be served on, in <b>launchSettings.json</b>
|
||||
<TabSet>
|
||||
|
|
|
@ -1,46 +1,62 @@
|
|||
@page "/service-discovery"
|
||||
@page "/steeltoe-discovery"
|
||||
|
||||
<SteeltoeComponent Name="Service Discovery">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/discovery">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="service-discovery/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>A service registry provides a database that applications can use to implement the Service Discovery pattern, one of the key tenets of a microservices-based architecture. Trying to hand-configure each client of a service or adopt some form of access convention can be difficult and prove to be brittle in production. Instead, applications can use a service registry to dynamically discover and call registered services.</ComponentDescription>
|
||||
<WhatIsComponent>Think of it as a phone book of services. Instead of needing to configure a service's exact URI, your app “asks” the service registry to look up the URI of a named service. The name is what your app remembers, the URI is what's discovered. Your app could also register itself for discovery. Then you could distribute the name used during registration for others to discover.</WhatIsComponent>
|
||||
<WhyUseComponent>
|
||||
<Template Name="Service Discovery" DocsURL="/docs/discovery" GettingStartedURL="/service-discovery/get-started" Features="@features">
|
||||
<Description>A service registry provides a database that applications can use to implement the Service Discovery pattern, one of the key tenets of a microservices-based architecture. Trying to hand-configure each client of a service or adopt some form of access convention can be difficult and prove to be brittle in production. Instead, applications can use a service registry to dynamically discover and call registered services.</Description>
|
||||
<WhatIs>Think of it as a phone book of services. Instead of needing to configure a service's exact URI, your app “asks” the service registry to look up the URI of a named service. The name is what your app remembers, the URI is what's discovered. Your app could also register itself for discovery. Then you could distribute the name used during registration for others to discover.</WhatIs>
|
||||
<WhyUse>
|
||||
With the ability to discover and register URIs, services within an organization are far less coupled. In turn services are more mobile, can be updated easily, and each can follow different availability patterns.<br /><br />
|
||||
Duplicated registries in multiple locations, registering URIs to route requests between multiple data centers, and registering different versions of the same service are just a few of the benefits.
|
||||
</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Support for Multiple Registries</div>
|
||||
<div class="component-feature-desc">The Steeltoe discovery client removes any dependencies to a specific registry. With support for both <a class="nav-link" href="" target="_blank">Spring Cloud Netflix</a> as well as <a class="nav-link" href="" target="_blank">HashiCorp Consul</a>, you have flexibility with little to no code change when choosing the right registry.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_computers.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_cloud.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Logging & Health Checks Built In</div>
|
||||
<div class="component-feature-desc">Service registry logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.</div>
|
||||
</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Register and Discover Services</div>
|
||||
<div class="component-feature-desc">With just a few lines of code, your app can use a registry to discover services as well as registering itself for discovery.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_device-network.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Request Load Balancing</div>
|
||||
<div class="component-feature-desc">When a service as registered multiple instances, configure the client to balance requests across instances. Options for random, round robin, as well as building your own are available in Steeltoe Service Discovery.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Support for Multiple Registries",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"The Steeltoe discovery client removes any dependencies to a specific registry. With support for Eureka as well as HashiCorp Consul, you have flexibility with little to no code change when choosing the right registry.");
|
||||
}),
|
||||
Img = "/images/Icon_computers.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Logging & Health Checks Built In",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Service registry logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.");
|
||||
}),
|
||||
Img = "/images/Icon_cloud.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Register and Discover Services",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"With just a few lines of code, your app can use a registry to discover services as well as registering itself for discovery.");
|
||||
}),
|
||||
Img = "/images/Icon_device-network.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Request Load Balancing",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"When a service as registered multiple instances, configure the client to balance requests across instances. Options for random, round robin, as well as building your own are available in Steeltoe Service Discovery.");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,45 +1,60 @@
|
|||
@page "/stream"
|
||||
@page "/streams"
|
||||
|
||||
<SteeltoeComponent Name="Stream">
|
||||
<DocsURL><a class="component-button nav-link" href="/docs/stream">VIEW THE DOCS</a></DocsURL>
|
||||
<GettingStartedURL>
|
||||
<a class="component-button nav-link" href="stream/get-started">GET STARTED TUTORIAL</a>
|
||||
</GettingStartedURL>
|
||||
<ComponentDescription>Build highly scalable event-driven microservices connected to shared messaging systems.</ComponentDescription>
|
||||
<WhatIsComponent>XXXXXXXX</WhatIsComponent>
|
||||
<WhyUseComponent>
|
||||
<Template Name="Stream" GettingStartedURL="/stream/get-started" DocsURL="/docs/stream">
|
||||
<Description>Build highly scalable event-driven microservices connected to shared messaging systems.</Description>
|
||||
<WhatIs>XXXXXXXX</WhatIs>
|
||||
<WhyUse>
|
||||
YYYYYYYY
|
||||
</WhyUseComponent>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Support for Multiple Message Brokers</div>
|
||||
<div class="component-feature-desc">Steeltoe stream support for both <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/rabbitmq-binder" target="_blank">RabbitMQ</a> as well as <a class="nav-link" href="https://github.com/steeltoeoss/steeltoe/kafka-binder" target="_blank">Kafka</a>, you have flexibility with little to no code change when choosing the right broker.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_computers.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_cloud.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Logging & Health Checks Built In</div>
|
||||
<div class="component-feature-desc">Stream logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.</div>
|
||||
</WhyUse>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Event Driven Architectures</div>
|
||||
<div class="component-feature-desc">xxxxxx.</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Messagaing</div>
|
||||
<div class="component-feature-desc">XXXXXX.</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Support for Multiple Message Brokers",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe stream support for both RabbitMQ as well as Kafka, you have flexibility with little to no code change when choosing the right broker.");
|
||||
}),
|
||||
Img = "/images/Icon_computers.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Logging & Health Checks Built In",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Stream logs are automatically fed to your app’s logging interface, and health contributors are automatically configured and made available to your application.");
|
||||
}),
|
||||
Img = "/images/Icon_cloud.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Event Driven Architectures",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"aaaaaaa");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Messagaing",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"aaaaaaa");
|
||||
}),
|
||||
Img = "/images/Icon_data-transfer.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,28 +1,55 @@
|
|||
@page "/support"
|
||||
|
||||
<SteeltoeComponent Name="Support">
|
||||
<ComponentDescription>Connect with others in the community or contact the team directly. Get answers about how to best implement every component and feature within Steeltoe, as well as the best cloud-native .NET practices.</ComponentDescription>
|
||||
<Features>
|
||||
<Template Name="Support" Features="@features">
|
||||
<Description>Connect with others in the community or contact the team directly. Get answers about how to best implement every component and feature within Steeltoe, as well as the best cloud-native .NET practices.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Slack</div>
|
||||
<div class="component-feature-desc">Stay up to date with the latest announcements, open a direct conversation with the team, or ask a general question to the community.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><NavLink href="https://slack.steeltoe.io" role="button" class="nav-link" target="_blank"><img src="https://assets.brandfolder.com/pl546j-7le8zk-838dm2/view@2x.png?v=1547165068" /></NavLink></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">GitHub</div>
|
||||
<div class="component-feature-desc">Search past issues and community questions, request a new feature, or donate your custom features to a project.</div>
|
||||
<div class="col-6 text-center"><NavLink href="https://github.com/steeltoeoss" role="button" class="nav-link" target="_blank"><img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png" /></NavLink></div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
<div class="col-6 text-center"><img src="@Feature.Img" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Nuget</div>
|
||||
<div class="component-feature-desc">Search and learn more about each Steeltoe package, its version history, statistics, and installation options.</div>
|
||||
<div class="col-6 text-center"><NavLink href="https://www.nuget.org/profiles/steeltoe" role="button" class="nav-link" target="_blank"><img src="https://miro.medium.com/max/700/1*OH_L2dLIKDl_n5QknfONqw.png" /></NavLink></div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</FeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Slack",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Stay up to date with the latest announcements, open a direct conversation with the team, or ask a general question to the community.");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://slack.steeltoe.io");
|
||||
b.AddAttribute(4, "NewWindow",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "GO NOW");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "https://assets.brandfolder.com/pl546j-7le8zk-838dm2/view@2x.png?v=1547165068"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"GitHub",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Search past issues and community questions, request a new feature, or donate your custom features to a project.");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://github.com/steeltoeoss");
|
||||
b.AddAttribute(4, "NewWindow",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "GO NOW");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Nuget",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Search and learn more about each Steeltoe package, its version history, statistics, and installation options.");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://www.nuget.org/profiles/steeltoe");
|
||||
b.AddAttribute(4, "NewWindow",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "GO NOW");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "https://miro.medium.com/max/700/1*OH_L2dLIKDl_n5QknfONqw.png"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,23 +1,39 @@
|
|||
@page "/training"
|
||||
|
||||
<SteeltoeComponent Name="Training & Certification">
|
||||
<ComponentDescription>Increase your mastery of Steeltoe with official training and certification from VMware. Every course is laser-focused to equip you with the skills you need to be a successful Steeltoe practitioner in your chosen discipline. You can validate your learning with an industry-recognized certification. Most courses are instructor-led, either in person or online. Some are also available privately onsite.</ComponentDescription>
|
||||
<Features>
|
||||
<div><h2>Training</h2></div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Pivotal Platform Acceleration Lab for .NET Developers</div>
|
||||
<div class="component-feature-desc">Experience best practices building cloud-native applications in a hands-on setting with Pivotal educators and consultants. The program is focused on enabling customers and partners through “doing it” rather than “talking about it”.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><NavLink href="https://store.education.pivotal.io/confirm-course?courseid=EDU-1180" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link" target="_blank">LEAN MORE</NavLink></div>
|
||||
</div>
|
||||
<div><h2>Certification</h2></div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Pivotal Certified Developer .NET</div>
|
||||
<div class="component-feature-desc">The performance-based Pivotal Certified Developer Exam is designed to test and validate your understanding of and familiarity with Tanzu Application Service, ASP.NET Core, RESTful APIs, and cloud-native patterns.</div>
|
||||
<div class="col-6 text-center"><NavLink href="https://store.education.pivotal.io/confirm-course?courseid=EDU-1198" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link" target="_blank">LEAN MORE</NavLink></div>
|
||||
<Template Name="Training & Certification" Features="@features">
|
||||
<Description>Increase your mastery of Steeltoe with official training and certification from VMware. Every course is laser-focused to equip you with the skills you need to be a successful Steeltoe practitioner in your chosen discipline. You can validate your learning with an industry-recognized certification. Most courses are instructor-led, either in person or online. Some are also available privately onsite.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
</FeatureTemplate>
|
||||
</Template>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Pivotal Platform Acceleration Lab for .NET Developers",
|
||||
Description = (RenderFragment)(b => {
|
||||
b.AddMarkupContent(1,"Experience best practices building cloud-native applications in a hands-on setting with Pivotal educators and consultants. The program is focused on enabling customers and partners through “doing it” rather than “talking about it”.");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://store.education.pivotal.io/confirm-course?courseid=EDU-1180");
|
||||
b.AddAttribute(4, "NewWindow",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "LEAN MORE");}));
|
||||
b.CloseComponent();
|
||||
})
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Pivotal Certified Developer .NET",
|
||||
Description = (RenderFragment)(b => {
|
||||
b.AddMarkupContent(1,"The performance-based Pivotal Certified Developer Exam is designed to test and validate your understanding of and familiarity with Tanzu Application Service, ASP.NET Core, RESTful APIs, and cloud-native patterns.");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://store.education.pivotal.io/confirm-course?courseid=EDU-1198");
|
||||
b.AddAttribute(4, "NewWindow",true);
|
||||
b.AddAttribute(5, "ChildContent", (RenderFragment)((b) => {b.AddContent(6, "LEAN MORE");}));
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,42 +1,96 @@
|
|||
@page "/web-applications"
|
||||
@page "/web-application"
|
||||
|
||||
<SteeltoeComponent Name="Web Applications">
|
||||
<ComponentDescription>Spring makes building web applications fast and hassle-free. By removing much of the boilerplate code and configuration associated with web development, you get a modern web programming model that streamlines the development of server-side HTML applications, REST APIs, and bidirectional, event-based systems.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="quickstart">GET STARTED</NavLink></GettingStartedURL>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Developer productivity</div>
|
||||
<div class="component-feature-desc">Spring Boot is the starting point of your developer experience, whatever you’re building. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration. With its embedded application servers, you can be serving in seconds.
|
||||
<br /><br />
|
||||
Spring’s out-of-the-box, production-ready features (like tracing, metrics, and health status) provide developers with deep insight into their applications.
|
||||
<br /><br />
|
||||
Finally, Spring supports multiple JVM languages: Java, Kotlin, and Groovy.</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_down-arrow.svg" /></div></div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6 text-center"><div class=" component-feature-img"><img class="img-fluid" src="images/Icon_tool.svg" /></div></div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Battle-tested security</div>
|
||||
<div class="component-feature-desc">When it’s time to secure your web application, Spring Security supports many industry-standard authentication protocols, including SAML, OAuth, and LDAP. <br /><br />Get protection from top OWASP attacks, such as session fixation, clickjacking, cross-site request forgery, and more.
|
||||
<br /><br /><NavLink href="/security-prviders/get-started/openidconnect" role="button" class="nav-link">Try the OpenID Connect guide</NavLink></div>
|
||||
<Template Name="Web Applications" Features="@features">
|
||||
<Description>Steeltoe makes building web applications fast and hassle-free. By removing much of the boilerplate code and configuration associated with web development, you get a modern web programming model that streamlines the development of server-side HTML applications, REST APIs, and bidirectional, event-based systems.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
<div class="col">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="row component-feature no-gutters">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Data access made easy</div>
|
||||
<div class="component-feature-desc">In the cloud, configuration can’t simply be embedded inside the application. The configuration has to be flexible enough to cope with multiple applications, environments, and service instances, as well as deal with dynamic changes without downtime. Spring Cloud Config is designed to ease these burdens and offers integration with version control systems like Git to help you keep your configuration safe.
|
||||
<br /><br />Get starter with <NavLink href="/service-connector/get-started/mssql" role="button" class="nav-link">MS SQL</NavLink>, <NavLink href="/service-connector/get-started/postgres" role="button" class="nav-link">Postgres</NavLink>, or <NavLink href="/service-connector/get-started/mysql" role="button" class="nav-link">MySQL</NavLink> now!</div>
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="component-feature-desc">@Feature.Description</div>
|
||||
</div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="images/Icon_data-transfer.svg" /></div></div>
|
||||
<div class="col-6 text-center"><div class="component-feature-img"><img class="img-fluid" src="@Feature.Img" /></div></div>
|
||||
</div>
|
||||
</Features>
|
||||
</AltFeatureTemplate>
|
||||
<OtherArea>
|
||||
<div class="col text-center m-5">
|
||||
<div class="mb-5"><h2>Ready to get started?</h2></div>
|
||||
<div class=""><NavLink href="/quickstart" role="button" class="border border-dark font-weight-bold btn btn-default border-black p-3 nav-link">TRY THIS TUTORIAL</NavLink></div>
|
||||
<div class=""><Href href="/quickstart" AsButton="true">TRY THIS TUTORIAL</Href></div>
|
||||
</div>
|
||||
</OtherArea>
|
||||
</SteeltoeComponent>
|
||||
</Template>
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Developer productivity",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe is the starting point of your developer experience, whatever you’re building. Steeltoe is designed to get you up and running as quickly as possible, with minimal upfront configuration. Using .NET's embedded application servers, you can be serving in seconds.<br /><br />Steeltoe’s out-of-the-box, production-ready features (like tracing, metrics, and health status) provide developers with deep insight into their applications.");
|
||||
}),
|
||||
Img = "/images/Icon_down-arrow.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Battle-tested security",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"When it’s time to secure your web application, ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/security-providers");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "Steeltoe Security Providers");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6," supports industry-standard authentication protocols, including OAuth and OpenID Connect. <br /><br />Get protection from top OWASP attacks, such as session fixation, clickjacking, cross-site request forgery, and more.<br /><br />");
|
||||
b.OpenComponent<Href>(7);
|
||||
b.AddAttribute(8, "href","/security-providers/get-started");
|
||||
b.AddAttribute(9, "AsButton",true);
|
||||
b.AddAttribute(10, "ChildContent", (RenderFragment)((b) => {b.AddContent(11, "Get started with Security Providers");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_security.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"App configuration in the cloud",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"In the cloud, configuration can’t simply be embedded inside the application. The configuration has to be flexible enough to cope with multiple applications, environments, and service instances, as well as deal with dynamic changes without downtime. Steeltoe's ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/app-config");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "Spring Config Provider");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6," is designed to ease these burdens and offers integration with version control systems like Git to help you keep your configuration safe.<br /><br />");
|
||||
b.OpenComponent<Href>(7);
|
||||
b.AddAttribute(8, "href","/app-configuration/get-started/springconfig");
|
||||
b.AddAttribute(9, "AsButton",true);
|
||||
b.AddAttribute(10, "ChildContent", (RenderFragment)((b) => {b.AddContent(11, "Get started with App Configuration");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_tool.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Data access made easy",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe helps developers connect their web applications to a number of data stores. It supports relational, non-relational databases, and cloud-based data services.<br /><br />Get started with ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","/service-connector/get-started/mssql");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "MS SQL");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(6,", ");
|
||||
b.OpenComponent<Href>(7);
|
||||
b.AddAttribute(8, "href","/service-connector/get-started/postgres");
|
||||
b.AddAttribute(9, "ChildContent", (RenderFragment)((b) => {b.AddContent(10, "Postgres");}));
|
||||
b.CloseComponent();
|
||||
b.AddMarkupContent(11,", or ");
|
||||
b.OpenComponent<Href>(12);
|
||||
b.AddAttribute(13, "href","/service-connector/get-started/mysql");
|
||||
b.AddAttribute(14, "ChildContent", (RenderFragment)((b) => {b.AddContent(15, "MySQL");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/Icon_box.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,90 +1,110 @@
|
|||
@page "/why-steeltoe"
|
||||
|
||||
<SteeltoeComponent Name="Why Steeltoe">
|
||||
<ComponentDescription>Steeltoe makes programming .NET quicker, easier, and safer for everybody. Steeltoe’s focus on speed, simplicity, and productivity has made it one of the world's most popular >NET frameworks.</ComponentDescription>
|
||||
<GettingStartedURL><NavLink class="component-button nav-link" href="quickstart">GET STARTED</NavLink></GettingStartedURL>
|
||||
<Features>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is everywhere</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="" />
|
||||
</div>
|
||||
<div class="col component-feature-desc">Steeltoe’s flexible libraries are trusted by developers all over the world. Steeltoe delivers delightful experiences to millions of end-users every day—whether that’s streaming TV, connected cars, online shopping, or countless other innovative solutions. Steeltoe also has contributions from all the big names in tech, including Alibaba, Amazon, Google, Microsoft, and more.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is flexible</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="" />
|
||||
</div>
|
||||
<div class="component-feature-desc">Steeltoe’s flexible and comprehensive set of extensions and third-party libraries let developers build almost any application imaginable. At its core, Steeltoe Framework’s Inversion of Control (IoC) and Dependency Injection (DI) features provide the foundation for a wide-ranging set of features and functionality. Whether you’re building secure, reactive, cloud-based microservices for the web, or complex streaming data flows for the enterprise, Steeltoe has the tools to help.</div>
|
||||
<Template Name="Why Steeltoe" ShowBottomGetStarted="false" GettingStartedURL="/quickstart" Features="@features">
|
||||
<Description>Steeltoe makes programming .NET quicker, easier, and safer for everybody. Steeltoe’s focus on speed, simplicity, and productivity has made it one of the world's most popular .NET frameworks.</Description>
|
||||
<FeatureTemplate Context="Feature">
|
||||
<div class="col-6 pr-5">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="@Feature.Img" class="img-fluid" />
|
||||
</div>
|
||||
<div class="col component-feature-desc mb-5">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is productive</div>
|
||||
<div class="component-feature-desc">Steeltoe Boot transforms how you approach Java programming tasks, radically streamlining your experience. Steeltoe Boot combines necessities such as an application context and an auto-configured, embedded web server to make microservice development a cinch. To go even faster, you can combine Steeltoe Boot with Steeltoe Cloud’s rich set of supporting libraries, servers, patterns, and templates, to safely deploy entire microservices-based architectures into the cloud, in record time.</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is fast</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="" />
|
||||
</div>
|
||||
<div class="component-feature-desc">Our engineers care deeply about performance. With Steeltoe, you’ll notice fast startup, fast shutdown, and optimized execution, by default. Increasingly, Steeltoe projects also support the reactive (nonblocking) programming model for even greater efficiency. Developer productivity is Steeltoe’s superpower. Steeltoe Boot helps developers build applications with ease and with far less toil than other competing paradigms. Embedded web servers, auto-configuration, and “fat jars” help you get started quickly, and innovations like LiveReload in Steeltoe DevTools mean developers can iterate faster than ever before. You can even start a new Steeltoe project in seconds, with the Steeltoe Initializr at start.Steeltoe.io.</div>
|
||||
</FeatureTemplate>
|
||||
<AltFeatureTemplate Context="Feature">
|
||||
<div class="col-6 pl-5">
|
||||
<div class="component-feature-title">@Feature.Title</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="@Feature.Img" class="img-fluid" />
|
||||
</div>
|
||||
<div class="col component-feature-desc mb-5">@Feature.Description</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row component-feature">
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is secure</div>
|
||||
<div class="component-feature-desc">Steeltoe has a proven track record of dealing with security issues quickly and responsibly. The Steeltoe committers work with security professionals to patch and test any reported vulnerabilities. Third-party dependencies are also monitored closely, and regular updates are issued to help keep your data and applications as safe as possible. In addition, Steeltoe Security makes it easier for you to integrate with industry-standard security schemes and deliver trustworthy solutions that are secure by default.</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="component-feature-title">Steeltoe is supportive</div>
|
||||
<div class="row no-gutters">
|
||||
<div class="col-3">
|
||||
<img src="" />
|
||||
</div>
|
||||
<div class="component-feature-desc">The Steeltoe community is enormous, global, diverse, and spans folks of all ages and capabilities, from complete beginners to seasoned pros. No matter where you are on your journey, you can find the support and resources you need to get you to the next level: quickstarts, guides & tutorials, videos, meetups, support, or even formal training and certification.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Features>
|
||||
</SteeltoeComponent>
|
||||
<div class="width-all bg-dk-midnight-blue py-5">
|
||||
</AltFeatureTemplate>
|
||||
</Template>
|
||||
<div class="width-all bg-dk-midnight-blue pt-5">
|
||||
<div class="width-70 container text-white">
|
||||
<div class="width-all text-center"><h2>What Steeltoe can do</h2></div>
|
||||
<div class="">
|
||||
<div class="row no-gutters">
|
||||
<div class="col component"><NavLink class="nav-link" href="/microservices">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-microservices-dfc414fd79f67718216adaffb5d99947.svg" /></div>
|
||||
<div class="col component-dark"><Href href="/microservices">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-microservices-white.svg" /></div>
|
||||
<div class="title text-white"><h3>Microservices</h3></div>
|
||||
<div class="desc text-white">Quickly deliver production‑grade features with independently evolvable microservices.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/cloud">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-cloud-73c3f4c15437e8493b3d3124fc667a08.svg" /></div>
|
||||
<div class="col component-dark"><Href href="/cloud">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-cloud-white.svg" /></div>
|
||||
<div class="title text-white"><h3>Cloud</h3></div>
|
||||
<div class="desc text-white">Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/web-applications">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-webapps-16f6e97a1447fefba82fbdfc302262af.svg" /></div>
|
||||
<div class="col component-dark"><Href href="/web-applications">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-webapps-white.svg" /></div>
|
||||
<div class="title text-white"><h3>Web Apps</h3></div>
|
||||
<div class="desc text-white">A framework for fast, secure, and responsive web applications connected to any data store.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
|
||||
<div class="col component"><NavLink class="nav-link" href="/event-driven">
|
||||
<div class="text-center"><img class="w-75" src="/images/icon-streams-825456b79c33345f5bf4a6ef73dc8cbd.svg" /></div>
|
||||
<div class="col component-dark"><Href href="/event-driven">
|
||||
<div class="text-center"><img class="img-fluid" src="/images/icon-streams-white.svg" /></div>
|
||||
<div class="title text-white"><h3>Event Driven</h3></div>
|
||||
<div class="desc text-white">Integrate with your enterprise. React to business events. Act on your streaming data in realtime.</div>
|
||||
</NavLink></div>
|
||||
</Href></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code{
|
||||
private Feature[] features = new[] {
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is proven",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe’s libraries are trusted by developers all over the world. Steeltoe delivers delightful experiences to millions of end-users every day. Steeltoe also has contributions from development teams at Microsoft, and more.");
|
||||
}),
|
||||
Img = "/images/img-everywhere-2573c9d8470aed5621745921ac8733c8.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is flexible",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe’s flexible and comprehensive set of extensions and third-party libraries let developers build almost any web application imaginable. At its core, Steeltoe Framework’s features provide the foundation for a wide-ranging set of features and functionality. Whether you’re building secure, cloud-based microservices for the web, or complex streaming data flows for the enterprise, Steeltoe has the tools to help.");
|
||||
}),
|
||||
Img = "/images/img-flexible-a5992de389ba231fc0dd93479df70b62.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is productive",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe transforms how you approach .NET programming tasks, radically streamlining your experience. To go even faster, you can use Steeltoe with Spring Cloud’s rich set of supporting libraries, servers, patterns, and templates, to safely deploy entire microservices-based architectures into the cloud, in record time.");
|
||||
}),
|
||||
Img = "/images/img-innovative-16683bc64538d1462c6b77930f8b71ee.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is fast",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Developer productivity is one of Steeltoe’s superpowers. Steeltoe helps developers build applications with ease and with far less toil than other competing paradigms. You can even start a new Steeltoe project in seconds, with the Steeltoe Initializr at ");
|
||||
b.OpenComponent<Href>(2);
|
||||
b.AddAttribute(3, "href","https://start.Steeltoe.io");
|
||||
b.AddAttribute(4, "ChildContent", (RenderFragment)((b) => {b.AddContent(5, "start.Steeltoe.io");}));
|
||||
b.CloseComponent();
|
||||
}),
|
||||
Img = "/images/img-fast-f8bdb07b7bf02133827ec6bd3069eb29.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is secure",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"Steeltoe has a proven track record of remediating security issues quickly and responsibly. The Steeltoe committers work with security professionals to patch and test any reported vulnerabilities. Third-party dependencies are also monitored closely, and regular updates are issued to help keep your data and applications as safe as possible. In addition, Steeltoe Security makes it easier for you to integrate with industry-standard security schemes and deliver trustworthy solutions that are secure by default.");
|
||||
}),
|
||||
Img = "/images/img-secure-9a8f8b676bec21edfc4a9809c6cfa646.svg"
|
||||
},
|
||||
new Feature() {
|
||||
Title = (MarkupString)"Steeltoe is supportive",
|
||||
Description = (b => {
|
||||
b.AddMarkupContent(1,"The Steeltoe community is global, diverse, and spans folks of all ages and capabilities, from complete beginners to seasoned pros. No matter where you are on your journey, you can find the support and resources you need to get you to the next level: quickstarts, guides & tutorials, videos, support, or even formal training and certification.");
|
||||
}),
|
||||
Img = "/images/img-indemand-3f63d4a71b8af531028c46842a45cf49.svg"
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,15 +1,22 @@
|
|||
using Microsoft.AspNetCore.Blazor.Hosting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text;
|
||||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Steeltoe.Client
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
}
|
||||
public class Program {
|
||||
public static async Task Main(string[] args) {
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
builder.RootComponents.Add<App>("app");
|
||||
|
||||
public static IWebAssemblyHostBuilder CreateHostBuilder(string[] args) =>
|
||||
BlazorWebAssemblyHost.CreateDefaultBuilder().UseBlazorStartup<Startup>();
|
||||
}
|
||||
builder.Services.AddBaseAddressHttpClient();
|
||||
builder.Services.AddSingleton<INavMenu, NavMenu>();
|
||||
builder.Services.AddSingleton<ICalendarEvents, CalendarEvents>();
|
||||
|
||||
await builder.Build().RunAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
<div class="width-all bg-midnight-blue">
|
||||
<div class="width-90 container">
|
||||
<div class="width-90 container" id="footer">
|
||||
<div class="row bottom-bar">
|
||||
<div class="col-4 pl-5">
|
||||
<a class="nav-link" href="index"><?xml version="1.0" encoding="utf-8"?>
|
||||
<Href href="/index"><?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="75px" preserveAspectRatio="xMidYMid meet" viewBox="0 0 617.6 180.5" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
|
@ -63,40 +63,50 @@
|
|||
S612.5,60.5,611.8,60.5C611.8,60.5,611.8,60.5,611.8,60.5z"/>
|
||||
|
||||
</svg>
|
||||
</a>
|
||||
</Href>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/why-steeltoe">Why Steeltoe</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/microservices">Microservices</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/cloud">Cloud</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/web-applications">Web Applications</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/event-driven">Event Driven</NavLink></div>
|
||||
<div class="pb-2 font-weight-bold">Why Steeltoe</div>
|
||||
<div><Href href="/why-steeltoe">Overview</Href></div>
|
||||
<div><Href href="/microservices">Microservices</Href></div>
|
||||
<div><Href href="/cloud">Cloud</Href></div>
|
||||
<div><Href href="/web-applications">Web Applications</Href></div>
|
||||
<div><Href href="/event-driven">Event Driven</Href></div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/learn">Learn</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/quickstart">Quickstart</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/get-started">Guides</NavLink></div>
|
||||
<div class="pb-2 font-weight-bold">Learn</div>
|
||||
<div><Href href="/quickstart">Quickstart</Href></div>
|
||||
<div><Href href="/get-started">Guides</Href></div>
|
||||
<div><Href href="/docs">Documentation</Href></div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/community">Community</NavLink></div>
|
||||
<div><NavLink class="nav-link" href="/team">Team</NavLink></div>
|
||||
<div class="pb-2 font-weight-bold">Projects</div>
|
||||
<div><Href href="/app-configuration">Steeltoe Config</Href></div>
|
||||
<div><Href href="/service-discovery">Steeltoe Discovery</Href></div>
|
||||
<div><Href href="/service-connectors">Steeltoe Connectors</Href></div>
|
||||
<div><Href href="/security-providers">Steeltoe Security</Href></div>
|
||||
<div><Href href="/circuit-breakers">Steeltoe Circuit Breakers</Href></div>
|
||||
<div><Href href="/file-sharing">Steeltoe File Sharing</Href></div>
|
||||
<div><Href href="/logging">Steeltoe Logging</Href></div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/projects">Projects</NavLink></div>
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/training">Training</NavLink></div>
|
||||
<div class="pb-2 font-weight-bold"><NavLink class="nav-link" href="/support">Support</NavLink></div>
|
||||
<div class="pb-2"><a href="https://github.com/steeltoeoss" title="Github"><svg id="github-icon" viewBox="0 0 250 75.93" xmlns="http://www.w3.org/2000/svg"><defs><style>#github-icon .cls-1{fill:#ffffff;}#github-icon .cls-2{fill:#000000;fill-rule:evenodd;}</style></defs><path class="cls-1" d="M38,0a38,38,0,1,0,38,38A38,38,0,0,0,38,0Z"></path><path class="cls-2" d="M38,15.59A22.95,22.95,0,0,0,30.71,60.3c1.15.21,1.57-.5,1.57-1.11s0-2,0-3.9c-6.38,1.39-7.73-3.07-7.73-3.07A6.09,6.09,0,0,0,22,48.86c-2.09-1.42.15-1.39.15-1.39a4.81,4.81,0,0,1,3.52,2.36c2,3.5,5.37,2.49,6.67,1.91a4.87,4.87,0,0,1,1.46-3.07c-5.09-.58-10.45-2.55-10.45-11.34a8.84,8.84,0,0,1,2.36-6.15,8.29,8.29,0,0,1,.23-6.07s1.92-.62,6.3,2.35a21.82,21.82,0,0,1,11.49,0c4.38-3,6.3-2.35,6.3-2.35a8.29,8.29,0,0,1,.23,6.07,8.84,8.84,0,0,1,2.36,6.15c0,8.81-5.37,10.75-10.48,11.32a5.46,5.46,0,0,1,1.56,4.25c0,3.07,0,5.54,0,6.29s.42,1.33,1.58,1.1A22.94,22.94,0,0,0,38,15.59Z"></path></svg></a></div>
|
||||
<div class="pb-2"><a href="https://twitter.com/steeltoeoss" title="Twitter"><svg id="twitter-icon" viewBox="0 0 250 75.93" xmlns="http://www.w3.org/2000/svg"><defs><style>#twitter-icon .cls-1{fill:#ffffff;}#twitter-icon .cls-2{fill:#000000;}</style></defs><circle class="cls-1" cx="37.97" cy="37.97" r="37.97"></circle><path class="cls-2" d="M55.2,22.73a15.43,15.43,0,0,1-4.88,1.91,7.56,7.56,0,0,0-5.61-2.49A7.78,7.78,0,0,0,37,30a7.56,7.56,0,0,0,.2,1.79,21.63,21.63,0,0,1-15.84-8.23,8,8,0,0,0,2.37,10.52,7.66,7.66,0,0,1-3.48-1v.09A7.84,7.84,0,0,0,26.45,41a7.54,7.54,0,0,1-2,.28A7.64,7.64,0,0,1,23,41.09a7.71,7.71,0,0,0,7.18,5.47,15.21,15.21,0,0,1-9.55,3.37,15.78,15.78,0,0,1-1.83-.11,21.41,21.41,0,0,0,11.78,3.54c14.13,0,21.86-12,21.86-22.42,0-.34,0-.68,0-1a15.67,15.67,0,0,0,3.83-4.08,14.9,14.9,0,0,1-4.41,1.24A7.8,7.8,0,0,0,55.2,22.73Z" data-name="Twitter" id="Twitter-2"></path></svg></a></div>
|
||||
<div class="pb-2 font-weight-bold"><Href href="/training">Training</Href></div>
|
||||
<div class="pb-2 font-weight-bold"><Href href="/support">Support</Href></div>
|
||||
<div class="pb-2 font-weight-bold"><Href href="/community">Community</Href></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col text-right">
|
||||
<Href href="https://github.com/steeltoeoss" title="Steeltoe on Github" NewWindow="true"><svg id="github-icon" width="100px" height="50px" viewBox="0 0 1 75" xmlns="http://www.w3.org/2000/svg"><defs><style>#github-icon .cls-1{fill:#ffffff;}#github-icon .cls-2{fill:#000000;fill-rule:evenodd;}</style></defs><path class="cls-1" d="M38,0a38,38,0,1,0,38,38A38,38,0,0,0,38,0Z"></path><path class="cls-2" d="M38,15.59A22.95,22.95,0,0,0,30.71,60.3c1.15.21,1.57-.5,1.57-1.11s0-2,0-3.9c-6.38,1.39-7.73-3.07-7.73-3.07A6.09,6.09,0,0,0,22,48.86c-2.09-1.42.15-1.39.15-1.39a4.81,4.81,0,0,1,3.52,2.36c2,3.5,5.37,2.49,6.67,1.91a4.87,4.87,0,0,1,1.46-3.07c-5.09-.58-10.45-2.55-10.45-11.34a8.84,8.84,0,0,1,2.36-6.15,8.29,8.29,0,0,1,.23-6.07s1.92-.62,6.3,2.35a21.82,21.82,0,0,1,11.49,0c4.38-3,6.3-2.35,6.3-2.35a8.29,8.29,0,0,1,.23,6.07,8.84,8.84,0,0,1,2.36,6.15c0,8.81-5.37,10.75-10.48,11.32a5.46,5.46,0,0,1,1.56,4.25c0,3.07,0,5.54,0,6.29s.42,1.33,1.58,1.1A22.94,22.94,0,0,0,38,15.59Z"></path></svg></Href>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<Href href="https://twitter.com/steeltoeoss" title="Steeltoe on Twitter" NewWindow="true"><svg id="twitter-icon" width="100px" height="50px" viewBox="0 0 115 75" xmlns="http://www.w3.org/2000/svg"><defs><style>#twitter-icon .cls-1{fill:#ffffff;}#twitter-icon .cls-2{fill:#000000;}</style></defs><circle class="cls-1" cx="37.97" cy="37.97" r="37.97"></circle><path class="cls-2" d="M55.2,22.73a15.43,15.43,0,0,1-4.88,1.91,7.56,7.56,0,0,0-5.61-2.49A7.78,7.78,0,0,0,37,30a7.56,7.56,0,0,0,.2,1.79,21.63,21.63,0,0,1-15.84-8.23,8,8,0,0,0,2.37,10.52,7.66,7.66,0,0,1-3.48-1v.09A7.84,7.84,0,0,0,26.45,41a7.54,7.54,0,0,1-2,.28A7.64,7.64,0,0,1,23,41.09a7.71,7.71,0,0,0,7.18,5.47,15.21,15.21,0,0,1-9.55,3.37,15.78,15.78,0,0,1-1.83-.11,21.41,21.41,0,0,0,11.78,3.54c14.13,0,21.86-12,21.86-22.42,0-.34,0-.68,0-1a15.67,15.67,0,0,0,3.83-4.08,14.9,14.9,0,0,1-4.41,1.24A7.8,7.8,0,0,0,55.2,22.73Z" data-name="Twitter" id="Twitter-2"></path></svg></Href>
|
||||
</div>
|
||||
@*<div class="col"><a class="nav-link" href="https://github.com/steeltoeoss" target="_blank">GitHub</a></div>
|
||||
<div class="col"><a class="nav-link" href="https://www.nuget.org/profiles/steeltoe" target="_blank">NuGet</a></div>
|
||||
<div class="col"><a class="nav-link" href="https://twitter.com/steeltoeoss" target="_blank">Twitter</a></div>
|
||||
<div class="col"><a class="nav-link" href="https://slack.steeltoe.io" target="_blank">Slack</a></div>
|
||||
<div class="col-1"><a class="nav-link" href="https://dotnetfoundation.org" target="_blank"><img src="images/foundation-logo.png" height="70" /></a></div>*@
|
||||
</div>
|
||||
<div class="row align-items-center no-gutters pt-0">
|
||||
<div class="col text-center my-2 small text-muted">
|
||||
© 2017-2020 <a class="nav-link text-muted" href="https://vmware.com/" target="_blank">VMware</a>, Inc. All Rights Reserved. • <a class="nav-link text-muted" href="https://www.vmware.com/help/privacy.html" target="_blank">Privacy Policy</a> • <a class="nav-link text-muted" href="https://www.vmware.com/help/legal.html" target="_blank">Terms of Use</a> • <a class="nav-link text-muted" href="https://steeltoe.io/SteeltoeTrademarkGuidelines.pdf" target="_blank">Trademark Guidelines</a></div>
|
||||
© 2017-2020 <Href Class=" text-muted" href="https://vmware.com/" NewWindow="true">VMware</Href>, Inc. All Rights Reserved. • <Href Class="text-muted" href="https://www.vmware.com/help/privacy.html" NewWindow="true">Privacy Policy</Href> • <Href Class="text-muted" href="https://www.vmware.com/help/legal.html" NewWindow="true">Terms of Use</Href> • <Href Class="text-muted" href="https://steeltoe.io/SteeltoeTrademarkGuidelines.pdf" NewWindow="true">Trademark Guidelines</Href></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,10 +1,9 @@
|
|||
@using Microsoft.JSInterop
|
||||
@inject IJSRuntime JSRuntime
|
||||
@inject IJSRuntime JSRuntime
|
||||
|
||||
<div class="width-all">
|
||||
<div class="width-90 container">
|
||||
<div class="row top-bar align-items-center">
|
||||
<div class="col-4"><a class="nav-link" href="index"><?xml version="1.0" encoding="utf-8"?>
|
||||
<div class="row top-bar">
|
||||
<div class="col-3"><Href href="index"><?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="75px" preserveAspectRatio="xMidYMid meet"
|
||||
viewBox="0 0 812.7 288.5" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
|
@ -67,59 +66,54 @@
|
|||
C805.4,115.2,805.3,115.2,805.2,115.2L805.2,115.2z"/>
|
||||
|
||||
</svg>
|
||||
</a></div>
|
||||
<div class="col text-center">
|
||||
<div class="has-menu"><span>Why Steeltoe</span><div class="nav-arrow"></div></div>
|
||||
</Href></div>
|
||||
<div class="col text-center offset-2 mt-4">
|
||||
<div class="has-menu"><span>Why Steeltoe</span><span class="nav-arrow"></span></div>
|
||||
</div>
|
||||
<div class="col text-center">
|
||||
<div class="col text-center mt-4">
|
||||
<div class="has-menu"><span>Learn</span><div class="nav-arrow"></div></div>
|
||||
</div>
|
||||
<div class="col text-center">
|
||||
<div class="col text-center mt-4">
|
||||
<div class="has-menu"><span>Projects</span><div class="nav-arrow"></div></div>
|
||||
</div>
|
||||
<div class="col text-center"><NavLink class="nav-link" href="/training">Training</NavLink></div>
|
||||
<div class="col text-center"><NavLink class="nav-link" href="/support">Support</NavLink></div>
|
||||
<div class="col text-center"><NavLink class="nav-link" href="/community">Community</NavLink></div>
|
||||
<div class="col text-center mt-4"><Href href="/training">Training</Href></div>
|
||||
<div class="col text-center mt-4"><Href href="/support">Support</Href></div>
|
||||
<div class="col text-center mt-4"><Href href="/community">Community</Href></div>
|
||||
<div class="rel" id="dropdown-menus">
|
||||
<div class="abs" id="scope"></div>
|
||||
<div class="drop-menu" id="why-items" onmouseleave="unhovAll()">
|
||||
<div class="drop-target" id="why-target" @onmouseover="@(() => showHover("why"))"></div>
|
||||
<ul onmouseleave="unhovAll()">
|
||||
<li><NavLink class="nav-link" href="/why-steeltoe" @onclick="hideHover">Overview</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/microservices" @onclick="hideHover">Microservices</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/cloud" @onclick="hideHover">Cloud</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/web-applications" @onclick="hideHover">Web Applications</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/event-driven" @onclick="hideHover">Event Driven</NavLink></li>
|
||||
<li><Href href="/why-steeltoe" @onclick="hideHover">Overview</Href></li>
|
||||
<li><Href href="/microservices" @onclick="hideHover">Microservices</Href></li>
|
||||
<li><Href href="/cloud" @onclick="hideHover">Cloud</Href></li>
|
||||
<li><Href href="/web-applications" @onclick="hideHover">Web Applications</Href></li>
|
||||
<li><Href href="/event-driven" @onclick="hideHover">Event Driven</Href></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="drop-menu" id="learn-items" onmouseleave="unhovAll()">
|
||||
<div class="drop-target" id="learn-target" @onmouseover="@(() => showHover("learn"))"></div>
|
||||
<ul onmouseleave="unhovAll()">
|
||||
<li><NavLink class="nav-link" href="/quickstart" @onclick="hideHover">Quickstart</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/get-started" @onclick="hideHover">Guides</NavLink></li>
|
||||
<li><NavLink class="nav-link" href="/docs" @onclick="hideHover">Documentation</NavLink></li>
|
||||
<li><Href href="/quickstart" @onclick="hideHover">Quickstart</Href></li>
|
||||
<li><Href href="/get-started" @onclick="hideHover">Guides</Href></li>
|
||||
<li><Href href="/docs" @onclick="hideHover">Documentation</Href></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="drop-menu" id="project-items" onmouseleave="unhovAll()">
|
||||
<div class="drop-target" id="project-target" @onmouseover="@(() => showHover("project"))"></div>
|
||||
<ul onmouseleave="unhovAll()">
|
||||
<li class=""><NavLink class="nav-link" href="/app-configuration" @onclick="hideHover">Steeltoe Config</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/service-discovery" @onclick="hideHover">Steeltoe Discovery</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/cloud" @onclick="hideHover">Steeltoe Security</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/integration" @onclick="hideHover">Steeltoe Integration</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/messaging" @onclick="hideHover">Steeltoe Messagaing</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/service-connectors" @onclick="hideHover">Steeltoe Connectors</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/security-providers" @onclick="hideHover">Steeltoe Security</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/streams" @onclick="hideHover">Steeltoe Streams</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/circuit-breaker" @onclick="hideHover">Steeltoe Circuit Breakers</NavLink></li>
|
||||
<li class=""><NavLink class="nav-link" href="/file-sharing" @onclick="hideHover">Steeltoe File Sharing</NavLink></li>
|
||||
@*<li class=""><NavLink class="nav-link" href="/common" @onclick="hideHover">Steeltoe Common</NavLink></li>*@
|
||||
<li class=""><NavLink class="nav-link" href="/logging" @onclick="hideHover">Steeltoe Logging</NavLink></li>
|
||||
@*<li class=""><NavLink class="nav-link" href="/cloud-foundry" @onclick="hideHover">Cloud Foundry</NavLink></li>*@
|
||||
<li class="small">Development Tools</li>
|
||||
<li class="pl-2"><NavLink class="nav-link" href="/initializr">Initializr</NavLink></li>
|
||||
<li class="pl-2"><NavLink class="nav-link" href="/steeltoe-local">Steeltoe Local</NavLink></li>
|
||||
@*<li class="pt-2"><NavLink class="nav-link" href="/">All Projects</NavLink></li>*@
|
||||
<li class=""><Href href="/app-configuration" @onclick="hideHover">Steeltoe Config</Href></li>
|
||||
<li class=""><Href href="/service-discovery" @onclick="hideHover">Steeltoe Discovery</Href></li>
|
||||
@*<li class=""><Href href="/messaging" @onclick="hideHover">Steeltoe Messaging</Href></li>*@
|
||||
<li class=""><Href href="/service-connectors" @onclick="hideHover">Steeltoe Connectors</Href></li>
|
||||
<li class=""><Href href="/security-providers" @onclick="hideHover">Steeltoe Security</Href></li>
|
||||
@*<li class=""><Href href="/stream" @onclick="hideHover">Steeltoe Stream</Href></li>*@
|
||||
<li class=""><Href href="/circuit-breakers" @onclick="hideHover">Steeltoe Circuit Breakers</Href></li>
|
||||
<li class=""><Href href="/file-sharing" @onclick="hideHover">Steeltoe File Sharing</Href></li>
|
||||
<li class=""><Href href="/logging" @onclick="hideHover">Steeltoe Logging</Href></li>
|
||||
<li class="small pt-4">Development Tools</li>
|
||||
<li class="pl-2"><Href href="/initializr">Initializr</Href></li>
|
||||
<li class="pl-2"><Href href="/steeltoe-local">Steeltoe Local</Href></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
@namespace Steeltoe.Client.Shared
|
||||
@using Steeltoe.Client.Components
|
|
@ -2,11 +2,10 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<RazorLangVersion>3.0</RazorLangVersion>
|
||||
<RootNamespace>Steeltoe.Client</RootNamespace>
|
||||
<AssemblyName>Steeltoe.Client</AssemblyName>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
@ -14,20 +13,19 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.16" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.1.0-preview4.19579.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.1.0-preview4.19579.2" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview3.20168.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.1.0-preview4.19579.2" PrivateAssets="all" />
|
||||
<Compile Remove="Startup.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Blazored.Menu\Blazored.Menu.csproj" />
|
||||
<ProjectReference Include="..\Shared\Steeltoe.Shared.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="wwwroot\images\new-vs-proj\" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview3.20168.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview3.20168.3" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
.top-bar .col .nav-link {
|
||||
color: #00376e
|
||||
}
|
||||
.has-menu{
|
||||
.has-menu {
|
||||
color: #00376e;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#nav-items a:focus, .has-menu span:focus {
|
||||
|
@ -42,10 +43,10 @@
|
|||
}
|
||||
|
||||
.drop-menu {
|
||||
position: absolute;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
transition: all 0s linear;
|
||||
top: -51px;
|
||||
top: -24px;
|
||||
/*margin: 10px;*/
|
||||
opacity: 0
|
||||
}
|
||||
|
@ -70,7 +71,7 @@
|
|||
background: #fff;
|
||||
width: 240px;
|
||||
box-shadow: 0 5px 30px 0 rgba(108,135,135,.5);
|
||||
top: 38px;
|
||||
top: 71px;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
|
@ -79,13 +80,13 @@
|
|||
}
|
||||
|
||||
#why-target {
|
||||
width: 135px
|
||||
}
|
||||
#why-items {
|
||||
right: 702px
|
||||
right: 559px;
|
||||
width: 135px
|
||||
}
|
||||
#scope.why-scope {
|
||||
right: 697px;
|
||||
right: 459px;
|
||||
height: 210px;
|
||||
opacity: 1
|
||||
}
|
||||
|
@ -95,27 +96,26 @@
|
|||
}
|
||||
|
||||
#learn-target {
|
||||
/*width: 95px*/
|
||||
}
|
||||
#learn-items {
|
||||
right: 517px
|
||||
right: 449px;
|
||||
width: 95px
|
||||
}
|
||||
#scope.learn-scope {
|
||||
right: 508px;
|
||||
right: 309px;
|
||||
height: 130px;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#project-target {
|
||||
/*width: 100px;*/
|
||||
transform: translateX(-10px)
|
||||
}
|
||||
#project-items {
|
||||
right: 389px
|
||||
right: 333px;
|
||||
width: 100px;
|
||||
}
|
||||
#scope.project-scope {
|
||||
right: 380px;
|
||||
height: 621px;
|
||||
right: 204px;
|
||||
height: 488px;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
|
|
|
@ -36,35 +36,32 @@ app {
|
|||
.width-50 {
|
||||
max-width: 50%;
|
||||
}
|
||||
@media (min-width: 1400px) {
|
||||
.width-90 {
|
||||
max-width: 1400px;
|
||||
}
|
||||
.width-80 {
|
||||
max-width: 80%;
|
||||
}
|
||||
.width-75 {
|
||||
max-width: 75%;
|
||||
}
|
||||
.width-70 {
|
||||
max-width: 1120px;
|
||||
}
|
||||
.width-60 {
|
||||
max-width: 960px;
|
||||
}
|
||||
.width-55 {
|
||||
max-width: 55%;
|
||||
}
|
||||
.width-50 {
|
||||
max-width: 50%;
|
||||
}
|
||||
.width-all {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
.width-all {
|
||||
max-width: 100%;
|
||||
}
|
||||
@media (min-width: 1400px) {
|
||||
.width-90 {
|
||||
max-width: 1260px;
|
||||
}
|
||||
.width-80 {
|
||||
max-width: 1120px;
|
||||
}
|
||||
.width-75 {
|
||||
max-width: 1050px;
|
||||
}
|
||||
.width-70 {
|
||||
max-width: 980px;
|
||||
}
|
||||
.width-60 {
|
||||
max-width: 840px;
|
||||
}
|
||||
.width-55 {
|
||||
max-width: 770px;
|
||||
}
|
||||
.width-50 {
|
||||
max-width: 700px;
|
||||
}
|
||||
}
|
||||
|
||||
/*===================== BACKGROUND COLORS===================== */
|
||||
.bg-midnight-blue {
|
||||
|
@ -101,6 +98,7 @@ app {
|
|||
background-repeat: no-repeat;
|
||||
background-position-y: 52%;
|
||||
background-position-x: 50%;
|
||||
min-height: 200px;
|
||||
}
|
||||
/*@media (min-width: 1400px) {
|
||||
.blue-slant {
|
||||
|
@ -137,6 +135,11 @@ app {
|
|||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.border-bottom-steeltoe-blue {
|
||||
border-bottom-color: #0066cc;
|
||||
border-bottom-width: 2px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
|
||||
/* =====================BOOTSTRAP OVERRIDE===================== */
|
||||
|
@ -243,9 +246,8 @@ a {
|
|||
/*display: flex;*/
|
||||
/*padding-bottom: 2%;*/
|
||||
}
|
||||
.bottom-bar {
|
||||
margin-top: 6%;
|
||||
padding-top: 3%;
|
||||
#footer {
|
||||
padding-top: 5%;
|
||||
}
|
||||
.bottom-bar .col, .bottom-bar .col .nav-link {
|
||||
color: white;
|
||||
|
@ -319,24 +321,34 @@ a {
|
|||
.banner .desc {
|
||||
color:white;
|
||||
}
|
||||
.component {
|
||||
margin: 3% 0 3% 0 !important;
|
||||
.component, .component-dark {
|
||||
margin: 3% 2% 4% 0 !important;
|
||||
padding: 3% !important;
|
||||
text-align: left;
|
||||
margin-right: 2% !important;
|
||||
border: 1px solid #eeeeee;
|
||||
border-top: 11px solid #ffd700;
|
||||
}
|
||||
.component:hover {
|
||||
box-shadow: 0 4px 34px 0px #eeeeee;
|
||||
.component-dark:hover {
|
||||
box-shadow: 3px 3px 13px 0px #0066cc;
|
||||
}
|
||||
.component:last-child {
|
||||
.component:hover {
|
||||
box-shadow: 3px 3px 13px 0px #eeeeee;
|
||||
}
|
||||
.component:last-child, .component-dark:last-child {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
.component .title {
|
||||
color: #00376e;
|
||||
..component-dark .title{
|
||||
color: white;
|
||||
}
|
||||
.component .desc{
|
||||
.component .title {
|
||||
color: #00376e;
|
||||
}
|
||||
..component-dark .desc {
|
||||
color: white;
|
||||
margin: 3% 0 3% 0;
|
||||
min-height: 90px;
|
||||
}
|
||||
.component .desc {
|
||||
color: #373737;
|
||||
margin: 3% 0 3% 0;
|
||||
min-height: 90px;
|
||||
|
@ -385,13 +397,12 @@ background-color: white;
|
|||
.testimonial .name {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
.nav-link {
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
padding: unset;
|
||||
display: unset;
|
||||
}
|
||||
.nav-item {
|
||||
background-color: white;
|
||||
|
@ -528,11 +539,10 @@ padding: 25px 0 25px 0;
|
|||
min-width: 275px;
|
||||
}
|
||||
.component-button {
|
||||
/*border-radius: 60px;*/
|
||||
background-color: #0066cc;
|
||||
text-align: center;
|
||||
padding: 15px 20px 15px 20px;
|
||||
min-width: 275px;
|
||||
background-color: #0066cc;
|
||||
text-align: center;
|
||||
padding: 15px 15% 15px 15%;
|
||||
min-width: 275px;
|
||||
}
|
||||
.component-button.nav-link {
|
||||
color: white;
|
||||
|
@ -541,28 +551,28 @@ font-weight: bold;
|
|||
font-size: 90%;
|
||||
}
|
||||
.component-whatis-title, .component-whyuse-title, .tutorial .title {
|
||||
margin: 50px 0 10px 0;
|
||||
font-weight: bold;
|
||||
color: #00376e;
|
||||
font-weight: bold;
|
||||
}
|
||||
.component-whatis-title {
|
||||
margin: 23% 0 10px 0;
|
||||
}
|
||||
|
||||
.component-whatis-desc, .component-whyuse-desc, .tutorial .desc {
|
||||
color: #373737;
|
||||
}
|
||||
.component-feature {
|
||||
/*margin: 25px 0 25px 0;*/
|
||||
border-bottom: 1px solid #0066cc;
|
||||
padding: 5% 0 5% 0;
|
||||
align-items: center !important;
|
||||
margin-bottom: 7%;
|
||||
padding-bottom: 7%;
|
||||
border-bottom-color: #0066cc;
|
||||
border-bottom-width: 2px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
.component-feature-title {
|
||||
font-weight: bold;
|
||||
font-size: 200%;
|
||||
margin-bottom: 9%
|
||||
}
|
||||
.component-feature-desc{
|
||||
.component-feature-desc {
|
||||
line-height: 1.7em;
|
||||
}
|
||||
.component-feature-img {
|
||||
border-radius: 50%;
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ffffff;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<title>icon-cloud</title>
|
||||
<path class="st0" d="M81.7,43.2c-3-11.1-10.9-21.9-19.6-26.9c-5.6-3.2-10.9-3.8-15-1.7c-0.9-1-1.9-1.8-3.1-2.5
|
||||
c-2.3-1.4-4.6-1.5-6.3-0.5l-8.9,5.2l0,0l-0.1,0.1L28.7,17c-1.6,1.1-2.5,3-2.4,5l-4,2.3l0,0h-0.1c-0.8,0.5-1.6,1.2-2.2,2
|
||||
c-1.6-0.8-3.5-0.7-5.1,0.1c-1.6,1-2.4,3-2.4,5.5c0,0.3,0,0.7,0.1,1c-1.9,0-3.8,0.7-5.2,2c-2,1.9-2.9,4.8-2.8,8.5
|
||||
c0.3,8.8,6.8,19.2,14.6,23.3l41,21.5c1.3,0.5,2.7,0.8,4.1,0.8c1.6,0,3.2-0.5,4.5-1.4c1.9-1.5,3.2-3.7,3.4-6.2l0.5,0.3H73
|
||||
c1.4,0.6,2.8,0.8,4.3,0.9c1.4,0,2.7-0.3,3.9-1l0.2-0.1l0,0l8.9-5.2c2.8-1.7,4.4-5,4.4-9.5C94.7,58.5,89,48.1,81.7,43.2z M87.2,50.7
|
||||
l-8,4.6c-1.7-2.4-3.8-4.4-6.2-6.1l8-4.6C83.4,46.2,85.5,48.3,87.2,50.7z M61.4,17.6c5,3.1,9.3,7.3,12.5,12.3l-8,4.6
|
||||
c-3.2-5-7.6-9.2-12.6-12.4c-4.4-2.5-8.6-3.4-12.2-2.5l5.8-3.3c0.2,0.1,0.4,0.1,0.6,0C51.1,14,56,14.5,61.4,17.6z M71.1,79L32.8,57.1
|
||||
c-7.4-4.3-13.5-14.7-13.4-23.2c0-1.9,0.4-3.8,1.2-5.6c1.1,0.6,2.1,1.5,2.9,2.4c0.3,0.3,0.7,0.3,1,0.1c3.5-2.3,8.4-2.1,13.8,0.8
|
||||
c8.5,4.5,16.3,14.6,19.4,25.1c0.1,0.2,0.2,0.3,0.3,0.4c7.1,4.2,12.8,13.6,13.1,21.6C71.1,78.8,71.1,78.9,71.1,79z M68.1,86.5
|
||||
c-1.8,1.3-4.4,1.5-7.2,0.4L20,65.4c-7.3-3.9-13.5-13.7-13.8-22c-0.1-3.2,0.7-5.8,2.3-7.4c1.2-1.1,2.7-1.7,4.3-1.6h0.7
|
||||
c0.2,0,0.5-0.1,0.6-0.2c0.2-0.2,0.2-0.4,0.2-0.7c-0.1-0.6-0.2-1.1-0.2-1.7c-0.1-2,0.5-3.5,1.6-4.2c1.1-0.6,2.3-0.6,3.5-0.1
|
||||
c-0.9,1.9-1.4,4.1-1.3,6.2c0,9,6.3,20,14.2,24.6l39,22.4C70.9,83,69.9,85.1,68.1,86.5L68.1,86.5z M59,55.9
|
||||
c-3.3-10.8-11.4-21.1-20.1-25.7c-5.6-3-10.8-3.3-14.8-1c-0.8-0.8-1.8-1.6-2.8-2.2c0.5-0.6,1.1-1.1,1.8-1.5l0,0l0.1-0.1l4.2-2.4
|
||||
c0.2-0.1,0.4-0.4,0.4-0.6c0-2,0.6-3.5,1.8-4.2s2.7-0.5,4.4,0.4c1.2,0.8,2.3,1.8,3.2,2.9l0.9,1L39,22c3.6-2.1,8.4-1.6,13.5,1.4
|
||||
c8.3,4.8,15.7,15.2,18.5,25.8l0.1,0.5l0.4,0.3c6.9,4.4,12.2,14,12.2,21.9c0.1,3.7-0.9,6.5-3,8c-1.9,1.3-4.5,1.5-7.4,0.4l0,0
|
||||
l-0.7-0.4c0-0.4,0-0.9,0-1.3C72.3,70.2,66.4,60.3,59,55.9z"/>
|
||||
<rect class="st1" width="100" height="100"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 2.3 KiB |
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ffffff;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<title>icon-microservices</title>
|
||||
<path class="st0" d="M98.5,57.1L73.6,42.7l6-3.5c0.2-0.1,0.4-0.4,0.4-0.7V23.3c0-0.3-0.1-0.5-0.4-0.6c-0.1,0-0.1,0-0.2,0L66.3,15
|
||||
c-0.2-0.1-0.5-0.1-0.8,0l-13.2,7.7c-0.1,0-0.1,0.1-0.2,0.2c0,0-0.1,0.1-0.1,0.1c0,0.1,0,0.1,0,0.2c0,0.1,0,0.1,0,0.2v6.9L49.8,29
|
||||
l-11.4,6.6V31c0-0.3-0.1-0.5-0.4-0.6c-0.1,0-0.1,0-0.2,0l-13.2-7.6c-0.2-0.1-0.5-0.1-0.8,0l-13.2,7.6c-0.1,0-0.1,0.1-0.2,0.2
|
||||
c0,0-0.1,0-0.1,0.1c0,0.1,0,0.1-0.1,0.2c0,0,0,0.1,0,0.1v15.2c0,0.3,0.1,0.5,0.4,0.7l4.1,2.4L1.5,57.1l25.5,14.7v1.8
|
||||
c0,0.3,0.1,0.5,0.4,0.7l13.2,7.6c0.1,0.1,0.2,0.1,0.4,0.1H41c0.1,0,0.3,0,0.4-0.1l1.5-0.9l7.3,4.2L65.9,76l6.8,4l24-14l-6.8-3.9
|
||||
L98.5,57.1z M54.3,23.3l11.7-6.8l11.8,6.8L66,30.1l-6.3-3.7C59.7,26.5,54.3,23.3,54.3,23.3z M53.5,31.1v-6.4l5.5,3.1l6.3,3.6v6.4v7
|
||||
l-11.8-6.7v-5.3L53.5,31.1z M12.7,31l11.7-6.8L36.1,31l-11.7,6.8l-6.3-3.7L12.7,31z M12,32.3l6.9,4l4.9,2.8v6.8v6.7l-5.8-3.3
|
||||
l-1.5-0.9L12,45.8L12,32.3z M28.4,72.6v-1.7V59.7l2.4,1.3l9.4,5.4v11.2v2.2l-11.8-6.8V72.6z M29.2,58.3l11.7-6.8l11.7,6.8l-11.7,6.8
|
||||
l-9.8-5.6L29.2,58.3L29.2,58.3z M54.9,64l17.6-10.2L87,62.1L66,74.3L55,68L54.9,64z M50.2,83.4l-5.8-3.3l10.2-5.9
|
||||
c0.2-0.1,0.4-0.4,0.4-0.7v-3.9l9.5,5.5L50.2,83.4z M93.8,66l-21,12.2l-5.3-3.1l21-12.2L93.8,66z M72.6,52L54.9,62.3v-4
|
||||
c0-0.3-0.1-0.5-0.4-0.7c-0.1,0-0.1,0-0.2,0l-13.2-7.6c-0.2-0.1-0.5-0.1-0.8,0l-13.2,7.6l0,0c-0.1,0-0.1,0.1-0.1,0.1
|
||||
c0,0-0.1,0.1-0.1,0.1c0,0.1-0.1,0.1-0.1,0.2c0,0.1,0,0.1,0,0.2V70L4.5,57l11.9-6.9l7.5,4.5c0.1,0.1,0.2,0.1,0.4,0.1h0.1
|
||||
c0.1,0,0.3,0,0.4-0.1l13.2-7.7c0.2-0.1,0.4-0.4,0.4-0.7v-8.9l11.4-6.6l2.1,1.2v6.6c0,0.3,0.1,0.5,0.4,0.7l13.2,7.6
|
||||
c0.1,0.1,0.2,0.1,0.4,0.1h0.1c0.1,0,0.3,0,0.4-0.1l5.7-3.3l23.4,13.5l-7.1,4.1L72.6,52z"/>
|
||||
<rect class="st1" width="100" height="100"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 2.1 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ffffff;}
|
||||
.st1{fill:none;}
|
||||
</style>
|
||||
<title>icon-streams</title>
|
||||
<path class="st0" d="M73.8,15.9c-5.4-3.1-10.5-3.6-14.3-1.4c-0.2,0.1-0.4,0.3-0.6,0.4L21,37.4l-0.2,0.1c-0.1,0-0.1,0.1-0.2,0.1
|
||||
l-0.4,0.2l0,0c-3.5,2.3-5.4,6.7-5.4,12.6c0,6.3,2.2,13.2,5.8,19.4h-8.5V88h18.2v-6.6c1.2,1,2.6,1.9,4,2.7c2.7,1.7,5.8,2.6,9,2.7
|
||||
c1.9,0,3.7-0.4,5.3-1.4l0,0l39-23.1v-0.1c3.7-2.3,5.7-6.8,5.7-12.8C93.3,37.2,84.6,22.1,73.8,15.9z M28.8,80.1v6.4H13.6V71.3h15.2
|
||||
L28.8,80.1L28.8,80.1z M44.6,65.6v8h-8v-8H44.6z M40,42.4v-3.8h11.3v11.3h-4.7C44.7,47.1,42.5,44.6,40,42.4z M44.9,49.9H40v-5.5
|
||||
C41.8,46.1,43.4,47.9,44.9,49.9L44.9,49.9z M26.4,57.8v-6.5h6.5v6.5H26.4z M52.5,81.4c1.4-2.7,2.2-5.8,2.1-8.9
|
||||
c0-6.9-2.7-14.6-6.9-21.2h5.1V37.1H38.5v4.1c-1.1-0.8-2.2-1.6-3.4-2.3c-2.7-1.7-5.9-2.6-9.1-2.7l29.5-17.5c-1.4,2.7-2.1,5.7-2,8.8
|
||||
c0,7.9,3.5,16.8,8.8,23.9h-2.8v6.5H66v-2.2c2.1,2.1,4.4,4,6.9,5.5c2.7,1.7,5.8,2.6,9,2.7h0.2L52.5,81.4z M91.8,49.5
|
||||
c0,5.6-1.9,9.7-5.2,11.6s-8,1.5-12.8-1.4c-2.9-1.7-5.5-3.8-7.7-6.3v-2.1h-1.8c-5.5-7-9.2-16-9.2-23.9c0-5.2,1.7-9.1,4.6-11.2
|
||||
l1.2-0.7c1.2-0.6,2.6-0.9,4-0.9c2.9,0.1,5.7,1,8.2,2.5C83.4,23.1,91.8,37.7,91.8,49.5z"/>
|
||||
<rect x="38.1" y="67.1" class="st0" width="5" height="5"/>
|
||||
<rect x="3.3" y="61.9" class="st0" width="6.5" height="6.5"/>
|
||||
<path class="st0" d="M62.5,37.2h8v-8h-8L62.5,37.2z M64,30.7h5v5h-5V30.7z"/>
|
||||
<rect x="92.8" y="25" class="st0" width="3.2" height="3.2"/>
|
||||
<rect x="77.6" y="38.3" class="st0" width="3.2" height="3.2"/>
|
||||
<rect x="86.1" y="42.3" class="st0" width="3.2" height="3.2"/>
|
||||
<rect x="74.3" y="47.4" class="st0" width="3.2" height="3.2"/>
|
||||
<rect class="st1" width="100" height="100"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 2.0 KiB |
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><style>.st0{fill:#ffffff;}.cls-1{fill:none;}</style></defs><title>icon-webapps</title><path class="st0" d="M33.44,13.35l-4.28,2.47L17.8,9.28l0,25.2,5.64,3.25,0,16.29-7.56-7.58V69.18l6-5.83.33-.28h2.09a16.4,16.4,0,0,0,6.55,8.29l35,20.22a7.18,7.18,0,0,0,3.55,1.06,4.41,4.41,0,0,0,2.25-.58h0l9.22-5.34c1.57-.91,2.44-2.76,2.45-5.21l.08-39.36ZM66.67,43.2l-41-23.65,3.45-2,37.51,21.6ZM25,20.85,66.67,45l0,15.94-41.73-24Zm8.48-5.77L81.15,42.6l-7.72,4.5-5.26-3V38.3L30.66,16.69ZM19.27,33.61l0-21.74,8.37,4.82-4.19,2.43,0,16.88Zm5.64,5L68.14,63.5l0-17.67,4.47,2.59v4.73l-.08,26.58h0l0,7.09c0,1.87-.6,3.24-1.69,3.88h0l-.12,0-.09,0h0l-.18.08h0l-.13,0-.1,0h0L70,91h0a.89.89,0,0,1-.25,0v0l-.22,0h-.28v0H69v0l-.22,0-.1,0v0l-.24,0h0l-.27-.08-.1,0v0l-.23-.07v0l-.31-.12-.11-.05v0l-.21-.09v0c-.21-.1-.43-.21-.66-.34v0h0L31.54,70a14.73,14.73,0,0,1-5.66-6.93H32.4l-7.54-7.55Z"/><path class="st0" d="M30.51,28.55h0C29.12,27.74,28,28.39,28,30h0a5.52,5.52,0,0,0,2.51,4.34h0c1.39.81,2.52.17,2.53-1.43A5.53,5.53,0,0,0,30.51,28.55Z"/><path d="M39.14,33.53h0c-1.39-.81-2.52-.16-2.52,1.44a5.49,5.49,0,0,0,2.5,4.34c1.4.81,2.53.17,2.53-1.43h0A5.52,5.52,0,0,0,39.14,33.53Z"/><rect class="cls-1" width="100" height="100"/></svg>
|
После Ширина: | Высота: | Размер: 1.3 KiB |
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{fill:none;}.cls-2{fill:#7f9bb6;}.cls-3{fill:#d7e7e7;}.cls-4{fill:#0066cc;}</style></defs><title>icon-everywhere</title><rect class="cls-1" width="80" height="80"/><path class="cls-2" d="M53.28,40.41C57,34.16,60,27.31,60,21.56a20,20,0,1,0-39.9,0c0,5.73,3,12.57,6.65,18.8A57.53,57.53,0,0,1,53.28,40.41ZM32.88,21.56A7.13,7.13,0,1,1,40,28.69,7.05,7.05,0,0,1,32.88,21.56Z"/><path class="cls-3" d="M64.08,44.62a41.25,41.25,0,0,0-10.8-4.21A129.29,129.29,0,0,1,40,58.61,127.89,127.89,0,0,1,26.7,40.36a41.2,41.2,0,0,0-10.94,4.26c-13.3,7.72-13.23,20.26.16,28s35,7.72,48.32,0S77.47,52.34,64.08,44.62Z"/><path class="cls-4" d="M53.28,40.41a57.53,57.53,0,0,0-26.58,0A127.89,127.89,0,0,0,40,58.61,129.29,129.29,0,0,0,53.28,40.41Z"/></svg>
|
После Ширина: | Высота: | Размер: 837 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{isolation:isolate;}.cls-2{fill:#d7e7e7;}.cls-3{fill:#7f9bb6;}.cls-4{fill:#0066cc;mix-blend-mode:multiply;}.cls-5{fill:none;}</style></defs><title>icon-fast</title><g class="cls-1"><g id="Layer_1" data-name="Layer 1"><polygon class="cls-2" points="5.75 8.84 5.75 71.17 30.72 53.29 30.72 26.71 5.75 8.84"/><polygon class="cls-3" points="74.25 40 30.72 8.84 30.72 26.71 49.28 40 30.72 53.29 30.72 71.17 74.25 40"/><polygon class="cls-4" points="30.72 26.71 30.72 53.29 49.28 40 30.72 26.71"/><rect class="cls-5" width="80" height="80"/></g></g></svg>
|
После Ширина: | Высота: | Размер: 627 B |
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{fill:none;}.cls-2{fill:#7f9bb6;}.cls-3{fill:#d7e7e7;}.cls-4{fill:#0066cc;}</style></defs><title>icon-flexible</title><rect class="cls-1" width="80" height="80"/><polygon class="cls-2" points="56.9 30.58 40.11 40.34 23.1 30.52 6.79 40 23.69 49.76 39.89 40.34 56.31 49.82 73.22 40 56.9 30.58"/><polygon class="cls-3" points="56.9 30.58 73.22 21.1 39.89 1.86 6.79 21.1 23.1 30.52 39.89 20.76 56.9 30.58"/><polygon class="cls-4" points="56.9 30.58 39.89 20.76 23.1 30.52 40.11 40.34 56.9 30.58"/><polygon class="cls-3" points="23.69 49.76 6.79 59.58 40.11 78.82 73.22 59.58 56.31 49.82 40.11 59.24 23.69 49.76"/><polygon class="cls-4" points="23.69 49.76 40.11 59.24 56.31 49.82 39.89 40.34 23.69 49.76"/></svg>
|
После Ширина: | Высота: | Размер: 820 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{isolation:isolate;}.cls-2{fill:#0066cc;}.cls-2,.cls-3,.cls-4{mix-blend-mode:multiply;}.cls-3{fill:#7f9bb6;}.cls-4{fill:#d7e7e7;}.cls-5{fill:none;}</style></defs><title>icon-indemand</title><g class="cls-1"><g id="Layer_1" data-name="Layer 1"><path class="cls-2" d="M56.22,62.05,49.78,58.6a5.51,5.51,0,0,1-2.72-2.46A17.35,17.35,0,0,0,56,48.82s-2.23-2.67-2.23-11.12A14.05,14.05,0,0,0,39.66,23.48c-8.68.18-13.44,7.2-13.44,14.23,0,8.45-2.23,11.11-2.23,11.11A18.59,18.59,0,0,0,33,56a5.31,5.31,0,0,1-2.8,2.64l-6.44,3.45a31.66,31.66,0,0,0,32.44,0Z"/><path class="cls-3" d="M61.26,64.75l-5-2.7a31.66,31.66,0,0,1-32.44,0l-5,2.7a3.14,3.14,0,0,0-1.45,1.6c-1.74,4.43-1.74,10.48-1.74,10.48h48.9s0-6-1.74-10.48A3.14,3.14,0,0,0,61.26,64.75Z"/><path class="cls-4" d="M33,56a18.59,18.59,0,0,1-9-7.14s2.23-2.66,2.23-11.11c0-7,4.76-14,13.44-14.23A14.05,14.05,0,0,1,53.78,37.7c0,8.45,2.23,11.12,2.23,11.12a17.35,17.35,0,0,1-8.95,7.32,5.51,5.51,0,0,0,2.72,2.46l6.44,3.45a31.68,31.68,0,1,0-32.44,0l6.44-3.45A5.31,5.31,0,0,0,33,56Z"/><rect class="cls-5" width="80" height="80"/></g></g></svg>
|
После Ширина: | Высота: | Размер: 1.1 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{isolation:isolate;}.cls-2{fill:#7f9bb6;}.cls-3{fill:#d7e7e7;mix-blend-mode:multiply;}.cls-4{fill:#0066cc;}.cls-5{fill:none;}</style></defs><title>icon-innovative</title><g class="cls-1"><g id="Layer_1" data-name="Layer 1"><polygon class="cls-2" points="47.54 45.3 29.5 65.01 33.58 44.55 6.96 60.02 40.11 79.15 73.03 60.02 47.54 45.3"/><polygon class="cls-3" points="47.54 45.3 60.05 31.62 44.26 31.62 50.49 0.85 19.95 33.71 35.75 33.71 33.58 44.55 39.89 40.88 47.54 45.3"/><polygon class="cls-4" points="47.54 45.3 39.89 40.88 33.58 44.55 29.5 65.01 47.54 45.3"/><rect class="cls-5" width="80" height="80"/></g></g></svg>
|
После Ширина: | Высота: | Размер: 701 B |
|
@ -0,0 +1 @@
|
|||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><style>.cls-1{fill:none;}.cls-2{fill:#d7e7e7;}.cls-3{fill:#7f9bb6;}.cls-4{fill:#0066cc;}</style></defs><title>icon-secure</title><path class="cls-1" d="M40,12.94a7.64,7.64,0,0,0-7.63,7.64V32.63H47.64V20.58A7.65,7.65,0,0,0,40,12.94Z"/><path class="cls-2" d="M58.64,32.63v9.15h-11V32.63H32.37v9.15h-11V32.63H18.83a10,10,0,0,0-10,10V75.47H71.17V42.63a10,10,0,0,0-10-10ZM45.5,60.31h-11v-11h11Z"/><path class="cls-3" d="M32.37,20.58a7.64,7.64,0,1,1,15.27,0V32.63h11V20.58a18.64,18.64,0,1,0-37.27,0V32.63h11Z"/><rect class="cls-4" x="21.37" y="32.63" width="11" height="9.15"/><rect class="cls-4" x="47.64" y="32.63" width="11" height="9.15"/><rect class="cls-4" x="34.5" y="49.29" width="11" height="11.02"/><rect class="cls-1" width="80" height="80"/></svg>
|
После Ширина: | Высота: | Размер: 852 B |
|
@ -1,25 +1,66 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-K877M7V');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-114912118-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-114912118-1');
|
||||
</script>
|
||||
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<meta property="og:title" content="Steeltoe OSS" />
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
|
||||
<meta property='og:type' content='website'>
|
||||
<meta property="og:title" content="Create cloud-native .NET microservices with Steeltoe." />
|
||||
<meta property="og:url" content="https://www.steeltoe.io" />
|
||||
<meta property="og:image" content="https://steeltoe.io/images/favicon.png" />
|
||||
<meta property="og:description" content="Cloud Native .NET Applications - Friend of Spring Boot, Spring Cloud, and Cloud Foundry." />
|
||||
<meta property="og:description" content="Steeltoe is a .NET framework that provides libraries for quickly creating cloud-native microservices. It's a friend of Spring Cloud and can be used on any cloud platform." />
|
||||
<meta name='twitter:title' content='Create cloud-native .NET microservices with Steeltoe.'>
|
||||
|
||||
<meta content="Create cloud-native .NET microservices with Steeltoe." name="DC.Title" xml:lang="EN">
|
||||
<meta content="cloud-native, .net, dotnet, framework, cloud, developer" name="DC.Subject" xml:lang="EN">
|
||||
<meta content="Steeltoe is a .NET framework that provides libraries for quickly creating cloud-native microservices. It's a friend of Spring Cloud and can be used on any cloud platform." name="description" xml:lang="EN">
|
||||
<meta content="EN" name="DC.Language" scheme="dcterms:RFC1766">
|
||||
<meta content="https://steeltoe.io/" name="DC.Identifier" schema="DCterms:URI">
|
||||
<meta content="text/html" name="DC.Format" schema="DCterms:IMT">
|
||||
<meta content="Pivotal Software" name="DC.Creator">
|
||||
<meta content="Steeltoe OSS" name="DC.Publisher">
|
||||
<meta content="info@steeltoe.io" name="DC.Publisher.Address">
|
||||
<meta content="Steeltoe OSS" name="DC.Contributor">
|
||||
<meta content="2019-10-03" name="DC.Date" scheme="ISO8601">
|
||||
<meta content="text/html" name="DC.Type">
|
||||
<meta content="https://steeltoe.io/" name="DC.Identifier">
|
||||
<meta content="Copyright 2017, Pivotal Software, Inc. All rights reserved." name="DC.Rights">
|
||||
|
||||
<base href="/" />
|
||||
<title>Local Steeeltoe</title>
|
||||
<title>Steeltoe OSS</title>
|
||||
<link href='https://steeltoe.io/' rel='canonical'>
|
||||
<link href="images/favicon.png" rel="icon" type="image/png" />
|
||||
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
|
||||
<link href="css/site.css" rel="stylesheet" />
|
||||
<link href="css/nav.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body>
|
||||
<app>Wait a minute...</app>
|
||||
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K877M7V"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
<app>...</app>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
<script src="js/anchor-utils.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
|
@ -1,4 +1,10 @@
|
|||
[
|
||||
{
|
||||
"date": "<span>april</span> 9 2020",
|
||||
"title": "Steeltoe 3.0.0-m2 is available",
|
||||
"description": "The second milestone of Steeltoe 3.0 has been reached! With a focus on .NET Core, this new major version will offer message streaming, the Initializr project, tooling for local development, and more.",
|
||||
"url": "https://github.com/SteeltoeOSS/steeltoe/blob/master/roadmaps/3.0.0.md"
|
||||
},
|
||||
{
|
||||
"date": "<span>february</span> 23 2020",
|
||||
"title": "Steeltoe 3.0.0-m1 is available",
|
||||
|
@ -16,17 +22,5 @@
|
|||
"title": "Steeltoe 2.4 RC1 is available",
|
||||
"description": "Featuring support for .NET Core 3.0 as well as closing a few resolved issues.",
|
||||
"url": "https://github.com/SteeltoeOSS/steeltoe/blob/master/roadmaps/2.4.0.md"
|
||||
},
|
||||
{
|
||||
"date": "<span>october</span> 6-7 2019",
|
||||
"title": ".NET developer pre-conference training at Spring One Platform",
|
||||
"description": "A two-day course that demonstrates how to build cloud-native .NET applications using Steeltoe. Get signed up today!",
|
||||
"url": "https://springoneplatform.io/2019/training/steeltoe"
|
||||
},
|
||||
{
|
||||
"date": "<span>september</span> 30 2019",
|
||||
"title": "Steeltoe 2.3 is available",
|
||||
"description": "With new features in logging, cloud management, and cloud connectors as well as quite a few notable issues resolved the 2.3 release is another milestone in Steeltoe's roadmap.",
|
||||
"url": "https://github.com/SteeltoeOSS/steeltoe/blob/master/roadmaps/2.3.0.md"
|
||||
}
|
||||
]
|
|
@ -63,7 +63,6 @@
|
|||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K877M7V"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
<app>@(await Html.RenderComponentAsync<App>(RenderMode.Static))</app>
|
||||
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
<script src="js/anchor-utils.js" type="text/javascript"></script>
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
using Microsoft.AspNetCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace tmp.Server
|
||||
namespace Steeltoe.Server
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
BuildWebHost(args).Run();
|
||||
}
|
||||
public class Program {
|
||||
public static void Main(string[] args) {
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
}
|
||||
|
||||
public static IWebHost BuildWebHost(string[] args) =>
|
||||
WebHost.CreateDefaultBuilder(args)
|
||||
.UseConfiguration(new ConfigurationBuilder()
|
||||
.AddCommandLine(args)
|
||||
.Build())
|
||||
.UseStartup<Startup>()
|
||||
.Build();
|
||||
}
|
||||
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
||||
Host.CreateDefaultBuilder(args)
|
||||
.ConfigureWebHostDefaults(webBuilder => {
|
||||
webBuilder.UseStartup<Startup>();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,67 +1,48 @@
|
|||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.HttpsPolicy;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.ResponseCompression;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace tmp.Server
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddMvc().AddNewtonsoftJson();
|
||||
services.AddResponseCompression(opts =>
|
||||
{
|
||||
opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(
|
||||
new[] { "application/octet-stream" });
|
||||
});
|
||||
namespace Steeltoe.Server {
|
||||
public class Startup {
|
||||
public Startup(IConfiguration configuration) {
|
||||
Configuration = configuration;
|
||||
}
|
||||
|
||||
//// Server Side Blazor doesn't register HttpClient by default
|
||||
if (!services.Any(x => x.ServiceType == typeof(HttpClient))) {
|
||||
// Setup HttpClient for server side in a client side compatible fashion
|
||||
services.AddScoped<HttpClient>(s => {
|
||||
// Creating the URI helper needs to wait until the JS Runtime is initialized, so defer it.
|
||||
var uriHelper = s.GetRequiredService<NavigationManager>();
|
||||
return new HttpClient {
|
||||
BaseAddress = new Uri(uriHelper.BaseUri)
|
||||
};
|
||||
});
|
||||
}
|
||||
public IConfiguration Configuration { get; }
|
||||
|
||||
services.AddScoped<INavMenu, NavMenu>();
|
||||
services.AddScoped<ICalendarEvents, CalendarEvents>();
|
||||
}
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
|
||||
public void ConfigureServices(IServiceCollection services) {
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
app.UseResponseCompression();
|
||||
services.AddControllersWithViews();
|
||||
}
|
||||
|
||||
if (env.IsDevelopment())
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
app.UseBlazorDebugging();
|
||||
}
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
|
||||
if (env.IsDevelopment()) {
|
||||
app.UseDeveloperExceptionPage();
|
||||
app.UseWebAssemblyDebugging();
|
||||
} else {
|
||||
app.UseExceptionHandler("/Error");
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseStaticFiles();
|
||||
app.UseClientSideBlazorFiles<Steeltoe.Client.Startup>();
|
||||
app.UseHttpsRedirection();
|
||||
app.UseBlazorFrameworkFiles();
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.UseRouting();
|
||||
app.UseRouting();
|
||||
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
endpoints.MapDefaultControllerRoute();
|
||||
endpoints.MapFallbackToPage("/_Host");
|
||||
//endpoints.MapFallbackToClientSideBlazor<Steeltoe.Client.Startup>("index.html");
|
||||
});
|
||||
}
|
||||
}
|
||||
app.UseEndpoints(endpoints => {
|
||||
endpoints.MapControllers();
|
||||
endpoints.MapFallbackToFile("index.html");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<LangVersion>7.3</LangVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
@ -10,9 +11,18 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Blazor.Server" Version="3.1.0-preview4.19579.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
|
||||
<PackageReference Include="System.Net.Http" Version="4.3.4" />
|
||||
<Compile Remove="Controllers\**" />
|
||||
<Compile Remove="Pages\**" />
|
||||
<Content Remove="Controllers\**" />
|
||||
<Content Remove="Pages\**" />
|
||||
<EmbeddedResource Remove="Controllers\**" />
|
||||
<EmbeddedResource Remove="Pages\**" />
|
||||
<None Remove="Controllers\**" />
|
||||
<None Remove="Pages\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="3.2.0-preview3.20168.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -20,8 +30,4 @@
|
|||
<ProjectReference Include="..\Shared\Steeltoe.Shared.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Controllers\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|