Skip to content

Commit 636e1ca

Browse files
committed
docs: update readme to add user oriented documentation
1 parent 8f53ce8 commit 636e1ca

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

README.md

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,55 @@
11
# renku-frontend-buildpacks
22

3-
This project provides a set of buildpacks and builders for deploying Renku frontend applications. It
4-
includes buildpacks for various frontend frameworks and a builder that orchestrates the build
5-
process.
3+
This project provides a comprehensive set of Cloud Native Buildpacks and a specialized `selector`
4+
builder designed to streamline the deployment of Renku frontend applications and development
5+
environments. Whether you're setting up JupyterLab, RStudio, or VSCode (via Vscodium) in your Renku
6+
project, these buildpacks simplify the process by intelligently detecting your project's needs and
7+
configuring the appropriate environment.
8+
9+
The `selector` builder acts as an orchestrator, integrating various frontend frameworks and
10+
essential tools (like Python dependency management and kernel installers) to create ready-to-use
11+
images. This allows Renku users to focus on their data science work without deep knowledge of
12+
underlying containerization.
13+
14+
For automated image building within your CI/CD pipelines, you can leverage the provided GitHub
15+
Action [actions/build-image](actions/build-image/README.md). This action simplifies the `pack build`
16+
process, allowing you to easily specify the desired `frontend`, `tags`, `builder-version`, and
17+
`run-image` directly in your workflows.
18+
19+
To get started with manual builds, you'll primarily interact with the
20+
[`pack` CLI](https://buildpacks.io/docs/for-platform-operators/how-to/integrate-ci/pack/), using the
21+
`selector` builder to build your project. For example:
22+
23+
```bash
24+
pack build my-renku-environment --builder ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/selector:0.1.0 --path .
25+
```
26+
27+
This command will leverage the `selector` builder (using version `0.1.0` as an example) to
28+
automatically detect and configure your Renku environment based on your project's files, and in this
29+
example, push the resulting image to `my-renku-environment`.
630

731
## Directory Structure
832

933
* **builders**: Contains builder definitions. A builder defines the environment and buildpacks
10-
used to build an application. For now we only maintain the selector builder.
34+
used to build an application. For now we only maintain the selector builder.
1135
* **buildpacks**: Contains individual buildpacks for different frontend frameworks. Each buildpack
12-
provides the necessary scripts and configurations to detect and build applications.
13-
* **jupyterlab**: Buildpack for JupyterLab frontend.
14-
* **kernel-installer**: Buildpack for installing the correct kernel for the environment.
36+
provides the necessary scripts and configurations to detect and build applications.
37+
* **jupyterlab**: Buildpack for JupyterLab frontend.
38+
* **kernel-installer**: Buildpack for installing the correct kernel for the environment.
1539
* **samples**: Contains sample applications for different frontend frameworks. These samples can
16-
be used to test the buildpacks and builders.
40+
be used to test the buildpacks and builders.
1741

1842
## Makefile Targets
1943

2044
The `Makefile` provides several targets for building and running the project:
2145

2246
* **all**: Builds buildpacks, builders, and sample images.
2347
* **buildpacks**: Builds all buildpacks defined in the `buildpacks` directory using `pack
24-
buildpack package`.
48+
buildpack package`.
2549
* **builders**: Builds all builders defined in the `builders` directory using `pack builder
26-
create`.
50+
create`.
2751
* **samples**: Builds sample images using the buildpacks and builders. It utilizes the
28-
`pack build` command with the specified builder image and environment variables.
52+
`pack build` command with the specified builder image and environment variables.
2953
* **run**: Runs a sample image with Docker, publishing port 8000.
3054

3155
## Building the Project

0 commit comments

Comments
 (0)