57 lines
1.5 KiB
Markdown
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>/`
|