Development Tools for Image Builder
To start local development, first clone the image bulider stack:
git clone [email protected]:osbuild/osbuild.git
git clone [email protected]:osbuild/osbuild-composer.git
git clone [email protected]:osbuild/image-builder.git
git clone [email protected]:osbuild/image-builder-frontend.git
The folder structure should look like:
.
├── image-builder
├── image-builder-frontend
├── osbuild
└── osbuild-composer
Secondly redirect a few domains to localhost. One for each environment
of cloud.redhat.com that exists. You only need the ones you will be
developing against. If you are outside the Red Hat VPN, only prod
is
available:
echo "127.0.0.1 prod.foo.redhat.com" >> /etc/hosts
echo "127.0.0.1 qa.foo.redhat.com" >> /etc/hosts
echo "127.0.0.1 ci.foo.redhat.com" >> /etc/hosts
echo "127.0.0.1 stage.foo.redhat.com" >> /etc/hosts
Lastly run the setup tool from image-builder-frontend to generate TLS certs and extract the Grafana dashboards from the image-builder and osbuild-composer repos.
cd image-builder-frontend/devel
./setup.sh
For the Image Builder backend to upload successfully, you need to set some environment variables. For AWS, for example, set the following environment variables in the .env
file:
OSBUILD_AWS_REGION
OSBUILD_AWS_ACCESS_KEY_ID
OSBUILD_AWS_SECRET_ACCESS_KEY
OSBUILD_AWS_S3_BUCKET
And then add to the list of environment variables for the backend container in the docker-compose.yml
file.
The config variables for the Image Builder backend can be found here.
docker-compose up --build
Access the service through the GUI: https://prod.foo.redhat.com:1337/beta/insights/image-builder, or directly through the API: https://prod.foo.redhat.com:1337/docs/api/image-builder.
Access the Grafana dashboard on https://localhost:3000. The default username is admin
and the password is set to foobar
.