Skip to content

Instantly share code, notes, and snippets.

@harsh4870
Created March 29, 2020 13:22
Show Gist options
  • Save harsh4870/d7da1fa6a7ea172ba2e82c918bcf9fa4 to your computer and use it in GitHub Desktop.
Save harsh4870/d7da1fa6a7ea172ba2e82c918bcf9fa4 to your computer and use it in GitHub Desktop.
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: sonarqube
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: it-support@example.com
privateKeySecretRef:
name: sonarqube
http01: {}
---
apiVersion: v1
kind: Service
metadata:
name: sonarqube-service
spec:
selector:
app: sonarqube
ports:
- protocol: TCP
port: 9000
targetPort: 9000
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: sonarqube
name: sonarqube
spec:
replicas: 1
template:
metadata:
labels:
app: sonarqube
spec:
containers:
- name: sonarqube
image: sonarqube:7.1
resources:
requests:
memory: "1200Mi"
cpu: .10
limits:
memory: "2500Mi"
cpu: .50
volumeMounts:
- mountPath: "/opt/sonarqube/data/"
name: sonar-data
- mountPath: "/opt/sonarqube/extensions/"
name: sonar-extensions
env:
- name: "SONARQUBE_JDBC_USERNAME"
value: "root" #Put your db username
- name: "SONARQUBE_JDBC_URL"
value: "jdbc:mysql://<My-IP>:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true" #DB URL
- name: "SONARQUBE_JDBC_PASSWORD"
valueFrom:
secretKeyRef:
name: sonarqube-mysql-secret
key: password
ports:
- containerPort: 9000
protocol: TCP
volumes:
- name: sonar-data
persistentVolumeClaim:
claimName: sonar-data
- name: sonar-extensions
persistentVolumeClaim:
claimName: sonar-extensions
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sonar-extensions
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sonar-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sonar-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
certmanager.k8s.io/cluster-issuer: sonarqube
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "20m"
spec:
tls:
- hosts:
- sonar.example.com
secretName: sonarqube
rules:
- host: sonar.example.com
http:
paths:
- backend:
serviceName: sonarqube-service
servicePort: 9000
---
apiVersion: v1
kind: Secret
metadata:
name: sonarqube-mysql-secret
type: Opaque
data:
password: eHGpMdsnaEsdfNnVNLjKv==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment