feat: adicionar arquivos de configuração para ambiente Docker e Kubernetes

main
“guiherme” 2025-11-19 14:12:55 -03:00
parent 0c65128844
commit d3cdc14d67
34 changed files with 812 additions and 0 deletions

26
.dockerignore Normal file
View File

@ -0,0 +1,26 @@
Created by https://www.toptal.com/developers/gitignore/api/maven
# Edit at https://www.toptal.com/developers/gitignore?templates=maven
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
# Eclipse m2e generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
# End of https://www.toptal.com/developers/gitignore/api/maven
.idea
.env*

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

2
.prettierignore Normal file
View File

@ -0,0 +1,2 @@
node_modules/
dist/

11
.prettierrc Normal file
View File

@ -0,0 +1,11 @@
{
"singleQuote": true,
"endOfLine": "lf",
"bracketSpacing": true,
"bracketSameLine": true,
"arrowParens": "always",
"tabWidth": 2,
"semi": true,
"trailingComma": "all",
"useTabs": false
}

12
Dockerfile Normal file
View File

@ -0,0 +1,12 @@
FROM node:20-alpine
WORKDIR /code
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm install
COPY . .
CMD [ "npm", "run", "dev" ]

72
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,72 @@
@Library('jenkins-library') _
pipeline {
agent {label 'docker-slave'}
parameters {
string(name: 'PROJETO', defaultValue: 'agfrotapainelweb', description: 'Digite o nome do projeto:')
choice(name: 'AMBIENTE', choices: ['HML','BETA','PRD'], description: 'Selecione o Ambiente para publicação:')
string(name: 'TAG', defaultValue: '', description: 'Digite a tag da imagem caso deseje republicar uma versão já existente:')
}
environment {
DOCKERIMAGE = " "
MAIL_NOTIFICATION_RECIPIENTS = "rafael.deda@gmail.com"
}
stages{
stage('Build e Construção da Imagem') {
when {
environment name: 'TAG', value: ''
}
steps{
script{
DOCKERIMAGE = buildImages(DOCKERIMAGE)
}
}
}
stage('Submeter Imagem ao Registry') {
when {
environment name: 'TAG', value: ''
}
steps{
script{
DOCKERIMAGE = publishImages(DOCKERIMAGE)
}
}
}
stage('Deploy no Ambiente Selecionado no Cluster') {
when {
anyOf {
environment name: 'AMBIENTE', value: 'BETA'
environment name: 'AMBIENTE', value: 'PRD'
}
}
steps {
deployCluster()
}
}
stage('Deploy no Ambiente on Promise') {
when {
allOf {
environment name: 'AMBIENTE', value: 'HML'
environment name: 'ON_PROMISE', value: '1'
}
}
steps{
deployCluster('k8s-inovesolutions-hml')
}
}
// stage('Limpando Imagens') {
// agent {label 'conteiner'}
// steps{
// limpandoImagens()
// }
// }
}
post {
always {
//sendNotification()
cleanWorkspace()
}
}
}

13
k8s/BETA/certificate.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: agapesistemas-PROJETOAMBIENTE-tls
namespace: agapesistemas-ns-AMBIENTE
spec:
dnsNames:
- PROJETOAMBIENTE.agapesistemas.com.br
issuerRef:
group: cert-manager.io
kind: ClusterIssuer
name: letsencrypt-prod
secretName: agapesistemas-PROJETOAMBIENTE-tls

View File

@ -0,0 +1,64 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- PROJETO
topologyKey: kubernetes.io/hostname
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
- secretRef:
name: agapesistemas-db-role-credential-sc
optional: false
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 1000Mi
requests:
memory: 780Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

51
k8s/BETA/deployment.yaml Normal file
View File

@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 1200Mi
requests:
memory: 1000Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

19
k8s/BETA/hpa.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: agapesistemas-PROJETO-hpa
namespace: agapesistemas-ns-AMBIENTE
spec:
maxReplicas: 1
metrics:
- resource:
name: memory
target:
averageValue: 780Mi
type: AverageValue
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: PROJETO-dp-AMBIENTE

23
k8s/BETA/ingress.yaml Normal file
View File

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
traefik.ingress.kubernetes.io/router.middlewares: traefik-http-to-https-redirectscheme@kubernetescrd,traefik-enable-cors-header@kubernetescrd
name: agapesistemas-PROJETO-ing
namespace: agapesistemas-ns-AMBIENTE
spec:
ingressClassName: traefik
rules:
- host: PROJETOAMBIENTE.agapesistemas.com.br
http:
paths:
- backend:
service:
name: agapesistemas-PROJETO-svc
port:
number: 8080
pathType: ImplementationSpecific
tls:
- hosts:
- PROJETOAMBIENTE.agapesistemas.com.br
secretName: agapesistemas-PROJETOAMBIENTE-tls

18
k8s/BETA/service.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
annotations:
traefik.ingress.kubernetes.io/service.sticky.cookie: 'true'
#traefik.ingress.kubernetes.io/service.sticky.cookie.name: JSESSIONID
traefik.ingress.kubernetes.io/service.sticky.cookie.secure: 'true'
name: agapesistemas-PROJETO-svc
namespace: agapesistemas-ns-AMBIENTE
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: PROJETO
type: ClusterIP

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: agapesistemas-PROJETO-cm
namespace: agapesistemas-ns-AMBIENTE

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: agapesistemas-PROJETO-sc
namespace: agapesistemas-ns-AMBIENTE

13
k8s/HML/certificate.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: agapesistemas-PROJETOAMBIENTE-tls
namespace: agapesistemas-ns-AMBIENTE
spec:
dnsNames:
- PROJETOAMBIENTE.agapesistemas.com.br
issuerRef:
group: cert-manager.io
kind: ClusterIssuer
name: letsencrypt-prod
secretName: agapesistemas-PROJETOAMBIENTE-tls

View File

@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- PROJETO
topologyKey: kubernetes.io/hostname
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
- secretRef:
name: agapesistemas-db-role-credential-sc
optional: false
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 857Mi
requests:
memory: 720Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

48
k8s/HML/deployment.yaml Normal file
View File

@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 1800Mi
requests:
memory: 1008Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

19
k8s/HML/hpa.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: agapesistemas-PROJETO-hpa
namespace: agapesistemas-ns-AMBIENTE
spec:
maxReplicas: 1
metrics:
- resource:
name: memory
target:
averageValue: 720Mi
type: AverageValue
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: PROJETO-dp-AMBIENTE

23
k8s/HML/ingress.yaml Normal file
View File

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
traefik.ingress.kubernetes.io/router.middlewares: traefik-http-to-https-redirectscheme@kubernetescrd,traefik-enable-cors-header@kubernetescrd
name: agapesistemas-PROJETO-ing
namespace: agapesistemas-ns-AMBIENTE
spec:
ingressClassName: traefik
rules:
- host: PROJETOAMBIENTE.agapesistemas.com.br
http:
paths:
- backend:
service:
name: agapesistemas-PROJETO-svc
port:
number: 8080
pathType: ImplementationSpecific
tls:
- hosts:
- PROJETOAMBIENTE.agapesistemas.com.br
secretName: agapesistemas-PROJETOAMBIENTE-tls

18
k8s/HML/service.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
annotations:
traefik.ingress.kubernetes.io/service.sticky.cookie: 'true'
#traefik.ingress.kubernetes.io/service.sticky.cookie.name: JSESSIONID
traefik.ingress.kubernetes.io/service.sticky.cookie.secure: 'true'
name: agapesistemas-PROJETO-svc
namespace: agapesistemas-ns-AMBIENTE
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: PROJETO
type: ClusterIP

View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: agapesistemas-PROJETO-cm
namespace: agapesistemas-ns-AMBIENTE
data:
VITE_API_URL: 'https://agpainelapi.hml.agapesistemas.com.br'

View File

@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: agapesistemas-PROJETO-sc
namespace: agapesistemas-ns-AMBIENTE

13
k8s/PRD/certificate.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: agapesistemas-PROJETOAMBIENTE-tls
namespace: agapesistemas-ns-AMBIENTE
spec:
dnsNames:
- PROJETOAMBIENTE.agapesistemas.com.br
issuerRef:
group: cert-manager.io
kind: ClusterIssuer
name: letsencrypt-prod
secretName: agapesistemas-PROJETOAMBIENTE-tls

View File

@ -0,0 +1,58 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- PROJETO
topologyKey: kubernetes.io/hostname
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 7142Mi
requests:
memory: 6000Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE-high
imagePullSecrets:
- name: registry-agapesistemas

View File

@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- PROJETO
topologyKey: kubernetes.io/hostname
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
- secretRef:
name: agapesistemas-db-role-credential-sc
optional: false
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 1000Mi
requests:
memory: 780Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

48
k8s/PRD/deployment.yaml Normal file
View File

@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
name: PROJETO-dp-AMBIENTE
namespace: agapesistemas-ns-AMBIENTE
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
template:
metadata:
labels:
app: PROJETO
workload.user.cattle.io/workloadselector: apps.deployment-agapesistemas-ns-AMBIENTE-PROJETO
namespace: agapesistemas-ns-AMBIENTE
spec:
containers:
- env:
- name: TZ
value: America/Maceio
envFrom:
- secretRef:
name: agapesistemas-db-credential-sc
- secretRef:
name: agapesistemas-PROJETO-sc
- configMapRef:
name: agapesistemas-PROJETO-cm
image: IMAGEM:TAG
name: PROJETO
ports:
- containerPort: 8080
name: http
protocol: TCP
resources:
limits:
memory: 1200Mi
requests:
memory: 1000Mi
nodeSelector:
doks.digitalocean.com/node-pool: pool-k8s-agapesistemas-app-AMBIENTE
imagePullSecrets:
- name: registry-agapesistemas

19
k8s/PRD/hpa-high.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: agapesistemas-PROJETO-hpa
namespace: agapesistemas-ns-AMBIENTE
spec:
maxReplicas: 3
metrics:
- resource:
name: memory
target:
averageValue: 6000Mi
type: AverageValue
type: Resource
minReplicas: 2
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: PROJETO-dp-AMBIENTE

19
k8s/PRD/hpa.yaml Normal file
View File

@ -0,0 +1,19 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: agapesistemas-PROJETO-hpa
namespace: agapesistemas-ns-AMBIENTE
spec:
maxReplicas: 1
metrics:
- resource:
name: memory
target:
averageValue: 780Mi
type: AverageValue
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: PROJETO-dp-AMBIENTE

23
k8s/PRD/ingress.yaml Normal file
View File

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
traefik.ingress.kubernetes.io/router.middlewares: traefik-http-to-https-redirectscheme@kubernetescrd,traefik-enable-cors-header@kubernetescrd
name: agapesistemas-PROJETO-ing
namespace: agapesistemas-ns-AMBIENTE
spec:
ingressClassName: traefik
rules:
- host: PROJETOAMBIENTE.agapesistemas.com.br
http:
paths:
- backend:
service:
name: agapesistemas-PROJETO-svc
port:
number: 8080
pathType: ImplementationSpecific
tls:
- hosts:
- PROJETOAMBIENTE.agapesistemas.com.br
secretName: agapesistemas-PROJETOAMBIENTE-tls

18
k8s/PRD/service.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
annotations:
traefik.ingress.kubernetes.io/service.sticky.cookie: 'true'
#traefik.ingress.kubernetes.io/service.sticky.cookie.name: JSESSIONID
traefik.ingress.kubernetes.io/service.sticky.cookie.secure: 'true'
name: agapesistemas-PROJETO-svc
namespace: agapesistemas-ns-AMBIENTE
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: PROJETO
type: ClusterIP

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: agapesistemas-PROJETO-cm
namespace: agapesistemas-ns-AMBIENTE

View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: agapesistemas-PROJETO-cm
namespace: agapesistemas-ns-AMBIENTE
data:
VITE_API_URL: 'https://agpainelapiprd.agapesistemas.com.br'

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: agapesistemas-PROJETO-sc
namespace: agapesistemas-ns-AMBIENTE

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: agapesistemas-PROJETO-sc
namespace: agapesistemas-ns-AMBIENTE