Automated Image Synchronization to Your Registry
This guide helps organizations set up automated synchronization of sfp pro images from Flxbl's registry to their own container registry, with optional customization capabilities
Why Synchronize to Your Registry?
While you can pull directly from source.flxbl.io, maintaining your own synchronized copy provides:
Centralized version control across all teams
Reduced external dependencies during CI/CD runs
Ability to add organization-specific customizations
Improved pull performance from your own registry
Compliance with internal security policies
Setting Up Automated Synchronization
Step 1: Create a Dedicated Repository
Create a GitHub repository in your organization specifically for Docker image management (e.g., docker-images or sfp-docker).
Step 2: Configure Repository Secrets
Add the following secrets to your repository (Settings → Secrets and variables → Actions):
GITEA_USER
Your Gitea username
From your welcome email
GITEA_PAT
Personal Access Token for Gitea
Generate at source.flxbl.io (Settings → Applications → Personal Access Tokens) with read:package permission
Step 3: Create Synchronization Workflow
Create .github/workflows/sync-sfp-pro.yml in your repository:
Creating Custom Images
If you need to add organization-specific tools or configurations, create a Dockerfile:
For base sfp-pro-lite (without SF CLI):
For sfp-pro with SF CLI:
Then modify the workflow to build and push your custom image:
Using Synchronized Images in Your Pipelines
Update your project workflows to use images from your registry:
GitHub Actions:
GitLab CI:
Azure DevOps:
Verification
After running the workflow, verify the synchronization:
Troubleshooting
Authentication Issues
If you encounter authentication errors:
Verify your PAT has
read:packagepermissionCheck that secrets are correctly set in repository settings
Ensure your Gitea username is correct
Image Not Found
If the source image cannot be pulled:
Check the version exists at https://source.flxbl.io/flxbl/-/packages/container/sfp-pro/
Verify your network can reach source.flxbl.io
Confirm your credentials are valid
Push Failures to GitHub Container Registry
Ensure the workflow has
packages: writepermissionVerify the repository name in
IMAGE_PREFIXis correctCheck GitHub Packages settings for your repository
Last updated