devel: add full-stack development environment
This integrates all the Image Builder components needed by the cloud.redhat.com frontend and allows them to be developed and run locally using `docker compose`. This should make it simple to make patches across the different components and develop them in tandem. Thanks to Achilleas Koutsou for the initial idea and implementation in osbuild-composer. Signed-off-by: Tom Gundersen <teg@jklm.no>
This commit is contained in:
parent
082894e9dd
commit
886bd768dc
10 changed files with 490 additions and 56 deletions
58
README.md
58
README.md
|
|
@ -31,62 +31,8 @@ against the chrome and backend at cloud.redhat.com.
|
|||
The UI should be running on
|
||||
https://prod.foo.redhat.com:1337/apps/image-builder/landing.
|
||||
|
||||
|
||||
|
||||
## Backend Development
|
||||
|
||||
To develop both the frontend and the backend you can again use the proxy to run both the
|
||||
frontend and backend locally against the chrome at cloud.redhat.com. In addition to the
|
||||
above:
|
||||
|
||||
1. Clone the image-builder (backend) repository: https://github.com/osbuild/image-builder
|
||||
|
||||
2. Setting up the proxy
|
||||
|
||||
As before, choose a runner (podman or docker), and point the SPANDX_CONFIG variable to
|
||||
`profile/local-frontend-and-api-with-identity.js` included in
|
||||
image-builder-frontend.
|
||||
|
||||
```
|
||||
sudo insights-proxy/scripts/patch-etc-hosts.sh
|
||||
export RUNNER="podman"
|
||||
export SPANDX_CONFIG=$PATH_TO/image-builder-frontend/profiles/local-frontend-and-api-with-identity.js
|
||||
sudo -E insights-proxy/scripts/run.sh
|
||||
```
|
||||
|
||||
3. Setting up osbuild-composer(-api)
|
||||
|
||||
The easiest way to do this is to call `schutzbots/provision-composer.sh` from
|
||||
the `osbuild/image-builder` project. This will install composer, generate
|
||||
the needed certs, and put the configuration in place.
|
||||
|
||||
4. Starting up image-builder
|
||||
|
||||
Point the URL to wherever composer is hosted, the client certificates and CA
|
||||
should be reused or copied over from the composer host, they're located in
|
||||
`/etc/osbuild-composer`.
|
||||
|
||||
In the image-builder checkout directory
|
||||
|
||||
```
|
||||
make build
|
||||
OSBUILD_URL="https://$composer-url:$composer-port/api/composer/v1" \
|
||||
OSBUILD_CERT_PATH=/path/to/client-crt.pem \
|
||||
OSBUILD_KEY_PATH=/path/to/client-key.pem \
|
||||
OSBUILD_CA_PATH=/path/to/ca-crt.pem \
|
||||
./image-builder
|
||||
```
|
||||
|
||||
5. Starting up image-builder-frontend
|
||||
|
||||
In the image-builder-frontend checkout directory
|
||||
|
||||
```
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
The UI should be running on
|
||||
https://prod.foo.redhat.com:1337/apps/image-builder/landing, the api
|
||||
(image-builder) on
|
||||
https://prod.foo.redhat.com:1337/api/image-builder/v1/openapi.json
|
||||
frontend and backend locally against the chrome at cloud.redhat.com. For instructions
|
||||
see [devel/README.md](devel/README.md).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue