init: registry server + operator from VM
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Terra Operator Manifests
|
||||
|
||||
## Minimal Setup for Namespace `terra`
|
||||
|
||||
### 1. Structure
|
||||
- **Namespace**: `terra`
|
||||
- **Storage**: внешний S3 (Nubes Cloud).
|
||||
- **CRD**: `TerraformProviderRelease` definitions.
|
||||
|
||||
### 2. How to apply
|
||||
```bash
|
||||
kubectl apply -f operator/manifests/00-namespace.yaml
|
||||
kubectl apply -f operator/manifests/02-crd.yaml
|
||||
kubectl apply -f operator/manifests/04-operator-deployment.yaml
|
||||
kubectl apply -f operator/manifests/05-registry-server.yaml
|
||||
```
|
||||
|
||||
### 3. Usage
|
||||
Create a release request:
|
||||
```yaml
|
||||
apiVersion: terra.core.nubes.ru/v1alpha1
|
||||
kind: TerraformProviderRelease
|
||||
metadata:
|
||||
name: mycloud-v0-1-0
|
||||
namespace: terra
|
||||
spec:
|
||||
providerName: "mycloud"
|
||||
version: "0.1.0"
|
||||
gitRepo: "https://github.com/Start-Ops/terraform-provider-mycloud.git"
|
||||
gitRef: "v0.1.0"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Простыми словами: что это и зачем
|
||||
|
||||
Это набор манифестов и небольшой сервис, который автоматизирует сборку Terraform‑провайдеров.
|
||||
Идея простая: я описываю в CRD, какой провайдер и какую версию собрать, а оператор сам запускает Job,
|
||||
собирает бинарники и складывает их в хранилище. Дальше registry‑server отдает эти артефакты Terraform‑клиентам.
|
||||
|
||||
Зачем это нужно:
|
||||
- чтобы не собирать провайдеры руками;
|
||||
- чтобы хранить артефакты в одном месте;
|
||||
- чтобы Terraform мог скачивать провайдеры по обычному источнику.
|
||||
Reference in New Issue
Block a user