Code Monkey home page Code Monkey logo

docs's People

Contributors

alohr51 avatar barecode avatar brutif avatar bschrammibm avatar chirp1 avatar dacleyra avatar davco01a avatar dmuelle avatar j-c-berger avatar jagraj avatar jantley-ibm avatar jhschube avatar johnmcollier avatar kaczyns avatar kidus60 avatar kiszk avatar ksee04 avatar kvijai82 avatar kylegc avatar manasigandhi avatar mezarin avatar nastacio avatar nateziemann avatar ralanlittle avatar rwalls1 avatar s1cyan avatar stephenkinder avatar suechaplain avatar t-koman avatar tseelbach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

docs's Issues

Write a collections guide that uses the Eclipse IDE

Rather than have a guide for each collection, we decided to write guides that covered the developer experience of using different collections with either:

  • Appsody CLI
  • VS Code
  • Eclipse

The microprofile and Spring guides explain how to use these collections with the Appsody CLI.
#48 will cover using Nodejs-express with VS Code

This issue needs to cover using a collection with the Eclipse IDE.

Suggest we either go for one of the other Nodejs collections, or OpenLiberty when ready.

Write a Guide for "SpringBoot" Collections

For MVP, we need a Guide describing the "SpringBoot" Collection.
SpringBoot contains the following:

Spring on OpenLiberty (only experimental phase - not required)
Spring on Tomcat
Need to determine if we need one Guide or two separate guides.

Enhance automation in script to automate appsody kubectl apply(s) and edits

Enhance the script to do the following after the initial istio and kabanero pod setup:

  1. git clone https://github.com/appsody/tekton-example as part of this one script too
  2. cd tekton-example
  3. oc project kabanero
  4. kubectl apply -f appsody-service-account.yaml
  5. kubectl apply -f appsody-cluster-role-binding.yaml
  6. automate editing and apply of docker secrets, also have script prompt for docker credentials:
apiVersion: v1
kind: Secret
metadata:
  name: my-docker-secret
  annotations:
    tekton.dev/docker-0: https://index.docker.io/v1/ 
type: kubernetes.io/basic-auth
stringData:
  username: <your docker userid>
  password: <your docker password>
kubectl apply -f my-docker-secret.yaml
  1. kubectl edit serviceaccount appsody-sa
    add:
secrets:
- name: my-docker-secret
  1. kubectl apply -f appsody-build-task.yaml
  2. kubectl apply -f appsody-build-pipeline.yaml
  3. Write to appsody-pipeline-resources.yaml (prompt for docker id and github id):
params:
  - name: url
    value: index.docker.io/your-userid/my-appsody-image
    type: image
spec:
  params:
  - name: revision
    value: master
  - name: url
    value: https://github.com/your-userid/appsody-test-project
kubectl apply -f appsody-pipeline-resources.yaml
  1. kubectl apply -f appsody-pipeline-run.yaml

More guidance needed in the README for contributors

The README suggests creating directories under /ref/ that correspond to the category of document you are writing ....... if there isn't one that's suitable, create one.

@bschrammIBM - do you have a view on what categories should be created, based on your doc plan?

E.g.

  • installation
  • guides
  • ref

It might be better to start with a structure that writers can contribute to, rather than people creating their own without a good understanding of the overall doc content?

@alohr51 - I also think we need some guidance on front matter. All docs currently written are in the /ref/general directory and have the following front matter:

:page-layout: general-reference
:page-type: general
:page-title: Kabanero Collections
:linkattrs:

Presumably this front matter is used to organise the doc on the website? How would this front matter change based on the location of the doc under /ref please? Might be worth adding a few notes to the README.

specify namespace when creating the service account kabanero:appsody-sa

In the docs
https://github.com/kabanero-io/docs/blob/master/ref/general/kabanero-foundation-setup.adoc

The command

kubectl apply -f appsody-service-account.yaml

Should have the -n to be sure the sa is created in the correct namespace and not in the current context namespace which it can be default or myproject

In addition since the doc is using oc it should use oc instead of kubectl

I proposed the command should be

oc apply -f appsody-service-account.yaml -n kabanero

Ensure installation script is accurately documented

The installation script for Kabanero Foundation provided here: https://github.com/kabanero-io/kabanero-foundation/tree/master/scripts needs better documentation.

The following issues have been described:

  1. A key aspect missing in the kabanero foundation instructions is that the registry must be secured via SSL and knative-serving has to be aware (or made aware) of the signing cert for the registry. From @nastacio For whatever it is worth, if using MacOS (and possibly Ubuntu 18) , I wrote a script to automate all the steps I took and it completes successfully every time on minishift:
    https://gist.github.com/nastacio/df810a53066c34b9242e603ad5ba3b66

  2. See #32

  3. There are links to OKD documentation and the request is to provide examples or more specifics for what is needed. The links are:
    See more about Configuring Your Inventory File https://docs.okd.io/3.11/install/configuring_inventory_file.html
    See more about the Internal Registry
    https://docs.okd.io/3.11/install_config/registry/index.html

Tekton sample fails to deploy

I tried to install Tekton sample through scripts and it failed to deploy. Here is the message that I get.

Pipeline kabanero/appsody-build-pipeline can't be found:pipeline.tekton.dev "appsody-build-pipeline" not found

Screen Shot 2019-08-13 at 2 35 24 PM

Write a Guide for "Using the Eclipse MicroProfile Collection"

We need a Guide for how to work with the pre-packaged Eclipse MicroProfile collection. Eclipse MicroProfile is included in the MVP release. Here is a very rough outline for how to document the pre-packaged collections:

  • "A Kabanero Collection provides guides for developers, templates for simplicity and consistency of developing applications, a runtime in a certified base container image infused with expertise for Kubernetes deployments, and an integrated toolchain for developing with modern tools. Eclipse MicroProfile is a set of APIs used to optimize Java applications for a microservices architecture. With this stack, you can deliver microservices based upon the Eclipse MicroProfile specifications. Build and run high-quality applications with Open Liberty runtime, which includes OpenJDK with container-optimizations in OpenJ9."  (taken from the Kabanero.io website) 

  • Add more information for how Collections are used, what the prerequisites are for the Collection, how it can be customized, etc.

  • Components in the Eclipse MP Collection - Describe the functionality of the components. [OpenLiberty, Operators, Prometheus (Grafana?), Tekton]

  • How to use a Collection for coding standards and pipelines (Champ)

  • How to use a Collection for development (Jane)

  • How to set up serverless

  • Ideas for how to document collections?

Write a Guide for "Using the NodeJS Express Collection"

There are 3 opensource NodeJS Collections for MVP:

NodeJS
NodeJS Express
NodeJS LoopBack
These require a Guide, either one guide for all 3 or one guide per collection.

Updated 18th November:

  • This issue is for the Nodejs Express collection guide.
  • guide must be identical to the MicroProfile and Spring Boot guides already published, replacing the elements unique to this collection.

Document limitation with Tekton pipelines

When using a Tekton webhook to trigger pipelines installed with Kabanero, the last task is the monitor-result-task, which may fail in some cases.
This might also cause the webhook pod to be in the "Error" state. The following failures of monitor-result-task in the TaskRun view can be
disregarded at this time; they do not impact the application deployment:

  • error creating GitHub client: error parsing PR number: pulls
  • IOError: [Errno 2] No such file or directory: '/workspace/pull-request/pr.json'

Capture / agree tag names for the guides

@Charlotte-Holt and I were discussing which "tags" to use in the collections guides to keep things consistent. We thought it would be a good idea to create an issue so that this can be tracked. Having too many tags might be problematic (assuming they are used as a filter), so capturing them allows others to re-use the tags, where appropriate, rather than creating new ones.

Edit this description to add the tag names you have used, and re-use any that are appropriate:

  • collection
  • nodejs
  • express
  • Java
  • MicroProfile
  • Spring
  • Spring Boot
  • Tomcat
  • Appsody
  • CLI

Incorporate Logging and Monitoring for OpenShift information in a Guide

There are two source documents that need to be incorporated into a Guide.
https://github.com/fwji/openshift-logging - This applies to collections running on OpenLiberty.
https://github.com/fwji/openshift-monitoring applies to all collections running on OpenShift/OKD

The logging info could be part of the OpenLiberty Guide.
The monitoring applies to all collections.

Need to determine whether this warrants a separate "Configuring logging and monitoring" Guide.

Provide an outline for the guides for the Collections

A generic outline for what sort of topics need to be covered in the Guides for the Collections is needed to start the writing effort.

We now have Guides that are published on the stage site for kabanero.io. @ralanlittle please review and provide feedback to improve the content.

Document how to understand what collections are active for the Kabanero Instance.

When trying to diagnose a user issue, it was not apparent to the user how to validate what Kabanero repository and collections were used, and active for this Kabanero instance.

There are two ways: Via the Kanbanero landing page extension in the OKD console, and displaying the configured kabanero CR using the oc cli:

oc get kabanero -n kabanero -o yaml

The above example assumes the configured Kabanero instance is installed in the kabanero namespace.

Installation script instructions need embellishing

@davco01a commented on Mon Sep 23 2019

On this page, in the Installation section:

https://kabanero.io/docs/ref/general/installing-kabanero-foundation.html

I don't see any mention of copying and modifying:

https://github.com/kabanero-io/kabanero-operator/blob/master/config/samples/full.yaml

prior to running the install-kabanero-foundation.sh script


@mtamboli commented on Mon Sep 23 2019

Step 3 (which is added recently) of the following doc assumes that the updates are being made to full.yaml. None of the Kabanero install docs talk about how this file is used. https://github.com/kabanero-io/docs/blob/master/ref/general/collection-building.adoc


@bschrammIBM commented on Tue Sep 24 2019

I opened #103 to track this update in the /docs repo.


@alohr51 commented on Tue Sep 24 2019

@bschrammIBM is #103 a duplicate issue of this? We should try to not duplicate issues. You can move/transfer this issue to the docs repo if that was your goal (bottom right of this issue)


@kaczyns commented on Tue Sep 24 2019

This page:
https://kabanero.io/docs/ref/general/installing-kabanero-foundation.html
reads to me like a basic getting started / install page. I think that if we try to talk about modifying the default kabanero yaml here it will be confusing for the people that just want to get started. Maybe we could say at the end of the install script section something like:

"This will install Kabanero with default settings using the default collections (link to collections). If you would like to use a different set of collections, see here (link to doc about how to curate the collection)".

That seems like a compromise to me between keeping the page simple for new folks, but also reminding experienced users that they have some editing to do if they want to deploy an Nth Kabanero using collections that they've already curated.


@mtamboli commented on Tue Sep 24 2019

@kaczyns I agree with your comment above to keep the default install simple. But my understanding is that you still need to do some customization (full.yaml git updates for security) before installing Kabanero to be able to use Kabanero CLI later. Can that be done easily later if user wants to use Kabanero CLI?


@kaczyns commented on Tue Sep 24 2019

@mtamboli My understanding is that you can't use the CLI until you've cloned and curated the collections, because Champ will be unable to add himself as an admin to the kabanero-io hosted collections. I don't think there is a reason to customize the configuration (full.yaml) until Champ has curated the collections, and at that time the following things need to be updated:

  1. URL of the collection
  2. Github org that the admins for the collection are in
  3. Github team(s) that admin the colleciton
  4. API URL of the github where the org/teams are

It's pretty easy, the user can either edit the Kind: Kabanero that the install produced, on their cluster, or they can delete it and create a new one using the full.yaml as a model. Editing is as simple as oc edit kabanero kabanero (the default name) and then a text editor pops up and they change the url, etc. Or they could edit it in the OKD console.


@mtamboli commented on Tue Sep 24 2019

That helps! So it is matter of getting the documentation at the appropriate place. So collection curation and GitHub setup as part of that is a pre-req for Kabanero CLI? So Install doc can just provide links to those as you mentioned.


@davco01a commented on Thu Sep 26 2019

@mtamboli @kaczyns It may be simple to oc edit kabanero kabanero, but agree with Monica in lieu of clear, sequenced documentation on cloning the index.yaml, copy and modifying full.yaml, setting up git teams and members located in one central, relevant place, it will be a mystery to consumers who want to be able to actually use the functionality of the Kabanero CLI

Edit needed on https://kabanero.io/docs/#scripted-kabanero-foundation-setup.html

@mtamboli wants the following edit on this page:
For openshift_master_default_subdomain=my.openshift.master.default.subdomain ./install-kabanero-foundation.sh

surround my.openshift.master.default.subdomain in brackets to indicate it is a variable,
as follows:
openshift_master_default_subdomain=<my.openshift.master.default.subdomain> ./install-kabanero-foundation.sh

This will indicate that the user should enter the name of their subdomain, not the actual words. A line can be added that says "Replace <my.openshift.master.default.subdomain> with the name of your subdomain." to make it super-clear.

Updates for Eclipse MP Collection guide

Based on feedback from Emily Jiang, the following updates need to be made to https://kabanero.io/guides/collection-microprofile/.

  1. (Optional) If you have an enterprise-specific Kabanero Collection Hub, you need the URL to your index file.
    I have no idea what to do with the above sentence. What URL, which index file?

  2. Project Structure: link is broken (https://github.com/kabanero-io/guide-collection-microprofile/blob/master/img/guide/microprofile-project-layout.png)

  3. Under the section "Creating and updating the application"
    It sounds like you are teaching the user how to fix the error instead of guiding them to populate JAX-RS resources with their business logic. I think it is better to say something like:
    Now it is time to create your business logic. The first thing to do is to add a REST endpoint.

Kabanero install script is failing

Install script "install-kabanero-foundation.sh" need to be updated

  1. Please update Kabanero install script to reflect latest Kabanero release.
    KABANERO_BRANCH="${KABANERO_BRANCH:-0.1.0}

  2. Install script was failing with these errors:

the namespace from the provided object "knative-sources" does not match the namespace "kabanero". You must pass '--namespace=knative-sources' to perform this operation.
the namespace from the provided object "knative-sources" does not match the namespace "kabanero". You must pass '--namespace=knative-sources' to perform this operation.
the namespace from the provided object "knative-sources" does not match the namespace "kabanero". You must pass '--namespace=knative-sources' to perform this operation.
unable to recognize "https://github.com/kabanero-io/kabanero-operator/releases/download/0.1.0/kabanero-operators.yaml": no matches for kind "Config" in version "operator.tekton.dev/v1alpha1"

To workaround above issue, had to remove -n Kabanero from the following command:
oc apply -n kabanero-f https://github.com/kabanero-io/kabanero-operator/releases/download/0.1.0/kabanero-operators.yaml

oc get pods

NAME                                           READY     STATUS    RESTARTS   AGE
kabanero-operator-bf65d8b85-4rfr7              1/1       Running   0          2h
knative-eventing-operator-67cdf5dc9f-fntk6     1/1       Running   0          2h
knative-serving-operator-b64558bbc-blsnq       1/1       Running   0          2h
openshift-pipelines-operator-cfc786cc7-tnkvz   1/1       Running   0          2h
tekton-dashboard-66788444c8-8vh2r              1/1       Running   0          1h
webhooks-extension-d7b4745d6-9tlcx             1/1       Running   0          1h

example doesn't work out of the box imagePullPolicy set to Always

In the docs https://github.com/kabanero-io/docs/blob/master/ref/general/kabanero-foundation-setup.adoc#setting-up-the-example-appsody-pipeline
they refer to use the following example https://github.com/appsody/tekton-example.git

The knative service yaml specify imagePull
https://github.com/chilanti/appsody-test-build/blob/master/appsody-service.yaml#L11-L12

image: dev.local/appsody-build-test
imagePullPolicy: Never

Having any string for image is ok and using Never makes sense when working with loading the image locally not using a remote registry.

But the example is using tekton and pushing to a registry, having Never the image will never be downloaded and the Pod fails to run.

Maybe it would be good to have the example on the this docs repo.

I fix the problem by setting the imagePullPolicy to Always or not being presented should also work.

The version for the existing docs release (1.0.0) doesn't match Kabanero current release.

We are in the midst of trying to manually produce the 0.0.2 release of Kabanero until we have a formal release process defined. I don't think we want to define a 1.0.0 release because that implies a level that is GA. We likely need to actually delete the 1.0.0 release that is defined in this repository, and we should replace it with a 0.0.2 when we are ready to cut the release.

Add more details about the subdomain parameter using nip.io

Provide more details about using nip.io when working locally

For example for minishift you can tell user to use the ip address from the ocp console ui

oc console

Locally the browser will open for example https://192.168.64.4:8443/console
Use this value of the ip address 192.168.64 and append .nip.io this will be the value to use for subdomain

openshift_master_default_subdomain=192.168.64.4.nip.io ./install-kabanero-foundation.sh

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.