Registry Server Build
This folder holds the standalone registry server build and helper scripts.
Provider build and upload
Script: build-provider.sh
What it does:
- Builds the provider from
universal_rebuildfor 3 platforms: linux_amd64, windows_amd64, darwin_amd64 - Creates ZIPs and SHA256SUMS
- Signs SHA256SUMS with a local GPG key file
- Uploads artifacts to S3 for the registry server to serve
Requirements
- Go 1.22+
python3(for zipfile)gpgmc(MinIO/S3 client)
GPG key file
Store the private key at:
secrets/private_key.asc(ignored by git)
The public key is at:
secrets/public_key.asc
The registry server embeds the public key it returns to Terraform. After regenerating keys:
- Update the embedded ASCII Armor in
registry-server-build/main.goandoperator/cmd/registry/main.go. - Rebuild and redeploy the registry server.
- Re-upload provider artifacts signed with the new private key.
Environment
Set these variables before running:
S3_ENDPOINT(example:s3.msk-1.ngcloud.ru)S3_ACCESS_KEYS3_SECRET_KEY
Optional overrides:
REGISTRY_HOSTNAME(default:terra.k8c.ru)NAMESPACE(default:nubes)NAME(default:nubes)S3_BUCKET(default:terraform-registry)
Usage
export S3_ENDPOINT="s3.msk-1.ngcloud.ru"
export S3_ACCESS_KEY="..."
export S3_SECRET_KEY="..."
./registry-server-build/build-provider.sh 2.0.2
Artifacts are uploaded to:
registry/<bucket>/<hostname>/<namespace>/<name>/<version>/