wip: init go provider

This commit is contained in:
2025-12-06 01:34:42 -05:00
parent ce4fee82c0
commit ef3fde0b79
40 changed files with 10962 additions and 181 deletions

View File

@@ -2,7 +2,7 @@ VERSION 0.8
# tfgen builds the tfgen binary and nodejs TypeScript SDK
tfgen:
FROM golang:1.24.2
FROM golang:1.25.4
WORKDIR /go/src/git.kalinow.ski/nimbus/pulumi-incus/provider
ENV WORKING_DIR=/go/src/git.kalinow.ski/nimbus/pulumi-incus
# ENV PULUMI_HOME=$(WORKING_DIR)/.pulumi
@@ -13,15 +13,15 @@ tfgen:
ENV PULUMI_HOME=${WORKING_DIR}/.pulumi
ENV PATH=${WORKING_DIR}/.pulumi/bin:$PATH
RUN curl -fsSL https://get.pulumi.com | HOME=${WORKING_DIR} sh -s -- --version "$(cat .pulumi/version)"
RUN pulumi plugin install converter terraform 1.0.16
RUN pulumi plugin install converter terraform 1.2.4
RUN go mod download
ENV PROVIDER_VERSION=1.0.0-beta.1
ENV PROVIDER_VERSION=1.0.0-beta.2
ENV LDFLAGS_PROJ_VERSION="-X git.kalinow.ski/nimbus/pulumi-incus/provider/pkg/version.Version=${PROVIDER_VERSION}"
ENV PULUMI_CONVERT=1
ENV PULUMI_CONVERT_EXAMPLES_CACHE_DIR=/go/src/git.kalinow.ski/nimbus/pulumi-incus/provider/.pulumi/examples-cache
ENV PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION=1
ENV PULUMI_MISSING_DOCS_ERROR=false
COPY --dir provider/resources.go provider/pkg .
COPY provider/cmd/pulumi-tfgen-incus cmd/pulumi-tfgen-incus
RUN echo '{}' > cmd/pulumi-resource-incus/bridge-metadata.json
@@ -35,7 +35,7 @@ tfgen:
# nodejs builds the nodejs SDK using the generated tfgen file
nodejs:
FROM node:23-bookworm
FROM node:24-bookworm
WORKDIR /root/sdk/nodejs
RUN corepack enable pnpm
COPY scripts/clean-package-json.js /bin
@@ -50,7 +50,7 @@ nodejs:
pnpm config set -g -- '//git.kalinow.ski/api/packages/kiterun/npm/:_authToken' "$TOKEN" && \
pnpm publish . && \
rm /root/.npmrc
# provider builds and publishes the provider binaries
provider:
FROM +tfgen
@@ -76,5 +76,5 @@ BINARY:
RUN cd $WORKING_DIR/provider && GOOS=$GOOS GOARCH=$GOARCH CGO_ENABLED=0 go build \
-o ../bin/$GOOS-$GOARCH/pulumi-resource-incus -ldflags "${LDFLAGS_PROJ_VERSION} -s -w" \
git.kalinow.ski/nimbus/pulumi-incus/provider/cmd/pulumi-resource-incus
RUN cd $WORKING_DIR && tar --gzip -cf /root/dist/pulumi-resource-incus-v${PROVIDER_VERSION}-$GOOS-$GOARCH.tar.gz \
RUN cd $WORKING_DIR && tar --gzip -cf /root/dist/pulumi-resource-incus-v${PROVIDER_VERSION}-$GOOS-$GOARCH.tar.gz \
README.md LICENSE -C bin/$GOOS-$GOARCH .