This project provides Docker images and build instructions for all dependencies required by the Insights On-Premise platform. All images are built and hosted under the quay.io/insights-onprem organization.
This project replaces external dependencies from quay.io/cloudservices with locally built and maintained images under quay.io/insights-onprem. This ensures:
- Control: Full control over image versions and security updates
- Reliability: No dependency on external image availability
- Customization: Ability to customize images for on-premise requirements
- Security: Better security posture with known image contents
| Image | Original Source | Purpose |
|---|---|---|
quay.io/insights-onprem/redis-ephemeral:6 |
quay.io/cloudservices/redis-ephemeral:6 |
Redis cache for applications |
quay.io/insights-onprem/insights-ingress:latest |
quay.io/cloudservices/insights-ingress:latest |
Ingress service for file uploads |
quay.io/insights-onprem/sources-api-go:latest |
quay.io/cloudservices/sources-api-go |
Sources API service |
insights-onprem-dependencies/
├── Makefile # Main build automation
├── README.md # This file
├── USAGE_GUIDE.md # Detailed usage instructions
├── redis-ephemeral/ # Redis ephemeral image build
│ ├── Dockerfile
│ ├── README.md
│ ├── redis.conf
│ └── docker-entrypoint.sh
├── insights-ingress/ # Insights Ingress image build
│ ├── Dockerfile
│ ├── README.md
│ └── build.sh
└── sources-api-go/ # Sources API Go image build
├── README.md
└── build.sh
This project builds from source repositories that must be cloned in the parent directory:
insights-onprem/
├── insights-ingress-go/ # Required: Source for insights-ingress
├── sources-api-go/ # Required: Source for sources-api-go
└── insights-onprem-dependencies/ # This repository
-
Ensure
insights-ingress-gois cloned in the parent directory:insights-onprem/ ├── insights-ingress-go/ # Clone this first └── insights-onprem-dependencies/ # This repository -
Install Docker or Podman
-
Login to quay.io registry:
# Set your registry credentials export REGISTRY_USER="your-username" export REGISTRY_PASSWORD="your-password" # Login to registry make login
# Build all images locally
make build
# Build and push all images to quay.io/insights-onprem
make build-push
# Build with custom version
VERSION=1.0.0 make build
# Build using Podman instead of Docker
CONTAINER_CMD=podman make build
# Push all images to registry
make push
# Test all images
make test# Build Redis ephemeral image
make build-redis
# Build Insights Ingress image
make build-ingress
# Or use the build script directly
cd insights-ingress && ./build.sh
# Build Sources API Go image
make build-sources-api-go
# Or use the build script directly
cd sources-api-go && ./build.sh- Base Image:
redis:6-alpine - Features: Ephemeral storage, optimized configuration
- Ports: 6379
- Volume: None (ephemeral)
- Base Image: Built from insights-ingress-go source
- Features: File upload handling, Kafka integration
- Ports: 3000 (web), 8080 (metrics)
- Base Image: Built from sources-api-go source
- Features: Sources management API
- Ports: 8000
- Container Runtime: Docker or Podman (podman preferred)
- Registry Access: Access to quay.io/insights-onprem organization
- Git: For cloning source repositories
- Source Repositories: insights-ingress-go and sources-api-go cloned in parent directory
Use the Makefile for automated building:
# Build all images
make build
# Build specific images
make build-redis
make build-ingress
make build-sources-api-go
# Get help
make helpEach image directory contains:
Dockerfileor build script: Image build instructionsREADME.md: Specific build and usage instructions- Additional configuration files as needed
- Fork this repository
- Create a feature branch
- Make your changes
- Test the images
- Submit a pull request
All images are built with security best practices:
- Non-root user execution where possible
- Minimal base images
- Regular security updates
- Vulnerability scanning
For issues and questions:
- Review individual image README files
- Check the USAGE_GUIDE.md for detailed instructions
- Open an issue in this repository
This project is licensed under the same terms as the parent Insights On-Premise project.