Skip to content

Commit 248c858

Browse files
author
lijianguo
committed
chore(docs): update docs
1 parent e737faf commit 248c858

20 files changed

Lines changed: 148 additions & 236 deletions

README.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
**Drycc Workflow** is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any [Kubernetes][k8s-home] cluster, making it easy to deploy and manage applications.
44

5-
To **get started** with **Drycc Workflow** please read the [Quick Start Guide](https://drycc.cc/docs/workflow/quickstart/).
5+
To **get started** with **Drycc Workflow** please read the [Quick Start Guide](https://drycc.cc/quickstart/).
66

7-
Visit [https://drycc.cc](https://drycc.cc) for more information on [why you should use Drycc Workflow](https://drycc.cc/why-drycc/) or [learn about its features](https://drycc.cc/how-it-works/).
7+
Visit [https://drycc.cc](https://drycc.cc) for more information on [why you should use Drycc Workflow](https://drycc.cc/understanding-workflow/concepts/) or [learn about its features](https://drycc.cc/understanding-workflow/architecture/).
88

99
This repository contains the source code for Drycc Workflow documentation. If you're looking for individual components, they live in their own repositories.
1010

@@ -13,9 +13,7 @@ Please see below for links and descriptions of each component:
1313
- [passport](https://github.com/drycc/passport) - Workflow single sign on system
1414
- [controller](https://github.com/drycc/controller) - Workflow API server
1515
- [builder](https://github.com/drycc/builder) - Git server and source-to-image component
16-
- [imagebuilder](https://github.com/drycc/imagebuilder) - The builder for [Docker](https://www.docker.com/) based applications
17-
- [slugbuilder](https://github.com/drycc/slugbuilder) - The builder for [slug/buildpack](https://devcenter.heroku.com/articles/slug-compiler) based applications
18-
- [slugrunner](https://github.com/drycc/slugrunner) - The runner for slug/buildpack based applications
16+
- [imagebuilder](https://github.com/drycc/imagebuilder) - The builder for [Docker](https://www.docker.com/) and [CNCF Buildpacks](https://buildpacks.io/) based applications
1917
- [fluentd](https://github.com/drycc/fluentd) - Backend log shipping mechanism for `drycc logs`
2018
- [postgres](https://github.com/drycc/postgres) - The central database
2119
- [registry](https://github.com/drycc/registry) - The Docker registry
@@ -31,14 +29,13 @@ We welcome your input! If you have feedback, please [submit an issue][issues]. I
3129

3230
# Working on Documentation
3331
[![Build Status](https://drone.drycc.cc/api/badges/drycc/workflow/status.svg)](https://drone.drycc.cc/drycc/workflow)
34-
[![Latest Docs](http://img.shields.io/badge/docs-latest-fc1e5e.svg)](http://docs-v2.readthedocs.org/en/latest/)
3532

3633
The Drycc project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.
3734

3835
* Fork this repository.
3936
* Make your changes.
4037
* [Submit a pull request][prs] (PR) to this repository with your changes, and unit tests whenever possible.
41-
* If your PR fixes any [issues][issues], make sure you write `Fixes #1234` in your PR description (where `#1234` is the number of the issue you're closing).
38+
* If your PR fixes any [issues][issues], make sure you write `Fixes #1234` in your PR description (where `#1234` is the number of the issue you're closing).
4239
* The Drycc core contributors will review your code. After each of them sign off on your code, they'll label your PR with `LGTM1` and `LGTM2` (respectively). Once that happens, a contributor will merge it.
4340

4441
## Requirements

mkdocs.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ nav:
4848
- Platform Monitoring: managing-workflow/platform-monitoring.md
4949
- Production Deployments: managing-workflow/production-deployments.md
5050
- Upgrading Workflow: managing-workflow/upgrading-workflow.md
51-
- Extending Workflow: managing-workflow/extending-workflow.md
5251
- Troubleshooting:
5352
- Troubleshooting Workflow: troubleshooting/index.md
5453
- Troubleshooting using Kubectl: troubleshooting/kubectl.md

src/applications/deploying-apps.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ using the URL supplied by their Drycc administrator.
2323

2424
```
2525
$ drycc login http://drycc.example.com
26-
username: drycc
27-
password:
28-
Logged in as drycc
26+
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
27+
Waiting for login... .o.Logged in as admin
28+
Configuration file written to /root/.drycc/client.json
2929
```
3030

3131
## Select a Build Process
@@ -34,7 +34,7 @@ Drycc Workflow supports three different ways of building applications:
3434

3535
### Buildpacks
3636

37-
Heroku buildpacks are useful if you want to follow Heroku's best practices for building applications or if you are porting an application from Heroku.
37+
Cloud Native Buildpacks are useful if you want to follow [cnb's docs](https://buildpacks.io/docs/) for building applications.
3838

3939
Learn how to deploy applications [using Buildpacks](../applications/using-buildpacks.md).
4040

@@ -60,9 +60,9 @@ It is possible to configure a few of the [globally tunable](../applications/mana
6060

6161
Setting | Description
6262
----------------------------------------------- | ---------------------------------
63-
DRYCC_DISABLE_CACHE | if set, this will disable the [slugbuilder cache][] (default: not set)
64-
DRYCC_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: number of available nodes)
65-
DRYCC_DEPLOY_TIMEOUT | deploy timeout in seconds per deploy batch (default: 120)
63+
DRYCC_DISABLE_CACHE | if set, this will disable the [slugbuilder cache][] (default: not set)
64+
DRYCC_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: number of available nodes)
65+
DRYCC_DEPLOY_TIMEOUT | deploy timeout in seconds per deploy batch (default: 120)
6666
IMAGE_PULL_POLICY | the kubernetes [image pull policy][pull-policy] for application images (default: "IfNotPresent") (allowed values: "Always", "IfNotPresent")
6767
KUBERNETES_DEPLOYMENTS_REVISION_HISTORY_LIMIT | how many [revisions][kubernetes-deployment-revision] Kubernetes keeps around of a given Deployment (default: all revisions)
6868
KUBERNETES_POD_TERMINATION_GRACE_PERIOD_SECONDS | how many seconds kubernetes waits for a pod to finish work after a SIGTERM before sending SIGKILL (default: 30)

src/applications/managing-app-configuration.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,10 @@ the application to an external PostgreSQL database.
5353
Detachments can be performed with `drycc config:unset`.
5454

5555

56-
## Slugbuilder Cache
56+
## Buildpacks Cache
5757

58-
By default, apps using the [Slugbuilder][] will have caching turned on. This means that Drycc will
59-
persist all data being written to `CACHE_DIR` inside the buildpack will be persisted between
60-
deploys. When deploying applications that depend on third-party libraries that have to be fetched,
58+
By default, apps using the [Imagebuilder][] will reuse the latest image data.
59+
When deploying applications that depend on third-party libraries that have to be fetched,
6160
this could speed up deployments a lot. In order to make use of this, the buildpack must implement
6261
the cache by writing to the cache directory. Most buildpacks already implement this, but when using
6362
custom buildpacks, it might need to be changed to make full use of the cache.
Lines changed: 59 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Using Buildpacks
22

3-
Drycc supports deploying applications via [Heroku Buildpacks][]. Buildpacks are useful if you're interested in following Heroku's best practices for building applications or if you are deploying an application that already runs on Heroku.
3+
Drycc supports deploying applications via [Cloud Native Buildpacks](https://buildpacks.io/). Cloud Native Buildpacks are useful if you want to follow [cnb's docs](https://buildpacks.io/docs/) for building applications.
44

55
## Add SSH Key
66

@@ -44,18 +44,43 @@ Use `git push drycc master` to deploy your application.
4444
Compressing objects: 100% (48/48), done.
4545
Writing objects: 100% (75/75), 18.28 KiB | 0 bytes/s, done.
4646
Total 75 (delta 30), reused 58 (delta 22)
47+
remote: --->
4748
Starting build... but first, coffee!
48-
-----> Go app detected
49-
-----> Checking Godeps/Godeps.json file.
50-
-----> Installing go1.4.2... done
51-
-----> Running: godep go install -tags heroku ./...
52-
-----> Discovering process types
53-
Procfile declares types -> web
54-
-----> Compiled slug size is 1.7M
49+
---> Waiting podman running.
50+
---> Process podman started.
51+
---> Waiting caddy running.
52+
---> Process caddy started.
53+
---> Building pack
54+
---> Using builder docker.io/drycc/buildpacks:20
55+
Builder 'docker.io/drycc/buildpacks:20' is trusted
56+
Pulling image 'index.docker.io/drycc/buildpacks:20'
57+
Resolving "drycc/buildpacks" using unqualified-search registries (/etc/containers/registries.conf)
58+
Trying to pull docker.io/drycc/buildpacks:20...
59+
Getting image source signatures
60+
...
61+
---> Skip generate base layer
62+
---> Python Buildpack
63+
---> Downloading and extracting Python 3.10.0
64+
---> Installing requirements with pip
65+
Collecting Django==3.2.8
66+
Downloading Django-3.2.8-py3-none-any.whl (7.9 MB)
67+
Collecting gunicorn==20.1.0
68+
Downloading gunicorn-20.1.0-py3-none-any.whl (79 kB)
69+
Collecting sqlparse>=0.2.2
70+
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
71+
Collecting pytz
72+
Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
73+
Collecting asgiref<4,>=3.3.2
74+
Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
75+
Requirement already satisfied: setuptools>=3.0 in /layers/drycc_python/python/lib/python3.10/site-packages (from gunicorn==20.1.0->-r requirements.txt (line 2)) (57.5.0)
76+
Installing collected packages: sqlparse, pytz, asgiref, gunicorn, Django
77+
Successfully installed Django-3.2.8 asgiref-3.4.1 gunicorn-20.1.0 pytz-2021.3 sqlparse-0.4.2
78+
---> Generate Launcher
79+
...
5580
Build complete.
56-
Launching app.
57-
Launching...
58-
Done, skiing-keypunch:v2 deployed to Drycc
81+
Launching App...
82+
...
83+
Done, skiing-keypunch:v2 deployed to Workflow
5984

6085
Use 'drycc open' to view this application in your browser
6186

@@ -68,7 +93,7 @@ Use `git push drycc master` to deploy your application.
6893
Powered by Drycc
6994
Release v2 on skiing-keypunch-v2-web-02zb9
7095

71-
Because a Heroku-style application is detected, the `web` process type is automatically scaled to 1 on first deploy.
96+
Because a Buildpacks-style application is detected, the `web` process type is automatically scaled to 1 on first deploy.
7297

7398
Use `drycc scale web=3` to increase `web` processes to 3, for example. Scaling a
7499
process type directly changes the number of [pods] running that process.
@@ -78,18 +103,13 @@ process type directly changes the number of [pods] running that process.
78103

79104
For convenience, a number of buildpacks come bundled with Drycc:
80105

81-
* [Ruby Buildpack][]
82-
* [Nodejs Buildpack][]
106+
* [Go Buildpack][]
83107
* [Java Buildpack][]
84-
* [Gradle Buildpack][]
85-
* [Grails Buildpack][]
86-
* [Play Buildpack][]
87-
* [Python Buildpack][]
108+
* [Nodejs Buildpack][]
88109
* [PHP Buildpack][]
89-
* [Clojure Buildpack][]
90-
* [Scala Buildpack][]
91-
* [Go Buildpack][]
92-
* [Multi Buildpack][]
110+
* [Python Buildpack][]
111+
* [Ruby Buildpack][]
112+
* [Rust Buildpack][]
93113

94114
Drycc will cycle through the `bin/detect` script of each buildpack to match the code you
95115
are pushing.
@@ -101,32 +121,14 @@ are pushing.
101121

102122
## Using a Custom Buildpack
103123

104-
To use a custom buildpack, you need create a `.buildpack` file in your root path app.
124+
To use a custom buildpack, you need create a `.pack_builder` file in your root path app.
105125

106-
$ tee > .buildpack << EOF
107-
> https://github.com/dpiddy/heroku-buildpack-ruby-minimal
126+
$ tee > .pack_builder << EOF
127+
> docker.io/drycc/buildpacks:20
108128
> EOF
109129

110-
!!! note
111-
If, however, you're unable to deploy using the latest version of the buildpack, You can set an exact version of a buildpack by using a git revision in your `.buildpack`. For example: `https://github.com/dpiddy/heroku-buildpack-ruby-minimal#v13`
112-
113130
On your next `git push`, the custom buildpack will be used.
114131

115-
116-
## Compile Hooks
117-
118-
Sometimes, an application needs a way to stop or check if a service is running before building an
119-
app, which may require notifying a service that the [Builder][] has finished compiling the app. In
120-
order to do this, an app can provide two files in their `bin/` directory:
121-
122-
```
123-
bin/pre-compile
124-
bin/post-compile
125-
```
126-
127-
The builder will run these commands before and after the build process, respectively.
128-
129-
130132
## Using Private Repositories
131133

132134
To pull code from private repositories, set the `SSH_KEY` environment variable to a private key
@@ -139,39 +141,34 @@ which has access. Use either the path of a private key file or the raw key mater
139141

140142
For example, to use a custom buildpack hosted at a private GitHub URL, ensure that an SSH public
141143
key exists in your [GitHub settings][]. Then set `SSH_KEY` to the corresponding SSH private key
142-
and set `.buildpack` to the URL:
144+
and set `.pack_builder` to the builder image:
143145

144-
$ tee > .buildpack << EOF
145-
> https://github.com/dpiddy/heroku-buildpack-ruby-minimal
146+
$ tee > .pack_builder << EOF
147+
> docker.io/drycc/buildpacks:20
146148
> EOF
147149
$ git add .buildpack
148-
$ git commit -m "chore(buildpack): modify the buildpack url"
150+
$ git commit -m "chore(buildpack): modify the pack_builder"
149151
$ git push drycc master
150152

151153
## Builder selector
152154

153155
Which way to build a project conforms to the following principles:
154156

155157
- If Dockerfile exists in the project, the stack uses `container`
156-
- If Procfile exists in the project, the stack uses `heroku-18`
158+
- If Procfile exists in the project, the stack uses `buildpack`
157159
- If both exist, `container` is used by default
158-
- You can also set the `DRYCC_STACK` to determine which stack to use.
160+
- You can also set the `DRYCC_STACK` to `container` or `buildpack` determine which stack to use.
159161

160162

161163
[pods]: http://kubernetes.io/v1.1/docs/user-guide/pods.html
162164
[controller]: ../understanding-workflow/components.md#controller
163165
[builder]: ../understanding-workflow/components.md#builder
164-
[Ruby Buildpack]: https://github.com/heroku/heroku-buildpack-ruby
165-
[Nodejs Buildpack]: https://github.com/heroku/heroku-buildpack-nodejs
166-
[Java Buildpack]: https://github.com/heroku/heroku-buildpack-java
167-
[Gradle Buildpack]: https://github.com/heroku/heroku-buildpack-gradle
168-
[Grails Buildpack]: https://github.com/heroku/heroku-buildpack-grails
169-
[Play Buildpack]: https://github.com/heroku/heroku-buildpack-play
170-
[Python Buildpack]: https://github.com/heroku/heroku-buildpack-python
171-
[PHP Buildpack]: https://github.com/heroku/heroku-buildpack-php
172-
[Clojure Buildpack]: https://github.com/heroku/heroku-buildpack-clojure
173-
[Scala Buildpack]: https://github.com/heroku/heroku-buildpack-scala
174-
[Go Buildpack]: https://github.com/kr/heroku-buildpack-go
175-
[Multi Buildpack]: https://github.com/heroku/heroku-buildpack-multi
176-
[Heroku Buildpacks]: https://devcenter.heroku.com/articles/buildpacks
166+
[Go Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/go
167+
[Java Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/java
168+
[Nodejs Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/nodejs
169+
[PHP Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/php
170+
[Python Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/python
171+
[Ruby Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/ruby
172+
[Rust Buildpack]: https://github.com/drycc/pack-images/tree/main/buildpacks/rust
173+
[Cloud Native Buildpacks]: https://buildpacks.io/
177174
[GitHub settings]: https://github.com/settings/ssh

src/installing-workflow/configuring-object-storage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Operators should configure object storage by editing the Helm values file before
4444
All values will be automatically (base64) encoded _except_ the `key_json` values under `gcs`/`gcr`. These must be base64-encoded. This is to support cleanly passing said encoded text via `helm --set` cli functionality rather than attempting to pass the raw JSON data. For example:
4545

4646
$ helm install workflow --namespace drycc \
47-
--set global.platform_domain=youdomain.com
47+
--set global.platform_domain=youdomain.com
4848
--set global.storage=gcs,gcs.key_json="$(cat /path/to/gcs_creds.json | base64 -w 0)"
4949

5050
You are now ready to run `helm install drycc/workflow --namespace drycc -f values.yaml` using your desired object storage.

src/installing-workflow/configuring-postgres.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Configuring Postgres
22

3-
Drycc Workflow's controller component relies on a PostgreSQL database to store platform state.
3+
Drycc Workflow's controller and passport component rely on a PostgreSQL database to store platform state.
44

55
By default, Drycc Workflow ships with the [database] component, which provides an in-cluster PostgreSQL database backed up to in-cluster or off-cluster [object storage]. Currently, for object storage, which is utilized by _several_ Workflow components, only off-cluster solutions such as S3 or GCS are recommended in production environments. Experience has shown that many operators already opting for off-cluster object storage similarly prefer to host Postgres off-cluster as well, using Amazon RDS or similar. When excercising both options, a Workflow installation becomes entirely stateless, and is thus restored or rebuilt with greater ease should the need ever arise.
66

src/installing-workflow/index.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,8 @@ If you want to change it, set the variable when using helm.
7474
```
7575
$ helm install --namespace drycc \
7676
--set builder.image_registry=quay.io \
77-
--set slugbuilder.image_registry=quay.io \
7877
--set imagebuilder.image_registry=quay.io \
7978
--set controller.image_registry=quay.io \
80-
--set slugrunner.image_registry=quay.io \
8179
--set database.image_registry=quay.io \
8280
--set fluentd.image_registry=quay.io \
8381
--set redis.image_registry=quay.io \
@@ -163,5 +161,5 @@ Once all of the pods are in the `READY` state, and `drycc-builder.$host` resolve
163161

164162
After installing Workflow, [register a user and deploy an application](../quickstart/deploy-an-app.md).
165163

166-
If your k8s does not provide public network loadblance, you need to install TCP proxy services such as haproxy on machines that can
167-
access both internal and external networks, and then expose `80` and `443`.
164+
If your k8s does not provide public network loadblance, you need to install TCP proxy services such as haproxy on machines that can
165+
access both internal and external networks, and then expose `80` and `443`.

0 commit comments

Comments
 (0)