Files
zl-base-in-kube/3.zalando/exampleApp.yaml
2024-08-02 17:24:31 +07:00

93 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: test-app
namespace: rm-pgsql
spec:
replicas: 1
selector:
matchLabels:
app: test-app
template:
metadata:
labels:
app: test-app
spec:
containers:
- name: test-app
image: node:18
command: ["/bin/sh", "-c"]
args:
- |
mkdir -p /tmp/app && \
cp /app/test_app.js /app/package.json /tmp/app/ && \
cd /tmp/app && \
npm install && \
node test_app.js
env:
- name: DB_HOST
value: rm-psql-pooler-repl
- name: DB_USER
valueFrom:
secretKeyRef:
name: rmu.rm-psql
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: rmu.rm-psql
key: password
- name: DB_NAME
value: rm
volumeMounts:
- name: app-code
mountPath: /app
volumes:
- name: app-code
configMap:
name: test-app-configmap
items:
- key: test_app.js
path: test_app.js
- key: package.json
path: package.json
---
apiVersion: v1
kind: ConfigMap
metadata:
name: test-app-configmap
namespace: rm-pgsql
data:
test_app.js: |
const { Client } = require('pg');
const client = new Client({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
ssl: {
require: true,
rejectUnauthorized: false
}
});
client.connect()
.then(() => {
console.log(`Successfully connected to the database ${process.env.DB_NAME} on ${process.env.DB_HOST}`);
return client.end();
})
.catch((err) => {
console.error(`Error: ${err}`);
});
package.json: |
{
"name": "test-app",
"version": "1.0.0",
"main": "test_app.js",
"dependencies": {
"pg": "^8.7.1"
}
}
---