Compare commits
2 Commits
94ea99983c
...
0e5a41c170
Author | SHA1 | Date |
---|---|---|
Roberto Alsina | 0e5a41c170 | |
Roberto Alsina | ad164ac7f2 |
|
@ -15,7 +15,3 @@ functions:
|
|||
lang: python3-flask
|
||||
handler: ./tapas
|
||||
image: ralsina/tapas:latest
|
||||
tapas2:
|
||||
lang: crystal
|
||||
handler: ./tapas2
|
||||
image: ralsina/tapas2:latest
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
require "json"
|
||||
|
||||
class Handler
|
||||
def run(req : String)
|
||||
return JSON::Any.new("Hello, Crystal. You said: #{req}")
|
||||
end
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
name: crystal_faas_function
|
||||
version: 0.1.0
|
||||
|
||||
# dependencies:
|
||||
# pg:
|
||||
# github: will/crystal-pg
|
||||
# version: "~> 0.5"
|
|
@ -1,30 +1,29 @@
|
|||
FROM crystallang/crystal:1.8.0 as builder
|
||||
|
||||
RUN apt update \
|
||||
&& apt install -y curl \
|
||||
&& echo "Pulling watchdog binary from Github." \
|
||||
&& curl -sSL https://github.com/openfaas/faas/releases/download/0.9.6/fwatchdog > /usr/bin/fwatchdog \
|
||||
&& chmod +x /usr/bin/fwatchdog
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ghcr.io/openfaas/of-watchdog:0.9.10 as watchdog
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine as build
|
||||
|
||||
RUN apk update && apk upgrade
|
||||
RUN apk add crystal shards
|
||||
WORKDIR /home/app
|
||||
COPY . .
|
||||
|
||||
COPY function/shard.yml shard.yml
|
||||
RUN shards install
|
||||
RUN crystal build main.cr -o handler --release
|
||||
|
||||
FROM crystallang/crystal:1.8.0
|
||||
RUN apt install ca-certificates
|
||||
RUN crystal build main.cr -o handler --release --static
|
||||
RUN strip handler
|
||||
|
||||
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine as ship
|
||||
RUN apk update && apk upgrade
|
||||
# Add non root user
|
||||
RUN adduser app
|
||||
RUN mkdir -p /home/app
|
||||
# Add non root user
|
||||
RUN addgroup -S app && adduser app -S -G app
|
||||
RUN chown app /home/app
|
||||
|
||||
WORKDIR /home/app
|
||||
|
||||
COPY --from=builder /usr/bin/fwatchdog .
|
||||
COPY --from=builder /home/app/function/ .
|
||||
COPY --from=builder /home/app/handler .
|
||||
COPY --from=build /home/app/function/ .
|
||||
COPY --from=build /home/app/handler .
|
||||
COPY --from=watchdog /fwatchdog /home/app/fwatchdog
|
||||
RUN chmod +x /home/app/fwatchdog
|
||||
|
||||
RUN chown -R app /home/app
|
||||
|
||||
|
|
Loading…
Reference in New Issue