Será utilizada a aplicação kube-news escrita em Node.js que utiliza o banco de dados PostgreSQL. A aplicação será executada localmente e o banco de dados em container:
$ docker volume ls
DRIVER VOLUME NAME
local kubenews_vol
Banco de dados acessível:
Instalar as dependências:
/tmp/devops-kube-news/src$ npm install
added 116 packages, and audited 117 packages in 10s
10 packages are looking for funding
run `npm fund` for details
2 moderate severity vulnerabilities
To address all issues, run:
npm audit fix
Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 10.7.0 -> 10.8.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.2
npm notice To update run: npm install -g npm@10.8.2
npm notice
Execução da aplicação:
/tmp/devops-kube-news/src$ DB_DATABASE=kubenew DB_USERNAME=kubenews DB_PASSWORD=pg123 node server.js
Aplicação rodando na porta 8080
Executing (default): SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'Posts'
Executing (default): CREATE TABLE IF NOT EXISTS "Posts" ("id" SERIAL , "title" VARCHAR(255), "summary" VARCHAR(255), "publishDate" DATE, "content" VARCHAR(2000), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, PRIMARY KEY ("id"));
Executing (default): SELECT i.relname AS name, ix.indisprimary AS primary, ix.indisunique AS unique, ix.indkey AS indkey, array_agg(a.attnum) as column_indexes, array_agg(a.attname) AS column_names, pg_get_indexdef(ix.indexrelid) AS definition FROM pg_class t, pg_class i, pg_index ix, pg_attribute a WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND a.attrelid = t.oid AND t.relkind = 'r' and t.relname = 'Posts' GROUP BY i.relname, ix.indexrelid, ix.indisprimary, ix.indisunique, ix.indkey ORDER BY i.relname;