feat: complete MVP resources and validate end-to-end terraform flow
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Terraform Provider Fission (MVP)
|
||||
|
||||
Текущий MVP провайдера управляет Fission CRD через Kubernetes API:
|
||||
- `fission_environment`
|
||||
- `fission_package`
|
||||
- `fission_function`
|
||||
- `fission_http_trigger`
|
||||
|
||||
## Быстрый запуск (dev override)
|
||||
|
||||
1. Собрать бинарник провайдера:
|
||||
|
||||
```bash
|
||||
cd terraform/provider
|
||||
go build -o bin/terraform-provider-fission .
|
||||
```
|
||||
|
||||
2. Положить бинарник в локальный каталог dev plugins:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.terraform.d/dev-plugins/Nail/fission
|
||||
cp terraform/provider/bin/terraform-provider-fission ~/.terraform.d/dev-plugins/Nail/fission/
|
||||
```
|
||||
|
||||
3. Создать файл Terraform CLI config (пример `/tmp/terraformrc-fission`):
|
||||
|
||||
```hcl
|
||||
provider_installation {
|
||||
dev_overrides {
|
||||
"nail/fission" = "/home/naeel/.terraform.d/dev-plugins/Nail/fission"
|
||||
}
|
||||
direct {}
|
||||
}
|
||||
```
|
||||
|
||||
4. Запустить пример:
|
||||
|
||||
```bash
|
||||
cd examples/hello-python
|
||||
TF_CLI_CONFIG_FILE=/tmp/terraformrc-fission terraform plan
|
||||
TF_CLI_CONFIG_FILE=/tmp/terraformrc-fission terraform apply -auto-approve
|
||||
```
|
||||
|
||||
## Ограничения MVP
|
||||
|
||||
- `fission_package.source_dir` в текущей реализации ожидает файл `main.py` в корне указанной директории.
|
||||
- Реализация ориентирована на Python flow через `spec.deployment.literal`.
|
||||
- Дополнительные сценарии сборки (`build_command`, многофайловые архивы и т.д.) будут расширены в следующих этапах.
|
||||
Reference in New Issue
Block a user