Независимый Go-модуль terraform/provider/ для управления функциями через REST API. Ресурсы: - sless_function: CRUD + upload zip + WaitReady (kaniko build 5 мин) - sless_trigger: CRUD (http/cron) Компоненты: - internal/client/client.go — HTTP-клиент, готов к переносу в nubes - internal/provider/provider.go — паттерн идентичен nubes NubesProvider - internal/resources/ — function_resource.go, trigger_resource.go - hack/build-and-publish.sh — GPG-подпись + mc upload в S3 Опубликовано: terra.k8c.ru/naeel/sless v0.1.0 Проверено: terraform init успешен
26 lines
659 B
Go
26 lines
659 B
Go
// 2026-03-07
|
|
// main.go — точка входа Terraform провайдера sless.
|
|
// Address: terra.k8c.ru/naeel/sless — путь в реестре terra.k8c.ru.
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
|
|
"terraform-provider-sless/internal/provider"
|
|
|
|
"github.com/hashicorp/terraform-plugin-framework/providerserver"
|
|
)
|
|
|
|
// version задаётся ldflags при сборке: -ldflags "-X main.version=0.1.0"
|
|
var version string = "0.1.0"
|
|
|
|
func main() {
|
|
opts := providerserver.ServeOpts{
|
|
Address: "terra.k8c.ru/naeel/sless",
|
|
}
|
|
if err := providerserver.Serve(context.Background(), provider.New(version), opts); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|