This commit is contained in:
alessandro barucci
2026-09-12 19:21:41 +02:00
parent 58a443a076
commit f8ffa9e065
19 changed files with 1275 additions and 3 deletions
+100
View File
@@ -0,0 +1,100 @@
kubectl cnpg psql pg-devops -n devops
CREATE DATABASE giteadbtest;
CREATE USER giteatest WITH PASSWORD 'KAYQE1QA7uwUZ8uI';
GRANT ALL PRIVILEGES ON DATABASE giteadbtest TO giteatest;
ALTER DATABASE giteadbtest OWNER TO giteatest;
helm repo add gitea https://dl.gitea.io/charts/
helm repo update
kubectl create namespace gitea
cat <<EOF |cat >valuestest.yaml -
replicaCount: 1
image:
repository: gitea/gitea
tag: 1.25.4-rootless
pullPolicy: IfNotPresent
strategy:
type: Recreate
service:
http:
type: ClusterIP
port: 3000
ssh:
type: ClusterIP
port: 22
redis-cluster:
enabled: false
redis:
enabled: false
ingress:
enabled: false
persistence:
enabled: true
storageClass: csi-rbdfs-sc
size: 10Gi
postgresql:
enabled: false
postgresql-ha:
enabled: false
gitea:
admin:
username: gitadmin
password: KAYQE1QA7uwUZ8uI
email: gitadmin@italiadatacenter.com
config:
database:
DB_TYPE: postgres
HOST: pg-devops-rw.devops.svc:5432
NAME: giteadbtest
USER: giteatest
PASSWD: KAYQE1QA7uwUZ8uI
SSL_MODE: disable
server:
ROOT_URL: https://git2.pigreco66.it/
SSH_DOMAIN: git2.pigreco66.it
SSH_PORT: 22
security:
INSTALL_LOCK: true
EOF
helm upgrade --install gitea gitea-charts/gitea --namespace gitea -f values.yaml
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: gitea
namespace: gitea
spec:
hostnames:
- git.italiadatacenter.com
parentRefs:
- name: main-gateway
namespace: nginx-gateway
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: gitea-http
port: 3000
@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: namespace-b
namespace: argocd
spec:
project: gitops-3ns
source:
repoURL: "https://github.com/<tua-org>/gitops-repo.git"
targetRevision: main
path: gitops/clusters/idc/namespace-B/manifests
destination:
server: "https://kubernetes.default.svc"
namespace: namespace-B
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+28 -3
View File
@@ -1,7 +1,32 @@
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
kubectl create namespace cattle-system
helm install rancher rancher-stable/rancher \
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=idc.internal --set bootstrapPassword=.... --set ingress.tls.source=rancher
helm upgrade rancher rancher-stable/rancher \
--namespace cattle-system \
--set hostname=k8s.italiadatacenter.com \
--set bootstrapPassword=admin
--reuse-values \
--set hostname=idc.internal \
--set bootstrapPassword=KAYQE1QA7uwUZ8uI \
--set ingress.enabled=false \
--set ingress.tls.source=rancher
Poc-25_sts
POC-25_sts
vi sistemarancher.sh
# 1. recupera il ClusterIP del service "rancher" già creato dal chart
CLUSTERIP=$(kubectl get svc -n cattle-system rancher -o jsonpath='{.spec.clusterIP}')
# 2. patch del deployment per aggiungere hostAliases
kubectl patch deployment rancher -n cattle-system --type='json' \
-p="[{\"op\":\"add\",\"path\":\"/spec/template/spec/hostAliases\",\"value\":[{\"ip\":\"$CLUSTERIP\",\"hostnames\":[\"idc.internal\"]}]}]"
# 3. crea il service NodePort per l'accesso dal browser
kubectl expose deployment rancher -n cattle-system --type=NodePort --port=443 --target-port=443 --name=rancher-nodeport
# 4. riavvia e segui i log
kubectl rollout restart deployment rancher -n cattle-system
kubectl -n cattle-system logs -l app=rancher -f
+136
View File
@@ -0,0 +1,136 @@
apiVersion: v1
kind: Secret
metadata:
name: opens3-console-secrets
namespace: minio
type: Opaque
stringData:
# Endpoint S3 del server MinIO a cui la console si collega.
# Cambialo con l'URL reale del tuo MinIO (Service interno o esterno).
CONSOLE_MINIO_SERVER: "http://minio.minio.svc.cluster.local:9000"
# Passphrase e salt usati da opens3/console per cifrare le sessioni
# (PBKDF2). Generane di robusti, es.:
# openssl rand -base64 32
CONSOLE_PBKDF_PASSPHRASE: "OHB576kn9SS4JdD7qG4+hyjRpa353HQqxPQ22z2Do0w="
CONSOLE_PBKDF_SALT: "OBHOWF2INklmrtmyI+qNEb3dbV0yz9ZAxiJJCcC6GYw="
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: opens3-console
namespace: minio
labels:
app.kubernetes.io/name: opens3-console
app.kubernetes.io/instance: opens3-console
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/name: opens3-console
app.kubernetes.io/instance: opens3-console
template:
metadata:
labels:
app.kubernetes.io/name: opens3-console
app.kubernetes.io/instance: opens3-console
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
containers:
- name: console
image: opens3/console:latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 9090
protocol: TCP
envFrom:
- secretRef:
name: opens3-console-secrets
# Se il MinIO target usa certificati self-signed, decommenta:
# env:
# - name: CONSOLE_MINIO_TLS_SKIP_VERIFICATION
# value: "on"
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 15
periodSeconds: 20
timeoutSeconds: 3
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 256Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
---
apiVersion: v1
kind: Service
metadata:
name: opens3-console
namespace: minio
labels:
app.kubernetes.io/name: opens3-console
app.kubernetes.io/instance: opens3-console
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: opens3-console
app.kubernetes.io/instance: opens3-console
ports:
- name: http
port: 80
targetPort: http
protocol: TCP
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: httproute-minio-direct
spec:
hostnames:
- idcidp.pigreco66.it
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: main-gateway
namespace: nginx-gateway
rules:
- backendRefs:
- group: ""
kind: Service
name: opens3-console
port: 80
weight: 1
filters:
- responseHeaderModifier:
remove:
- X-Frame-Options
- Content-Security-Policy
set:
- name: X-Frame-Options
value: SAMEORIGIN
- name: Content-Security-Policy
value: frame-ancestors 'self'
type: ResponseHeaderModifier
matches:
- path:
type: PathPrefix
value: /minio-console
+7
View File
@@ -2,6 +2,13 @@
helm repo add sonarqube https://SonarSource.github.io/helm-chart-sonarqube
helm repo update
helm pull sonarqube/sonarqube --version 2026.1.0
helm registry login harbor.italiadatacenter.com -u admin
(pwd: KAYQE1QA7uwUZ8uI)
helm push sonarqube-2026.1.0.tgz oci://harbor.italiadatacenter.com/italiadatacenter
########### creazione ns e secret db ################
kubectl create namespace sonarqube