Files
fission-console/README.md
T

69 lines
2.1 KiB
Markdown

# Terraform Provider Fission (MVP)
Текущий MVP провайдера управляет Fission CRD через Kubernetes API:
- `fission_environment`
- `fission_package`
- `fission_function`
- `fission_http_trigger`
Все ресурсы поддерживают `terraform import` в формате `namespace/name`.
## Быстрый запуск (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
```
## Тесты
Unit-тесты:
```bash
cd terraform/provider
go test ./...
```
Импорт существующего ресурса (пример):
```bash
terraform import fission_environment.python default/tf-python-env
terraform import fission_package.hello default/tf-hello-pkg
terraform import fission_function.hello default/tf-hello-fn
terraform import fission_http_trigger.hello default/tf-hello-route
```
## Ограничения MVP
- `fission_package.source_dir` в текущей реализации ожидает файл `main.py` в корне указанной директории.
- Реализация ориентирована на Python flow через `spec.deployment.literal`.
- Дополнительные сценарии сборки (`build_command`, многофайловые архивы и т.д.) будут расширены в следующих этапах.