gitops
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user