Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Service Catalog docs to meet style guidelines #7341

Merged
merged 3 commits into from
Feb 22, 2018

Conversation

chenopis
Copy link
Contributor

@chenopis chenopis commented Feb 9, 2018

This change is Reviewable

@chenopis chenopis requested a review from jesscodez February 9, 2018 22:47
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Feb 9, 2018
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 9, 2018
@k8sio-netlify-preview-bot
Copy link
Collaborator

k8sio-netlify-preview-bot commented Feb 9, 2018

Deploy preview for kubernetes-io-master-staging ready!

Built with commit 74056d4

https://deploy-preview-7341--kubernetes-io-master-staging.netlify.com

@@ -7,10 +7,10 @@ approvers:
{% capture overview %}
{% glossary_definition term_id="service-catalog" length="all" prepend="Service Catalog is" %}

A *Service Broker*, as defined by the [Open Service Broker API spec](https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md), is an endpoint for a set of Managed Services offered and maintained by a third-party, which could be a cloud provider such as AWS, GCP, or Azure.
Some examples of *Managed Services* are Microsoft Azure Cloud Queue, Amazon Simple Queue Service, and Google Cloud Pub/Sub, but they can be any software offering that can be used by an application.
A Service Broker, as defined by the [Open Service Broker API spec](https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md), is an endpoint for a set of Managed Services offered and maintained by a third-party, which could be a cloud provider such as AWS, GCP, or Azure.
Copy link
Contributor

@steveperry-53 steveperry-53 Feb 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a global comment. Here's just one example:

"It provides a way to list, provision, and bind with external managed services from service brokers."

No caps for "managed services". No caps for "service brokers". Unless those things are proper names, but I don't think they are.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

acknowledged


Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of {% glossary_tooltip text="Managed Services" term_id="managed-service" %} offered by a {% glossary_tooltip text="Service Brokers" term_id="service-broker" %}, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of Managed Services offered by a Service Broker, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like it would be easy enough to use lower case for tool tips.
text="cluster operator"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I'll lowercase the tooltips.

@@ -20,10 +20,10 @@ Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cl

An {% glossary_tooltip text="Application Developer" term_id="application-developer" %} wants to use message queuing as part of their application running in a Kubernetes cluster.
However, they do not want to deal with the overhead of setting such a service up and administering it themselves.
Fortunately, there is a cloud provider that offers message queuing as a *Managed Service* through their *Service Broker*.
Fortunately, there is a cloud provider that offers message queuing as a Managed Service through their Service Broker.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

through their -> through its

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of {% glossary_tooltip text="Managed Services" term_id="managed-service" %} offered by a {% glossary_tooltip text="Service Brokers" term_id="service-broker" %}, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of Managed Services offered by a Service Broker, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Copy link
Contributor

@steveperry-53 steveperry-53 Feb 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can save this for the style guide discussion. But I think that using "within" instead of "in" goes against our style guideline of using simple and direct language.

Same for "in order to" vs. "to".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

A {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can setup Service Catalog and use it to communicate with the cloud provider's {% glossary_tooltip text="Service Broker" term_id="service-broker" %} to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The {% glossary_tooltip text="Application Developer" term_id="application-developer" %} therefore does not need to concern themselves with the implementation details or management of the message queue.
A Cluster Operator can setup Service Catalog and use it to communicate with the cloud provider's Service Broker to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The Application Developer therefore does not need to concern themselves with the implementation details or management of the message queue.
Copy link
Contributor

@steveperry-53 steveperry-53 Feb 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we say, "does not need to be concerned with the implementation details", we can avoid the awkward use of "themselves" to refer to a single person.

Same for "Their application". We could just say, "The application".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

A {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can setup Service Catalog and use it to communicate with the cloud provider's {% glossary_tooltip text="Service Broker" term_id="service-broker" %} to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The {% glossary_tooltip text="Application Developer" term_id="application-developer" %} therefore does not need to concern themselves with the implementation details or management of the message queue.
A Cluster Operator can setup Service Catalog and use it to communicate with the cloud provider's Service Broker to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The Application Developer therefore does not need to concern themselves with the implementation details or management of the message queue.
Their application can simply use it as a service.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No cap for etcd.
https://coreos.com/etcd/

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

A {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can setup Service Catalog and use it to communicate with the cloud provider's {% glossary_tooltip text="Service Broker" term_id="service-broker" %} to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The {% glossary_tooltip text="Application Developer" term_id="application-developer" %} therefore does not need to concern themselves with the implementation details or management of the message queue.
A Cluster Operator can setup Service Catalog and use it to communicate with the cloud provider's Service Broker to provision an instance of the message queuing service and make it available to the application within the Kubernetes cluster.
The Application Developer therefore does not need to concern themselves with the implementation details or management of the message queue.
Their application can simply use it as a service.

## Architecture
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"It is implemented as an extension API server and a controller manager.

I think this should be "controller", not "controller manager".

https://github.com/kubernetes-incubator/service-catalog/blob/master/docs/design.md

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -62,7 +62,7 @@ Service Catalog supports these methods of authentication:

Copy link
Contributor

@steveperry-53 steveperry-53 Feb 9, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Similar to ClusterServiceClass, when a new ClusterServiceBroker is added to the cluster, the Service Catalog creates a new ClusterServicePlan resource corresponding to each Service Plan available for each Managed Service."

If we are using Service Catalog as a proper name (and I think we are), then "the Service Catalog" should be "Service Catalog".

"the Service Catalog controller will connect to the appropriate Service Broker and instruct it to provision the service instance."

will connect -> connects
instruct -> instructs

" who want their applications to make use of a Service ServiceInstance. Upon creation, the Service Catalog controller will create"

Is "Service ServiceInstance" correct? Or should it just be "ServiceInstance"?
will create -> creates

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done
yeah, "Service ServiceInstance" was a typo

@@ -95,7 +95,7 @@ The following is a sequence diagram illustrating the steps involved in listing M

1. Once the `ClusterServiceBroker` resource is added to Service Catalog, it triggers a *List Services* call to the external Service Broker.
Copy link
Contributor

@steveperry-53 steveperry-53 Feb 10, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No italics for List Services. Maybe no caps. Not sure what List Services is. Is it a method name: ListServices? If so, then use backticks.

Same for the Provision Instance and Bind Instance calls that come later.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was trying to avoid the name of the actual API call in the Open Service Broker API by using their terminology. I have rewritten the three to avoid this awkwardness.

@@ -95,7 +95,7 @@ The following is a sequence diagram illustrating the steps involved in listing M

1. Once the `ClusterServiceBroker` resource is added to Service Catalog, it triggers a *List Services* call to the external Service Broker.
1. The Service Broker returns a list of available Managed Services and Service Plans, which are cached locally in `ClusterServiceClass` and `ClusterServicePlan` resources.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's the list that is cached, correct? It's not the Services and ServicePlans that are cached.

So I think this should be "which is cached locally".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the lists are cached in the local ClusterServiceClass and ClusterServicePlan resources. How about "The service broker returns a list of available managed services and a list of Service Plans, which are cached locally as ClusterServiceClass and ClusterServicePlan resources respectively."


### Binding to a Managed Service

After a new instance has been provisioned, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} must bind to the Managed Service to get the connection credentials and service account details necessary for the application to use the service. This is done by creating a `ServiceBinding` resource.
After a new instance has been provisioned, a Cluster Operator must bind to the Managed Service to get the connection credentials and service account details necessary for the application to use the service. This is done by creating a `ServiceBinding` resource.

The following is an example of a `ServiceBinding` resource:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use sentence case for headings: Pod configuration file, not Pod Configuration File

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of {% glossary_tooltip text="Managed Services" term_id="managed-service" %} offered by a {% glossary_tooltip text="Service Brokers" term_id="service-broker" %}, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Using Service Catalog, a {% glossary_tooltip text="Cluster Operator" term_id="cluster-operator" %} can browse the list of Managed Services offered by a Service Broker, provision an instance of a Managed Service, and bind with it to make it available to an application within the Kubernetes cluster.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Cluster Operator tool tip and the Application Developer tool tip return 404s.

@steveperry-53
Copy link
Contributor

@chenopis Thanks for getting this going. I've finished my review.

@chenopis
Copy link
Contributor Author

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 12, 2018
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed approved Indicates a PR has been approved by an approver from all required OWNERS files. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Feb 20, 2018
@chenopis
Copy link
Contributor Author

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 20, 2018
@chenopis
Copy link
Contributor Author

@steveperry-53 I addressed all of your comments, PTAL.

@steveperry-53
Copy link
Contributor

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 22, 2018
@steveperry-53
Copy link
Contributor

@chenopis Would you like me to give the LGTM as well?

@chenopis
Copy link
Contributor Author

@steveperry-53 Yeah sure, that would be great. Thx!

@steveperry-53
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 22, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: steveperry-53

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 0f178d4 into master Feb 22, 2018
bsalamat pushed a commit to bsalamat/kubernetes.github.io that referenced this pull request Feb 23, 2018
* Update Service Catalog docs to meet style guidelines

* Address stevepe's comments

* Remove full-links to cluster operator and application developer in glossary
tehut pushed a commit to tehut/website that referenced this pull request Mar 8, 2018
* Update Service Catalog docs to meet style guidelines

* Address stevepe's comments

* Remove full-links to cluster operator and application developer in glossary
@chenopis chenopis deleted the chenopis-sc-patch branch March 13, 2018 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants