Skip to content

Commit

Permalink
adding dvws-node app
Browse files Browse the repository at this point in the history
  • Loading branch information
Denan Musinovic committed Feb 17, 2024
1 parent 216f175 commit 6711d65
Show file tree
Hide file tree
Showing 6 changed files with 196 additions and 0 deletions.
23 changes: 23 additions & 0 deletions charts/dvws-node/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
26 changes: 26 additions & 0 deletions charts/dvws-node/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: v2
name: dvwsnode
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
keywords:
- dvwsnode
version: 1.0.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.0.0"
95 changes: 95 additions & 0 deletions charts/dvws-node/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
selector:
matchLabels:
app: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/instance: {{ .Release.Name }}
app: {{ .Release.Name }}
spec:
restartPolicy: Always
containers:
- name: {{ .Chart.Name }}
image: neuralegion/dvws-node
ports:
- containerPort: 80
command: ["/bin/sh"]
args:
- -c
- |
/wait &&
node startup_script.js &&
npm start
env:
- name: WAIT_HOSTS
value: "localhost:3306, localhost:27017"
- name: WAIT_HOSTS_TIMEOUT
value: "60"
- name: SQL_LOCAL_CONN_URL
value: "localhost"
- name: MONGO_LOCAL_CONN_URL
value: "mongodb://localhost:27017/node-dvws"
resources:
requests:
cpu: 25m
memory: 128Mi
limits:
cpu: 150m
memory: 512Mi
livenessProbe:
httpGet:
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 120
periodSeconds: 30

- name: {{ .Chart.Name }}-mysql
image: mysql:5.7
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "mysecretpassword"
resources:
requests:
cpu: 25m
memory: 128Mi
limits:
cpu: 100m
memory: 512Mi
livenessProbe:
tcpSocket:
port: 3306
initialDelaySeconds: 60
periodSeconds: 30

- name: {{ .Chart.Name }}-mongo
image: mongo:4.0.4
ports:
- containerPort: 27017
resources:
requests:
cpu: 25m
memory: 50Mi
limits:
cpu: 100m
memory: 126Mi
livenessProbe:
tcpSocket:
port: 27017
initialDelaySeconds: 60
periodSeconds: 30


29 changes: 29 additions & 0 deletions charts/dvws-node/templates/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-ssl-protocols: "TLSv1.1 TLSv1.2"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
{{ if eq .Values.ingress.cert "" }}
cert-manager.io/cluster-issuer: letsencrypt-cf-prod
{{ end }}
spec:
tls:
- hosts:
- {{ .Values.ingress.url }}
secretName: {{ if eq .Values.ingress.cert "" }}distributorwildcard{{ else }}{{ .Values.ingress.cert }}{{ end }}
rules:
- host: {{ .Values.ingress.url }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ .Release.Name }}
port:
number: 80
19 changes: 19 additions & 0 deletions charts/dvws-node/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
spec:
ports:
- name: http
port: 80
targetPort: 80
- name: http-4000
port: 4000
targetPort: 4000
- name: http-9090
port: 9090
targetPort: 9090
selector:
app.kubernetes.io/instance: {{ .Release.Name }}
app: {{ .Release.Name }}
4 changes: 4 additions & 0 deletions charts/dvws-node/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ingress:
url: dev.vuln.nexploit.app
cert: ""
authlevel: "."

0 comments on commit 6711d65

Please sign in to comment.