Commit Graph

56 Commits

Author SHA1 Message Date
Mustafa Demirhan 3701b6192e Added information on how to open logs for a config, revision and build to telemetry documentation. (#943) 2018-05-30 14:20:10 -07:00
Christie Wilson 07c926d956 Update condition `type` in spec and do not assert against `reason` (#903)
* Some spec docs were using `RolloutComplete` for the condition type,
  however as errors.md documents and as discussed in #351, the type
  should actually be `Ready`
* The conformance tests were asserting against the condition `Reason`
  but as per #351 and errors.md, values in this field are for the
  user to consume and should be transpart to client applications.
* errors.md didn't make the latter as clear as mattmoor@'s comment
  in #351 so I copied some of his comment into the doc

Also reorganized some of errors.md to make it easier to identify,
by field, what requirements are.
2018-05-29 17:40:10 -07:00
Mustafa Demirhan f790e93b20 Remove Prometheus Operator dependency (#960)
* Remove the usage of prometheus operator and manage prometheus instances ourselves. This is needed because prometheus operator doesn't work with kubernetes 1.10 yet and we need that support. We are not making use of prometheus operator capabilities yet, so there is no functionality lost.

* Add OWNERS files to monitoring related folders.
2018-05-24 17:31:08 -07:00
jonjohnsonjr 29655efa09 Update spec for AllTrafficAssigned conditions (#840)
Instead of setting the name of a missing Revision to "Not found" in
`status.traffic`, just omit the revision entirely, since the error is already
communicated via the conditions' reasons.

Also s/TrafficDropped/AllTrafficAssigned/ to fix outdated docs.
2018-05-23 22:12:08 -07:00
Matt Moore 2f6b12db5e Add `ko` to our DEVELOPMENT documentation. (#909) 2018-05-18 07:54:05 -07:00
Brenda Chan f529c4b373 Generates logURL for revision (#831)
* Generates logURL for revision
- Uses 'logging.revision-url-template' in ela config to generate
revision URL for a specific revision.
https://github.com/elafros/elafros/issues/649
2018-05-11 10:09:48 -07:00
jonjohnsonjr afada8dae6 Clarify "happy state" condition types (#869)
It wasn't completely clear that "this" and "object name" refer to the
condition Type.
2018-05-10 11:07:24 -07:00
Matt Moore 60c27893f4 Complete the vendoring of elafros/build. (#830)
This completes the process from #829 and removes the WORKSPACE dependency on elafros/build. We now rely on a copy of the release.yaml that was published from elafros/build's nightly release.

This also updates the revision of Build that we depend on to reflect the release.yaml we are pulling in.

Fixes: #270
2018-05-08 14:04:24 -07:00
Evan Anderson 1ec350998b Service docs (#685)
* Initial checkin of Service docs (aka "Steve")

* Partial checkpoint on updating spec

* Add service to images

Adds Service to images

* Update the rest of examples

* Reorder errors to group logically into deployment and routing errors.

Introduce Service error documentation, and structure error blocks to show how Service aggregates errors from Route and Configuration.

* Address small comments from @vaikas-google and @mattmoor. Did not refactor service.pinned behavior.
2018-05-07 10:59:23 -07:00
Thomas Risberg c97e773daf Minikube doc updates (#802)
* Remove SecurityContextDeny from minikube instructions

Fixes #507

* Updated docs to work with minikube v0.26.0 and later

Fixes #801

- use explicit bootstrapper arg and

- also added a macOS specific startup command for easier cut-and-paste.

* Fix typo

* Switch to use `hyperkit` vm-driver instead of `xhyve` on macOS
2018-05-07 10:33:24 -07:00
Joseph Burnett 9f3d18b16f Single concurrency mode (#749)
* Implement Revision `concurrencyModel`, defaulting to `Multi`.
  * When concurrency model is `Single`, enforces one request at time in each pod.
  * Create separate target concurrency parameters for `Multi` and `Single` modes.
2018-05-03 11:16:32 -07:00
Christie Wilson 1b84d09106 Add docs re. keeping spec/implementation/conformance tests in sync (#781)
Created a README in docs/spec to list the docs in the dir and
indicate that changes to these docs should be kept in syn with
both the implementation and teh conformance tests. Folks who
are changing the API should also be responsible for updating
the docs and making sure their changes are covered by the
conformance tests.

In #780 we will look at checking this in PRs so we don't have to hope
folks will see the docs.

Fixes #592.
2018-05-03 10:32:20 +02:00
Mustafa Demirhan 501e8cca82 Autoscaler metrics and performance investigation guide (#789)
Fixes #578 and #493
* Added a document titled "Investigating Performance Issues" - this document will guide users through debugging application performance issues and will show how they can use the observability features offered by Elafros to identify such issues.
* Added metrics and a dashboard for autoscaler component and documented how it is used in the guide above.
2018-05-01 15:01:55 -07:00
Evan Anderson 9cf3c0879c Make all Conditions positive terminating conditions (#733)
* Update error documentation to address #351

* Update Condition usage to match spec described in #351

* Change "deploying" state to Ready=Unknown rather than Ready=False. Also re-add the "IsFailed" condition, keying off of non-Ready conditions on the revision.

* Address review comments by @sixolet and @mattmoor

* Updated per @sixolet and @mattmoor discussions.

* Update semantics on Ready, which should catch my true/false screwup on BuildSucceeded=False

* Fix added test that was failing in merge.

* Rerun update-codegen.sh

* Also need to update conformance test
2018-04-27 16:53:20 -07:00
akyyy 940b26614e Update Gke version (#702)
* update gke version in e2e test

* update gke version
2018-04-20 15:28:09 -07:00
Mustafa Demirhan 5a38964bd0 Add HTTP request dashboard for revisions (#696)
* Add revision and configuration specific request metrics.
* Add revision request dashboard.
* Update documentation with dashboard information.
2018-04-20 12:04:28 -07:00
Matt Moore c885768008 Update the API spec and overview to reflect ServingState intent. (#657)
* Update the API spec and overview to reflect ServingState intent.

I've reworded the description of a Revision in the overview docs to capture some of the key lifecycle stages a revision may be in.  I also found the existing wording confusing, since it talked about "history", which is more a property of configuration that is enabled by retirement, and I think the new wording better captures this.

I've updated the specification to include `servingState`, clarify where fields aren't available (pointing to issues), and tweak assorted cosmetic things (e.g. trailing whitespace).

Fixes: https://github.com/elafros/elafros/issues/644

* Clarify that blocking Revision creation is NYI (link to issue).

* Various code review updated from @evankanderson and @grantr.
2018-04-19 15:11:17 -07:00
Christie Wilson c366b41f51 Rename BUILD to BUILD.bazel (#658)
All other BUILD files in the repo are named BUILD.bazel.
2018-04-13 18:19:33 -07:00
Evan Anderson 3d8bd8d7b7 Update personas to include text description of each persona (#516)
* Update personas to include text description of each persona, including notes from @mchmarny slides. Also fix formatting.

* Fix bullet point.

* Move build/event personas to appropriate repos.
2018-04-11 21:04:25 -07:00
Mustafa Demirhan 60d272b823 Add documentation for accessing build logs. (#623)
* Add documentation for accessing build logs.
2018-04-11 09:47:44 -07:00
Mark Chmarny a1a3b8f2bd Renamed Elafros Easy to install 2018-04-10 17:16:44 -07:00
Mark Chmarny c9d7a6a165 Merged project role, governance model 2018-04-10 17:03:47 -07:00
Christie Wilson a793d443e0 Fix links (#605)
Extra `-` in each link. Might have been from my original suggestion 😅
2018-04-10 13:08:24 -07:00
yanweiguo 69be45331a Adds application debugging guide for developer (#603)
Add step by step instructions for developers to debug their apps on Elafro.
2018-04-09 14:33:28 -07:00
Mark Chmarny 1a2296c406 Rewarded the upgrade user guide point 2018-04-09 12:50:14 -07:00
Mark Chmarny 6dd337d36a Completed Service CRD and moved billing to after 2018-04-09 12:42:49 -07:00
Mustafa Demirhan ecd85f38eb 2018 roadmap for Monitoring and Logging (#521)
Proposed 2018 roadmap for monitoring and logging.
2018-04-05 10:54:53 -07:00
Evan Anderson 3f7575aa84 Correct spec to document that `elafros.dev/configurationGeneration` is an annotation. Thanks to @johnugeorge for the catch on #458 (#580) 2018-04-04 09:38:29 -07:00
Mark Chmarny bcb01e1e50 Elafros Checklist (#575)
* Exact smae file

* Added proposed list of items reqwuired to open the repo

* Addeded Steve/Service description

* Change must be lang to we would like to

* Updated checklist based on PR comments
2018-04-03 12:34:13 -07:00
Grant Rodgers be7700bb17 Update the minikube k8s version to 1.9.4 (#485)
Latest version as of minikube v0.25.2.
2018-03-30 11:21:20 -07:00
Evan Anderson 4ee69f36ed Commit API spec and design doc (#444)
Initial copy/commit of Elafros API design doc, chunked into sections. Also includes initial definitions of Elafros personas.

Still TODO:
- Appendices A-E, which cover extended use cases.
2018-03-27 15:14:54 -07:00
Grant Rodgers 31c72e9a24 Enable certificate controller on Minikube (#506)
The certificate controller is required to configure the istio sidecar
injector webhook, but Minikube doesn't give it the paths to the CA certs
by default, so it can't start.

These paths are local to the VM, not the host machine, so they are the
same for all users.
2018-03-27 09:27:13 -07:00
yanweiguo 7597b85cb3 Adds instructions link for exporting JSON definitions from Grafana UI (#464)
This helps readers easily get the instructions for exporting JSON definitions from Grafana UI.
2018-03-22 13:41:46 -07:00
Mark Chmarny 9abdd31e94 Added Elafros API/Code overview docs (#435) (#436)
Still few things to do but merging this to allow more people to contribute on smaller pieces 

* Added issue and PR templates (#371)

* Moved PR and Issue templates to .github

* Convered Elafros overview proso to markdown

* Created overview index file and cleaned up list indents

* Object model image to the bottom

* Updated size

* Gave up, md image sizing sucks, went to HTML

* Updated headline to conform

* Updated title casing "O"

* Removed, not enough content to make it meaningful

* Removed Main Content link, file removed

There was no enough content to make this doc meaningful.

* Adde todo

* Update elafros-api-objects.md
2018-03-21 14:23:48 -07:00
Nghia Tran a93e410f58 Remove unnecessary step from GKE cluster setup. (#428) 2018-03-20 08:49:06 -07:00
Grant Rodgers 90cc9d760f Update to latest GKE version (#410) 2018-03-19 09:15:59 -07:00
Mustafa Demirhan da5b5cc6b4 Add distributed tracing via Zipkin. (#354)
Add distributed tracing via Zipkin
2018-03-15 11:00:08 -07:00
Mustafa Demirhan 8428456d3a Add Elasticsearch, Kibana and fluentd to collect, store and view logs. (#327)
* Add Elasticsearch, Kibana and fluentd to collect, store and view logs.
2018-03-12 16:03:45 -07:00
Grant Rodgers b7db54372f Some notes on GKE and registry docs (#296)
* Add note about GCP costing money unless trial

* Add placeholder for local registry instructions
2018-03-12 12:35:46 -07:00
Joseph Burnett b29f18ff87 Increase default node cpu size from 1 to 4. (#335)
Use 4 CPU nodes in setup instructions

The conformance tests have been failing and in @josephburnett 's investigation he found that it was the autoscaler changes made the tests CPU starved, and so we need beefier machines to be able to run the tests (i.e. to run elafros).

Follow up work still todo: documenting minimum system requirements.
2018-03-09 16:53:48 -08:00
Adriano Cunha a96937236f Minor documentation fixes. (#328)
* kvm is deprecated, use kvm2 in the setup docs.

* Fix alias expansion in GOPATH example.
2018-03-08 14:35:46 -08:00
Nghia Tran c2f1e9789c More documentations regarding K8S_USER_OVERRIDE. (#310)
More documentations regarding K8S_USER_OVERRIDE.
2018-03-07 15:03:18 -08:00
Adriano Cunha b2bdb9d0d1 Assorted fixes in documentation and conformance tests. (#302)
* Remove extra _ in markdown file.

* Fix flag for running conformance tests with bazel.

* Fix conformance tests.

Commit #300 updated Route.Spec.Traffic.{Revision,Configuration} to end with Name.
2018-03-07 10:15:35 -08:00
Nghia Tran 5016471aae Add the Istio cluster-role-binding to :everything. (#295)
Add the Istio cluster-role-binding to :everything.
2018-03-06 13:57:38 -08:00
Joseph Burnett 0c4f86b875 Replace deprecated service-management with services (#231) 2018-02-26 09:19:13 -08:00
Mustafa Demirhan ee75e09c4a Move Prometheus and Grafana to monitoring namespace (#223)
* Move Prometheus and Grafana to monitoring namespace
* Minor documentation changes.
2018-02-23 17:13:26 -08:00
Mustafa 7a4612c658 Changes to telemetry documentation and minor changes in the installation (#222)
* Added port-forwarding information to telemetry documentation to prevent exposing Prometheus and Grafana publicly.
* Removed public IP option for Prometheus UI (this is mainly used for debugging and can be done using port forwarding)
* Changed the order of installation of Prometheus in the build file. Previous ordering was causing an error on a brand new cluster and required retrying the step to succeed. I still need to root cause the issue but checking this in as a mitigation/workaround for the time being.
2018-02-23 11:15:48 -08:00
Grant Rodgers 5c86f19dc7 Clarify controller-created resource namespace (#215) 2018-02-23 10:17:38 -08:00
Mustafa 03a39de04d Add sample Elafros metrics & dashboard (#209)
* Add sample Elafros metrics & dashboard
* Update documentation on metrics generation.
* Split the single Grafana dashboard definitions file into smaller ones.
2018-02-22 16:56:40 -08:00
Brenda Chan e7f4c9d5d8 Adds documentation for Elafros resources (#201)
* Adds documentation for Elafros resources

* Documents how to view just Elafros resources (#49)
* Documents how to view running pods and CRDs post-install

* Updates resources-overview documentation with recommended edits (#201)
2018-02-22 16:25:34 -08:00