Giter Club home page Giter Club logo

solo-docs's Introduction

Solo Docs

Consolidated repo for building and deploying Solo docs.

Deprecation notice:

  • Gloo docs are now managed in the Gloo Repo
    • hosted at docs.solo.io/gloo/latest/
  • Other products' docs will soon move to their own repos.

Building

To build any of these docs sites locally:

  • Clone the repo
  • Install hugo (currently the CI build uses Hugo 0.54)
  • Navigate to the desired product directory and run make serve-site.

This will build the site and host it by default on localhost:1313.

Contributing

We welcome contributions to the docs. Please test changes locally, and then open a pull request on this repo. The pull request must be reviewed and approved by a member of Solo.

Version management and publishing.

Currently, this repo contains the consolidated docs for the latest versions of Gloo and Sqoop. When a PR merges into master, the docs are automatically deployed to gloo.solo.io and sqoop.solo.io.

solo-docs's People

Contributors

ahmelsayed avatar antoniotamer avatar asaiun avatar axhixh avatar bettyjunod avatar cgetzen avatar christian-posta avatar derrickburns avatar dominik-k avatar eitanya avatar ewbankkit avatar fmedery avatar govargo avatar grahamgoudeau avatar ilackarms avatar jamtur01 avatar joekelley avatar kdorosh avatar marcogschmidt avatar mitchdraft avatar peterj avatar rettori avatar scranton avatar soloio-bot avatar worfle avatar yuval-k avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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

solo-docs's Issues

tracing docs

Add notes on using gloo with Zipkin and Jaeger

relevant config shown below

zipkin install

---
apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: default
spec:
  selector:
    app: zipkin
  ports:
  - port: 9411
    name: http
    targetPort: http
  type: NodePort
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: zipkin
  namespace: default
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: zipkin
    spec:
      containers:
      - name: zipkin
        image: openzipkin/zipkin
        imagePullPolicy: Always
        ports:
        - name: http
          containerPort: 9411

gateway spec

...
spec:
  httpGateway:
    plugins:
      httpConnectionManagerSettings:
        tracing:
          verbose: true
...

config map

kind: ConfigMap
metadata:
  name: gateway-proxy-v2-envoy-config
  namespace: gloo-system
apiVersion: v1
data:
  envoy.yaml: |
    tracing:
      http:
        name: envoy.zipkin
        config:
          trace_id_128bit: true
          collector_cluster: tracingcluster
          collector_endpoint: "/api/v1/spans"
          shared_span_context: false
    static_resources:
      clusters:
      - name: tracingcluster
        alt_stat_name: trace_cluster
        connect_timeout: 5.000s
        http2_protocol_options: {}
        upstream_connection_options:
          tcp_keepalive: {}
        type: STRICT_DNS
        load_assignment:
          cluster_name: tracingcluster
          endpoints:
          - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: zipkin.default.svc.cluster.local
                    port_value: 9411
  • curl cmd
glooctl proxy url
# returns something like: http://35.229.81.32:80
curl --header "x-client-trace-id: 123abc" --header "x-envoy-decorator-operation: optional-category-identifier" http://35.229.81.32:80/abcd

Working with Istio's Jaeger is essentially the same. Just install Istio with Jaeger, and update the tracing cluster's socket_address to refer to the zipkin service that Istio created for Jaeger, which would be this, by default:
address: zipkin.istio-system.svc.cluster.local

Wrong path in Squash documentation for remote path

When I tested the Squash demo application in Visual Studio Code like described in the file squash/docs/overview/_index.md, I can't set a break point and get this error message:

SetBreakPointsRequest
All cleared
Creating on: /home/olaf/projects/squash/contrib/example/service1/main.go (/home/yuval/go/src/github.com/solo-io/squash/contrib/example/contrib/example/service1/main.go) :88
Error on CreateBreakpoint: could not find /home/yuval/go/src/github.com/solo-io/squash/contrib/example/contrib/example/service1/main.go:88
All set:[null]

If I changed the remote path in Visual Studio Code to /home/yuval/go/src/github.com/solo-io/squash/ I can set breakpoints and debug the application. Is there something special about my Visual Studio Code setup?

Break out readConfig section in install doc

New UI requires that you helm ... --set gatewayProxies.gatewayProxyV2.readConfig=true for the Envoy configs to be visible in UI. Need dedicated section on install page that both

  • clearly shows how to do this with helm, including need to add gloo. prefix for GlooE --set gloo.gatewayProxies.gatewayProxyV2.readConfig=true
  • explains why this option is not true by default, i.e. what risks are the users assuming by enabling this option

Document Helm values usage in GlooE

We currently document the values supported by our Helm chart here. When installing the GlooE Helm chart, some of these values will not work without adding a gloo prefix to their name. This is because the OS Gloo chart is child chart to the GlooE chart.

We should fix our charts to provide a more consistent user experience. In the meantime we should document this behavior.

Add Enterprise start guide

The Gloo enterprise start guide should be included in here. Currently the installation guides are using open source gloo and it should be clear which guides are for open source and which are for enterprise.

Docs versioning

We want to host docs that are versioned with the product. There are some technical limitations with our deployment and docs build tools that make this a bit tricky.

  • One idea is to manage each version of Gloo docs on a branch / tag in this repo, and cut a new tag when there is a new version of the product. Then, we could push just that version's updated content to a versioned directory on the site. However, our site hosting / deployment tool, Firebase, doesn't allow for deploying a subdirectory of a site via the CLI (as of 2018 it was an open feature request). We may be able to accomplish this via the Firebase API but this will complicate our deployment process and needs to be investigated.
  • Another idea is to manage each version of the docs in a separate folder in the main content directory, and then deploy the entire site from master like we do already. This means the repo would grow as new versions of the product are introduced, but it would have the benefit of not having to change our firebase steps, and we could potentially host all our docs, not just Gloo docs, in the same repo without having to worry about branch tag issues. This requires some customization of the Hugo theme so that the top-level sections (versions) are hidden from the menu, and a version drop down is added to the navigation, and each page is made version-aware so the version selector can function correctly. This is beyond my expertise.

Until we have a path forward, this repo will only contain docs for the latest version of gloo open source + enterprise.

Markdown doesn't render in notice blocks on live site

e.g., https://gloo.solo.io/gloo_routing/virtual_services/authentication/plugin_auth/

the hyperlinks don't render in notice blocks

when the site is served locally, the notice blocks render markdown as expected actually they also render wrong, my memory doesn't serve me correctly

my first guess is that we have a slightly different hugo version/setup deployed. markdown isn't rendered across the entire site, not just the page linked -- so fixing it will greatly improve the quality of our docs

Broken link

solo-docs/gloo/docs/installation/_index.md

"open source quick start guide" link is broken

Changelog for gloo-i

  • Include in gloo docs
  • Ideally link from enterprise changelog when dependency bump occurs.

Getting Started with AWS and Gloo

Need a set of guides that help users understand how to set up an AWS cluster that will work well with Gloo, how to architect AWS and Gloo components, and starter demos that highlight the benefits Gloo brings to an AWS setup.

Add HubSpot Tracking code to docs

I think this was removed at some point -- please add back to all docs

<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script>

prefixRewrite docs are confusing

readers are confused about how to configure prefixRewrite, and the ask to add two (2) route/path matching entries given how envoy implements prefix_rewrite

Add Google Analytics Tag to all docs

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-149486620-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-149486620-1'); </script>

Improve accessibility colors

Notice in the following image that we don't meet the AAA requirements and barely pass AA requirements.

Which is where it is causing me issues reading the documentation

Screen Shot 2020-02-14 at 7 10 40 PM

It seems that in the file core-override.css the selector article section.page could be changed to #333 (always a safe bet using white backgrounds to use #333

Supported versions of OpenAPI/Swagger

Hello - saw that Gloo can consume a Swagger doc from the service (very cool feature). However, I cannot find what versions of Swagger are supported by Gloo, for example, is v3 supported?

Broken link

solo-docs/gloo/docs/installation/_index.md

installation with helm link is broken

Broken links and formatting errors

This functionality is turned off by default, and can be turned on a couple of different ways: through Helm chart install options; and through environment variables.

the Helm chart install options link is broken, https://gloo.solo.io/user_guides/setup_options/observability/


Also, some headers here are being rendered as plaintext as part of the paragraph they describe, which is confusing: https://gloo.solo.io/user_guides/setup_options/

e.g.,

Usage Statistics Gloo will periodically collect usage information

Motivation By default, microservices deployed

Motivation Gloo’s Function Discovery Service (FDS) attempt

restore gRPC tutorial

Users are asking for this tutorial https://github.com/solo-io/gloo/tree/old-master/example/grpc

As it is linked (broken link now) through this blog post: https://medium.com/solo-io/new-in-gloo-connect-json-clients-to-your-grpc-services-4724656ed15f

here's a partial yaml spec to get started:

kubectl get vs default -n gloo-system -o yaml
apiVersion: gateway.solo.io/v1
kind: VirtualService
metadata:
  name: default
  namespace: gloo-system
spec:
  virtualHost:
    domains:
    - '*'
    name: gloo-system.default
    routes:
    - matcher:
        exact: /shelves4
        methods:
        - GET
      routeAction:
        single:
          destinationSpec:
            grpc:
              function: ListShelves
              service: grpc-bookstore
          upstream:
            name: default-grpc-bookstore-8080
            namespace: gloo-system

slack link

gloo docs deleted in refactor

docs were recently refactored in #454

a number of docs appear to have been lost in the refactor.
#472 and #468 restored previously deleted user_guides for knative and kubernetes ingress.

717e9c3 was the last commit before the overhaul was merged. i've done a diff with

git diff master 717e9c3ac167164d109e0c8cfd95d5196d849651

to try to determine which other docs were lost. i've listed their filenames here but i may be missing some, or may have accidentally listed a file here which was moved/intentionally deleted:

a/gloo/docs/user_guides/concepts/declarative_infrastructure_and_gitops.md
a/gloo/docs/user_guides/concepts/gloo_declarative_model.md
a/gloo/docs/user_guides/concepts/understanding_gloo_configuration.md
a/gloo/docs/user_guides/gateway/configuring_route_options/advanced_route_plugins.md
a/gloo/docs/user_guides/gateway/configuring_route_options/append_remove_headers.md
a/gloo/docs/user_guides/gateway/configuring_route_options/advanced_routing_action.md
a/gloo/docs/user_guides/gateway/configuring_route_options/listener_plugins.md
a/gloo/docs/user_guides/gateway/configuring_route_options/listener_plugins.md
a/gloo/docs/user_guides/gateway/external_services/static_upstream.md

glooe link downloads old version of glooctl

https://gloo.solo.io/enterprise/installation/install_glooctl/

glooctl --version
glooctl enterprise edition version 0.13.9

latest release is 0.13.15
https://github.com/solo-io/solo-projects/releases

I noticed because the redis image pull failed

Potential fixes:

  • point to a "latest" release
    • Not sure if google storage supports this
  • point to the github releases page
    • lose the one-click download feature
  • implement a download page with redirects?

What do you think @scranton @rickducott

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.