tekton, baby!
This commit is contained in:
34
apps/web/almond-cloud/Dockerfile
Normal file
34
apps/web/almond-cloud/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
||||
FROM debian:bullseye
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
ARG DEVPKGS="git make cmake gcc g++ python-dev libsqlcipher-dev"
|
||||
|
||||
#RUN sed -i 's@deb.debian.org@apt-cache.lan/deb.debian.org@g' /etc/apt/sources.list && \
|
||||
# sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list && \
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get -y install ${DEVPKGS} python3-pip python3-torch graphicsmagick zip unzip bubblewrap nodejs \
|
||||
sqlcipher gettext && \
|
||||
pip3 install 'git+https://github.com/stanford-oval/genienlp@3885917258678b8cd38fbd6d9b8488b6ac8caed7#egg=genienlp'
|
||||
|
||||
#setup
|
||||
RUN useradd -ms /bin/bash -r almond-cloud && id almond-cloud
|
||||
COPY --chown=almond-cloud:almond-cloud . /opt/almond-cloud/
|
||||
WORKDIR /opt/almond-cloud/
|
||||
RUN echo "build_from_source = true" > .npmrc && \
|
||||
echo "sqlite = external" >> .npmrc && \
|
||||
echo "sqlite_libname = sqlcipher" >> .npmrc && \
|
||||
su almond-cloud -c 'CPLUS_INCLUDE_PATH=/usr/include/sqlcipher npm install' && \
|
||||
chown -R root:root /opt/almond-cloud
|
||||
|
||||
# CLeanup
|
||||
RUN apt-get remove -y --purge ${DEVPKGS} && \
|
||||
apt-get autoremove --purge -y && \
|
||||
apt-get clean -y && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /var/cache/apt/* /tmp/* /var/tmp/* /var/log/*
|
||||
|
||||
USER almond-cloud
|
||||
WORKDIR /home/almond-cloud
|
||||
ENTRYPOINT ["/opt/almond-cloud/docker/start.sh"]
|
||||
3
apps/web/almond-cloud/start.sh
Executable file
3
apps/web/almond-cloud/start.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
NODE_MAX_OLD_SPACE_SIZE=${NODE_MAX_OLD_SPACE_SIZE:-500}
|
||||
exec node --max_old_space_size=${NODE_MAX_OLD_SPACE_SIZE} /opt/almond-cloud/main.js "$@"
|
||||
77
apps/web/almond-cloud/tekton-image-build.yaml
Normal file
77
apps/web/almond-cloud/tekton-image-build.yaml
Normal file
@@ -0,0 +1,77 @@
|
||||
apiVersion: tekton.dev/v1alpha1
|
||||
kind: PipelineResource
|
||||
metadata:
|
||||
name: chaos-kubernetes-git
|
||||
spec:
|
||||
type: git
|
||||
params:
|
||||
- name: revision
|
||||
value: master
|
||||
- name: url
|
||||
value: http://git-ui.lan/chaos/kubernetes.git
|
||||
- name: submodules
|
||||
value: "false"
|
||||
---
|
||||
apiVersion: tekton.dev/v1alpha1
|
||||
kind: PipelineResource
|
||||
metadata:
|
||||
name: img-almond-cloud
|
||||
spec:
|
||||
type: image
|
||||
params:
|
||||
- name: url
|
||||
value: cr.lan/almond-cloud
|
||||
---
|
||||
apiVersion: tekton.dev/v1beta1
|
||||
kind: Task
|
||||
metadata:
|
||||
name: build-almond-cloud
|
||||
spec:
|
||||
params:
|
||||
- name: pathToDockerFile
|
||||
type: string
|
||||
default: $(resources.inputs.source.path)/apps/web/almond-cloud/Dockerfile
|
||||
- name: pathToContext
|
||||
type: string
|
||||
default: $(resources.inputs.source.path)/apps/web/almond-cloud
|
||||
resources:
|
||||
inputs:
|
||||
- name: source
|
||||
type: git
|
||||
outputs:
|
||||
- name: builtImage
|
||||
type: image
|
||||
steps:
|
||||
- name: build-and-push
|
||||
image: gcr.io/kaniko-project/executor:arm64
|
||||
command:
|
||||
- /kaniko/executor
|
||||
args:
|
||||
- --dockerfile=$(params.pathToDockerFile)
|
||||
- --destination=$(resources.outputs.builtImage.url)
|
||||
- --context=$(params.pathToContext)
|
||||
- --snapshotMode=redo
|
||||
- --skip-tls-verify
|
||||
---
|
||||
apiVersion: tekton.dev/v1beta1
|
||||
kind: TaskRun
|
||||
metadata:
|
||||
name: img-almond-cloud-taskrun
|
||||
spec:
|
||||
#serviceAccountName: dockerhub-service
|
||||
taskRef:
|
||||
name: build-almond-cloud
|
||||
params:
|
||||
- name: pathToDockerFile
|
||||
value: Dockerfile
|
||||
resources:
|
||||
inputs:
|
||||
- name: source
|
||||
resourceRef:
|
||||
name: chaos-kubernetes-git
|
||||
outputs:
|
||||
- name: builtImage
|
||||
resourceRef:
|
||||
name: img-almond-cloud
|
||||
|
||||
|
||||
Reference in New Issue
Block a user