proud-easter-54321
07/15/2021, 11:42 AMpulumi up
?bumpy-grass-54508
07/15/2021, 12:30 PMbrave-planet-10645
07/15/2021, 1:06 PMproud-easter-54321
07/15/2021, 1:10 PMbrave-planet-10645
07/15/2021, 1:11 PMlimited-rainbow-51650
07/15/2021, 1:12 PMicy-football-94152
07/15/2021, 2:28 PMbumpy-grass-54508
07/15/2021, 2:42 PMProcess.Start
etc)
i do not know much about azure functions, but i know in aws lambda functions you can run a full docker container, or even in a regular dotnet function people have had some success cramming various libs in particular tmp folders but it seems a bit hacky
for k8s though you can build a docker container with the cli installed easily enough. we use the c# pulumi automation api, so our base image is the dotnet container. our dockerfile looks something like this
FROM <http://mcr.microsoft.com/dotnet/sdk:5.0|mcr.microsoft.com/dotnet/sdk:5.0> AS build
# fetch pulumi tarball during build stage, while curl is available
ARG pulumi_version
ARG pulumi_checksum
RUN curl <https://get.pulumi.com/releases/sdk/pulumi-${pulumi_version}-linux-x64.tar.gz> > /tmp/pulumi.tar.gz \
&& echo "$pulumi_checksum /tmp/pulumi.tar.gz" | sha256sum --check
FROM <http://mcr.microsoft.com/dotnet/aspnet:5.0|mcr.microsoft.com/dotnet/aspnet:5.0>
# install pulumi: extract to /usr/share and symlink to /usr/bin (mimicking dotnet)
COPY --from=build /tmp/pulumi.tar.gz /tmp/pulumi.tar.gz
RUN tar -xvzf /tmp/pulumi.tar.gz -C /usr/share \
&& rm /tmp/pulumi.tar.gz \
&& ln -s /usr/share/pulumi/pulumi /usr/bin \
&& pulumi version
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "my.service.dll"]
and you provide the pulumi version and its checksum during your docker build
stepbrave-planet-10645
07/15/2021, 2:43 PM/tmp
folders is that this is the only writeable folder. Everything else is readonlybumpy-grass-54508
07/15/2021, 2:46 PMbrave-planet-10645
07/15/2021, 3:02 PM