Files
tf_registry/server/README.md
T

57 lines
1.5 KiB
Markdown

# 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_rebuild` for 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)
- `gpg`
- `mc` (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.go` and `operator/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_KEY`
- `S3_SECRET_KEY`
Optional overrides:
- `REGISTRY_HOSTNAME` (default: `terra.k8c.ru`)
- `NAMESPACE` (default: `nubes`)
- `NAME` (default: `nubes`)
- `S3_BUCKET` (default: `terraform-registry`)
### Usage
```bash
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>/`