-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
- Loading branch information
Showing
27 changed files
with
421 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ghcr.io/openfaas/classic-watchdog:0.3.1 AS watchdog | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} python:2.7.18-alpine | ||
|
||
ARG TARGETPLATFORM | ||
ARG BUILDPLATFORM | ||
|
||
# Allows you to add additional packages via build-arg | ||
ARG ADDITIONAL_PACKAGE | ||
|
||
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog | ||
RUN chmod +x /usr/bin/fwatchdog | ||
RUN apk --no-cache add ca-certificates ${ADDITIONAL_PACKAGE} | ||
|
||
# Add non root user | ||
RUN addgroup -S app && adduser app -S -G app | ||
|
||
WORKDIR /home/app/ | ||
|
||
COPY index.py . | ||
COPY requirements.txt . | ||
|
||
RUN chown -R app /home/app && \ | ||
mkdir -p /home/app/python && chown -R app /home/app | ||
USER app | ||
ENV PATH=$PATH:/home/app/.local/bin:/home/app/python/bin/ | ||
ENV PYTHONPATH=$PYTHONPATH:/home/app/python | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
RUN mkdir -p function | ||
RUN touch ./function/__init__.py | ||
|
||
WORKDIR /home/app/function/ | ||
COPY function/requirements.txt . | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
WORKDIR /home/app/ | ||
|
||
USER root | ||
|
||
COPY function function | ||
|
||
# Allow any user-id for OpenShift users. | ||
RUN chown -R app:app ./ && \ | ||
chmod -R 777 /home/app/python | ||
|
||
USER app | ||
|
||
ENV fprocess="python index.py" | ||
EXPOSE 8080 | ||
|
||
HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1 | ||
|
||
CMD ["fwatchdog"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
def handle(req): | ||
"""handle a request to the function | ||
Args: | ||
req (str): request body | ||
""" | ||
|
||
return req |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Copyright (c) Alex Ellis 2017. All rights reserved. | ||
# Copyright (c) OpenFaaS Author(s) 2018. All rights reserved. | ||
# Licensed under the MIT license. See LICENSE file in the project root for full license information. | ||
|
||
import sys | ||
from function import handler | ||
|
||
def get_stdin(): | ||
buf = "" | ||
for line in sys.stdin: | ||
buf = buf + line | ||
return buf | ||
|
||
if __name__ == "__main__": | ||
st = get_stdin() | ||
ret = handler.handle(st) | ||
if ret != None: | ||
print(ret) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
language: python27 | ||
fprocess: python index.py | ||
build_options: | ||
- name: dev | ||
packages: | ||
- make | ||
- automake | ||
- gcc | ||
- g++ | ||
- subversion | ||
- python3-dev | ||
- musl-dev | ||
- libffi-dev | ||
- git | ||
- name: mysql | ||
packages: | ||
- mysql-client | ||
- mysql-dev | ||
- name: pillow | ||
packages: | ||
- jpeg-dev | ||
- zlib-dev | ||
- freetype-dev | ||
- lcms2-dev | ||
- openjpeg-dev | ||
- tiff-dev | ||
- tk-dev | ||
- tcl-dev | ||
- harfbuzz-dev | ||
- fribidi-dev |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
ARG PYTHON_VERSION=3 | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ghcr.io/openfaas/classic-watchdog:0.3.1 AS watchdog | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} python:${PYTHON_VERSION} | ||
|
||
ARG TARGETPLATFORM | ||
ARG BUILDPLATFORM | ||
|
||
# Allows you to add additional packages via build-arg | ||
ARG ADDITIONAL_PACKAGE | ||
|
||
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog | ||
RUN chmod +x /usr/bin/fwatchdog | ||
RUN apt-get update \ | ||
&& apt-get install -y ca-certificates ${ADDITIONAL_PACKAGE} \ | ||
&& rm -rf /var/lib/apt/lists/ | ||
|
||
# Add non root user | ||
RUN groupadd app && useradd -r -g app app | ||
|
||
WORKDIR /home/app/ | ||
|
||
COPY index.py . | ||
COPY requirements.txt . | ||
|
||
RUN chown -R app /home/app && \ | ||
mkdir -p /home/app/python && chown -R app /home/app | ||
USER app | ||
ENV PATH=$PATH:/home/app/.local/bin:/home/app/python/bin/ | ||
ENV PYTHONPATH=$PYTHONPATH:/home/app/python | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
RUN mkdir -p function | ||
RUN touch ./function/__init__.py | ||
|
||
WORKDIR /home/app/function/ | ||
COPY function/requirements.txt . | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
WORKDIR /home/app/ | ||
|
||
USER root | ||
|
||
COPY function function | ||
|
||
# Allow any user-id for OpenShift users. | ||
RUN chown -R app:app ./ && \ | ||
chmod -R 777 /home/app/python | ||
|
||
USER app | ||
|
||
ENV fprocess="python3 index.py" | ||
EXPOSE 8080 | ||
|
||
HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1 | ||
|
||
CMD ["fwatchdog"] |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
def handle(req): | ||
"""handle a request to the function | ||
Args: | ||
req (str): request body | ||
""" | ||
|
||
return req |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Copyright (c) Alex Ellis 2017. All rights reserved. | ||
# Licensed under the MIT license. See LICENSE file in the project root for full license information. | ||
|
||
import sys | ||
from function import handler | ||
|
||
def get_stdin(): | ||
buf = "" | ||
while(True): | ||
line = sys.stdin.readline() | ||
buf += line | ||
if line=="": | ||
break | ||
return buf | ||
|
||
if(__name__ == "__main__"): | ||
st = get_stdin() | ||
ret = handler.handle(st) | ||
if ret != None: | ||
print(ret) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
language: python3-debian | ||
fprocess: python3 index.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
ARG PYTHON_VERSION=3 | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ghcr.io/openfaas/classic-watchdog:0.3.1 AS watchdog | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} python:${PYTHON_VERSION}-alpine | ||
|
||
ARG TARGETPLATFORM | ||
ARG BUILDPLATFORM | ||
|
||
# Allows you to add additional packages via build-arg | ||
ARG ADDITIONAL_PACKAGE | ||
|
||
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog | ||
RUN chmod +x /usr/bin/fwatchdog | ||
RUN apk --no-cache add ca-certificates ${ADDITIONAL_PACKAGE} | ||
|
||
|
||
# Add non root user | ||
RUN addgroup -S app && adduser app -S -G app | ||
|
||
WORKDIR /home/app/ | ||
|
||
COPY index.py . | ||
COPY requirements.txt . | ||
|
||
RUN chown -R app /home/app && \ | ||
mkdir -p /home/app/python && chown -R app /home/app | ||
USER app | ||
ENV PATH=$PATH:/home/app/.local/bin:/home/app/python/bin/ | ||
ENV PYTHONPATH=$PYTHONPATH:/home/app/python | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
RUN mkdir -p function | ||
RUN touch ./function/__init__.py | ||
|
||
WORKDIR /home/app/function/ | ||
COPY function/requirements.txt . | ||
|
||
RUN pip install -r requirements.txt --target=/home/app/python | ||
|
||
WORKDIR /home/app/ | ||
|
||
USER root | ||
|
||
COPY function function | ||
|
||
# Allow any user-id for OpenShift users. | ||
RUN chown -R app:app ./ && \ | ||
chmod -R 777 /home/app/python | ||
|
||
USER app | ||
|
||
ENV fprocess="python3 index.py" | ||
EXPOSE 8080 | ||
|
||
HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1 | ||
|
||
CMD ["fwatchdog"] |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
def handle(req): | ||
"""handle a request to the function | ||
Args: | ||
req (str): request body | ||
""" | ||
|
||
return req |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Copyright (c) Alex Ellis 2017. All rights reserved. | ||
# Copyright (c) OpenFaaS Author(s) 2018. All rights reserved. | ||
# Licensed under the MIT license. See LICENSE file in the project root for full license information. | ||
|
||
import sys | ||
from function import handler | ||
|
||
def get_stdin(): | ||
buf = "" | ||
while(True): | ||
line = sys.stdin.readline() | ||
buf += line | ||
if line == "": | ||
break | ||
return buf | ||
|
||
if __name__ == "__main__": | ||
st = get_stdin() | ||
ret = handler.handle(st) | ||
if ret != None: | ||
print(ret) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
language: python3 | ||
fprocess: python3 index.py | ||
build_options: | ||
- name: dev | ||
packages: | ||
- make | ||
- automake | ||
- gcc | ||
- g++ | ||
- subversion | ||
- python3-dev | ||
- musl-dev | ||
- libffi-dev | ||
- git | ||
- name: mysql | ||
packages: | ||
- mysql-client | ||
- mysql-dev | ||
- name: pillow | ||
packages: | ||
- jpeg-dev | ||
- zlib-dev | ||
- freetype-dev | ||
- lcms2-dev | ||
- openjpeg-dev | ||
- tiff-dev | ||
- tk-dev | ||
- tcl-dev | ||
- harfbuzz-dev | ||
- fribidi-dev | ||
welcome_message: | | ||
You have created a Python3 function using the Classic Watchdog. | ||
To include third-party dependencies create a requirements.txt file. | ||
For high-throughput applications, we recommend using the python3-flask | ||
or python3-http templates. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ghcr.io/openfaas/classic-watchdog:0.3.1 AS watchdog | ||
FROM --platform=${TARGETPLATFORM:-linux/amd64} ruby:3.3.6-alpine | ||
|
||
ARG TARGETPLATFORM | ||
ARG BUILDPLATFORM | ||
|
||
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog | ||
RUN chmod +x /usr/bin/fwatchdog | ||
|
||
ARG ADDITIONAL_PACKAGE | ||
|
||
# Alternatively use ADD https:// (which will not be cached by Docker builder) | ||
RUN apk --no-cache add ${ADDITIONAL_PACKAGE} | ||
|
||
WORKDIR /home/app | ||
|
||
COPY Gemfile . | ||
COPY index.rb . | ||
COPY function function | ||
|
||
RUN bundle install \ | ||
&& mkdir -p /home/app/function | ||
|
||
WORKDIR /home/app/function | ||
|
||
RUN bundle install | ||
|
||
RUN addgroup -S app \ | ||
&& adduser app -S -G app | ||
|
||
RUN chown app:app -R /home/app | ||
|
||
USER app | ||
|
||
WORKDIR /home/app | ||
|
||
ENV fprocess="ruby index.rb" | ||
EXPOSE 8080 | ||
|
||
HEALTHCHECK --interval=2s CMD [ -e /tmp/.lock ] || exit 1 | ||
|
||
CMD ["fwatchdog"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
source 'https://rubygems.org' |
Oops, something went wrong.