deno code

This commit is contained in:
marcel-dempers 2020-05-21 18:05:37 +10:00
parent f0c8be9554
commit dbacbffe7b
6 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,13 @@
FROM aimvector/deno:1.0.0-buster-slim as build
COPY ./src/ $DENO_DIR
RUN mkdir /out/
RUN deno bundle /deno-dir/server.js /out/server.js
FROM aimvector/deno:1.0.0-buster-slim as final
COPY --from=build /out/server.js /deno-dir/server.js
ENTRYPOINT ["deno"]
CMD ["run", "--allow-net", "/deno-dir/server.js"]

25
deno/deno.dockerfile Normal file
View File

@ -0,0 +1,25 @@
FROM debian:buster-slim
ENV DENO_VERSION=1.0.0
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends curl ca-certificates unzip \
&& curl -fsSL https://github.com/denoland/deno/releases/download/v${DENO_VERSION}/deno-x86_64-unknown-linux-gnu.zip \
--output deno.zip \
&& unzip deno.zip \
&& rm deno.zip \
&& chmod 777 deno \
&& mv deno /usr/bin/deno \
&& apt-get -qq remove --purge -y curl ca-certificates unzip \
&& apt-get -y -qq autoremove \
&& apt-get -qq clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN useradd --uid 1993 --user-group deno \
&& mkdir /deno-dir/ \
&& chown deno:deno /deno-dir/
ENV DENO_DIR /deno-dir/
ENTRYPOINT ["deno"]
CMD ["run", "https://deno.land/std/examples/welcome.ts"]

View File

@ -0,0 +1,35 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: example-deploy
labels:
app: example-app
annotations:
spec:
selector:
matchLabels:
app: example-app
replicas: 2
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app: example-app
spec:
containers:
- name: example-app
image: aimvector/deno-app:v1
imagePullPolicy: Always
ports:
- containerPort: 5000
resources:
requests:
memory: "64Mi"
cpu: "10m"
limits:
memory: "256Mi"
cpu: "500m"

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: example-service
labels:
app: example-app
spec:
type: LoadBalancer
selector:
app: example-app
ports:
- protocol: TCP
name: http
port: 80
targetPort: 5000

6
deno/dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM aimvector/deno:1.0.0-buster-slim as build
COPY ./src/ $DENO_DIR
ENTRYPOINT ["deno"]
CMD ["run", "--allow-net", "/deno-dir/server.js"]

5
deno/src/server.js Normal file
View File

@ -0,0 +1,5 @@
import { serve } from "https://deno.land/std@0.50.0/http/server.ts";
for await (const req of serve({ port: 5000 })) {
req.respond({ body: "Hello World! - from Deno 1.0.0\n" });
}