mirror of
https://github.com/siderolabs/image-factory.git
synced 2026-01-20 16:11:59 +01:00
Some of the information in `docs/developing.md` was outdated (i.e. there
is no `integration` Makefile target anymore, there's
`integration-{direct|cdn|s3|proxy-installer|enterprise}`).
Also added a mention of the `docker-compose-` targets, for running image
factory.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2.1 KiB
2.1 KiB
Developing Image Factory
Running with Docker Compose
docker-compose-{up|down} make targets are available for running Image Factory.
To run:
# Generate signing key
openssl ecparam -name prime256v1 -genkey -noout -out _out/cache-signing-key.key
# Build and run
make docker-compose-up REGISTRY=127.0.0.1:5005
To stop:
make docker-compose-down
Running Image Factory Manually
In order to run the Image Factory, generate a ECDSA key pair:
openssl ecparam -name prime256v1 -genkey -noout -out cache-signing-key.key
Run the Image Factory using the following config:
artifacts:
# registry mirror for ghcr.io
core:
registry: 127.0.0.1:5004
# private registry repository for schematics
#
# resolves to 127.0.0.1:5005/image-factory/schematic
schematic:
registry: 127.0.0.1:5005
namespace: image-factory
repository: schematic
installer:
# internal registry namespace to push installer images to
internal:
registry: 127.0.0.1:5005
namespace: siderolabs
# external registry namespace to redirect users to pull installer
external:
registry: 127.0.0.1:5005
namespace: siderolabs
cache:
oci:
# private registry repository for cached assets
registry: 127.0.0.1:5005
namespace: image-factory
repository: cache
# path to the ECDSA private key (to sign cached assets)
signingKeyPath: ./cache-signing-key.key
http:
# external URL the Image Factory is available at
externalURL: https://example.com/
Running Integration Tests
Integration tests can be run with specific targets:
integration-directintegration-s3integration-cdnintegration-proxy-installerintegration-enterprise
Example running direct integration tests with registry mirrors:
make integration-direct TEST_FLAGS="-test.image-registry=127.0.0.1:5004 -test.schematic-service-repository=127.0.0.1:5005/image-factory/schematic -test.installer-external-repository=127.0.0.1:5005/test -test.installer-internal-repository=127.0.0.1:5005/test -test.cache-repository=127.0.0.1:5005/image-factory/cache" REGISTRY=127.0.0.1:5005