Merge pull request #8 from aggarwalakshun/add-semaphore
add semaphore manifests
This commit is contained in:
17
clusters/ipv6/git-ops/semaphore/semaphore-configmap.yml
Normal file
17
clusters/ipv6/git-ops/semaphore/semaphore-configmap.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: semaphore-config
|
||||||
|
namespace: git-ops
|
||||||
|
data:
|
||||||
|
SEMAPHORE_DB_USER: "semaphore"
|
||||||
|
SEMAPHORE_DB_HOST: "semaphore-db"
|
||||||
|
SEMAPHORE_DB_PORT: "3306"
|
||||||
|
SEMAPHORE_DB_DIALECT: "mysql"
|
||||||
|
SEMAPHORE_DB: "semaphore"
|
||||||
|
SEMAPHORE_PLAYBOOK_PATH: "/tmp/semaphore"
|
||||||
|
SEMAPHORE_ADMIN_NAME: "admin"
|
||||||
|
SEMAPHORE_ADMIN_EMAIL: "aggarwalakshun@gmail.com"
|
||||||
|
SEMAPHORE_ADMIN: "admin"
|
||||||
|
SEMAPHORE_LDAP_ACTIVATED: "'no'"
|
||||||
46
clusters/ipv6/git-ops/semaphore/semaphore-db.yml
Normal file
46
clusters/ipv6/git-ops/semaphore/semaphore-db.yml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: semaphore-db
|
||||||
|
namespace: git-ops
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: semaphore-db
|
||||||
|
serviceName: semaphore-db
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: semaphore-db
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: mysql
|
||||||
|
image: mysql:9.5.0
|
||||||
|
ports:
|
||||||
|
- containerPort: 3306
|
||||||
|
env:
|
||||||
|
- name: MYSQL_RANDOM_ROOT_PASSWORD
|
||||||
|
value: "'yes'"
|
||||||
|
- name: MYSQL_DATABASE
|
||||||
|
value: "semaphore"
|
||||||
|
- name: MYSQL_USER
|
||||||
|
value: "semaphore"
|
||||||
|
- name: MYSQL_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: semaphore-secrets
|
||||||
|
key: mysql_password
|
||||||
|
volumeMounts:
|
||||||
|
- name: semaphore-db
|
||||||
|
mountPath: /var/lib/mysql
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: semaphore-db
|
||||||
|
spec:
|
||||||
|
accessModes: ["ReadWriteOnce"]
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 2Gi
|
||||||
|
storageClassName: longhorn
|
||||||
27
clusters/ipv6/git-ops/semaphore/semaphore-ingress.yml
Normal file
27
clusters/ipv6/git-ops/semaphore/semaphore-ingress.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: semaphore-ingress
|
||||||
|
namespace: arr-stack
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-cloudflare
|
||||||
|
traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||||
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- semaphore.akshun-lab.cc
|
||||||
|
secretName: semaphore-tls
|
||||||
|
rules:
|
||||||
|
- host: semaphore.akshun-lab.cc
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: semaphore-service
|
||||||
|
port:
|
||||||
|
number: 3000
|
||||||
16
clusters/ipv6/git-ops/semaphore/semaphore-secret.yml
Normal file
16
clusters/ipv6/git-ops/semaphore/semaphore-secret.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
apiVersion: bitnami.com/v1alpha1
|
||||||
|
kind: SealedSecret
|
||||||
|
metadata:
|
||||||
|
name: semaphore-secrets
|
||||||
|
namespace: git-ops
|
||||||
|
spec:
|
||||||
|
encryptedData:
|
||||||
|
admin_password: AgAvzU2Kxf5AS9JSELN13bFPIAuvPhGPZS4cGl1gmVk5GT87FRYdIv8LpYACCd2voHsrymakkleR/oTXxAJDpMtkDFawRftvPpsEuNyt6aVPjMbN74HAuz3cRdgOQfwjMkawWd3RyHLY50ZYJaw8KwwVTuD8vO2SC3TYajRvVdfTwEMsVcffZBcpB5PNSvhzpqb66a+f78xQQI/10xLcBlFEYJ6+Mi1PwDVOb4aMuu5ezGVzzp/rmXBGTeT3mBpe4zZO6/mRJ9JvTEUGf6Btj9e8JiKhhNEuykPV46UlogryBLCTZDDHLUHx6GYbGluoU8AYIH5L7pV+UndZGqSlwWJFFX9zAkOPip1B5PQzAea5qWkrQ5ExAkIYjc42fpeiPhZtFlYGqeL+mckUsbrocwNAHYR9u1L6AiAOsIbTeSJ9K7Zs/IfaVmQlMDa2P4kICn39DWDu3DdCWvbubl+VZOedIOnysrdZJgEVcqKIBPChQBNfFFRX9/tqoeC0DRtJARLvcr3uwn1KZWS4GGhMAwwguwmrb3g8+IMUM9uKMO1WXBL9FaaI3cPEPebvNOiV2e//QvNSiUwAjlRvU/CEtmrZwTANu8nTbxBNT5MeFLvFdoLgDy715JGzyzIv5HDqCNh3KGmML4R3SHYieaDyDwh9RGEhfH9aS5ZWghru+h0i8Zoc/jRIQ7K1KCwwDOaX0+JIB51CEM/ac7QpPg==
|
||||||
|
key: AgChqM0qnZ9+lZWtqCx8gwZOL/2MxPlowGRixHK0XTNgkFFbrm/pKGV14fXkt0NIlZsBIdpqP0i+zwXdWO6qpS5paR8j0rxwPkdjQ8SWTq70H5NN8bj4eXt9PwkMtrq9c8dhJqXAa4T2lPV/vEQA6f/dsiWgHM9IxWsqkujXm4STtneBrG5dmiLRC/jXgkf1SkejLku7N3RZaYLGRtl/d+YTt+0W6IMTHraMnaFm18vX6JAZokgeF93zcXN0o9NnmcnIJ/WyJzmpaRLnSv8RVgeq8ONbxMo+Ke70QlqgmLwX3W4r18q5OGz+nqOugHAI2nKo/Ss3T1rnqL6no4RCCWa7YK8Yedx8EPhILMntgKENGtn0kZ0RNe+yqG+92FPQDv5lZFeLKTc0+fNWdlegBAq6VqFo6n/xwMJHKuyXV03l5ibPWBaxu3fUEdenhqePW6kD15zZ4pkKfoKbFNuqN9cGFO118Eb50X03J6+GtfO9Fx4ly/EarCPw3Rt8nYzliXw0m/DiBG7e0OiaftykK/aCJikZyUwawkdWoPq5umNcIzZ64YLdcozuQF2NZzn6E7DVeXPVCaOkIgd99dWXEhBijgmUUqMTvLzffFN//5Q2gTA/p2SByWAdFb1II552KMiGHPbgcq9zAzRwJeA52V02I53EfWsYP9wBViWmZ3+fB+clbfrb0ZAU7/xEk5ZQ1zklmZP6KtLpOngx2dIwbKpiAfKoY/YNv+4=
|
||||||
|
mysql_password: AgAuKcFk24AoA9N0QLobVhxDXRBzAspzvo0xFnVbDs6vB58Z3ExKiA6M9u9BboKLRHBlHBNcsjSI2YTDKm6OpwnLouatYQTitSo+KHUn7T7lXMNL9xv2Swpu3kOPvUG6YKRtIouFVvRLnww/yZZZ8OR6FQwgc7bmuKglFEd4t6R0hcsyozIuDt6TdzLmCLz3VtcKVZXsC4ACAHc51Ns+FZBaKyqLuFxojhB8MwI1NfE0o2JUojeO1cG767oSJDyM+5u8+eh4FYIDEUjFve/44f9LK4iZifkLHAyxVcBEA622/O8iMY0/RIh+nozffjih08eX8uRmDyevm4qeSbnrn/Xer+DYers40qaHokFey1psSG8zXBTToPqL9DEcg0EmhQcadsk3v8ZwwTbX3z72RcJsJkdbm295QkzXE4ZadaNI2bqYrf2l6ms4XkHhHC8qmhlQU+dNnDRKBQ/qgZrorD3EprKV4kpFjgQa7ICedNVv0UGmKMQpmCus8bT1T7NwnSaFTLIBOsWGXnQyF89ytvnHKzVdMnYjpVQgnGyDsVJtwwypuFu7ri7qi9M7bYT/wk9JaBq69V5yOxwT0/ZHB2ik4RZWWkY7cFuxNlYNStaYrYmdcB6Kdpr7JHHvexqcijj31xqmXPc9uuVSZqjg7/36AYGwY1GdGON5madm71XGpqvYue9r5hSAugK4/W0hzDJcYPonzXvkX730jg==
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: semaphore-secrets
|
||||||
|
namespace: git-ops
|
||||||
|
type: Opaque
|
||||||
27
clusters/ipv6/git-ops/semaphore/semaphore-svc.yml
Normal file
27
clusters/ipv6/git-ops/semaphore/semaphore-svc.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: semaphore-service
|
||||||
|
namespace: git-ops
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: semaphore
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 3000
|
||||||
|
targetPort: 3000
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: semaphore-db
|
||||||
|
namespace: git-ops
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: semaphore-db
|
||||||
|
ports:
|
||||||
|
- port: 3306
|
||||||
|
targetPort: 3306
|
||||||
|
clusterIP: None
|
||||||
53
clusters/ipv6/git-ops/semaphore/semaphore.yml
Normal file
53
clusters/ipv6/git-ops/semaphore/semaphore.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: semaphore
|
||||||
|
namespace: git-ops
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: semaphore
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: semaphore
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: semaphore
|
||||||
|
image: public.ecr.aws/semaphore/pro/server:v2.16.47
|
||||||
|
readinessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
nc -z semaphore-db.git-ops.svc.cluster.local 3306
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 3000
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: semaphore-config
|
||||||
|
env:
|
||||||
|
- name: SEMAPHORE_ADMIN_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: semaphore-secrets
|
||||||
|
key: admin_password
|
||||||
|
- name: SEMAPHORE_DB_PASS
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: semaphore-secrets
|
||||||
|
key: mysql_password
|
||||||
|
- name: SEMAPHORE_ACCESS_KEY_ENCRYPTION
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: semaphore-secrets
|
||||||
|
key: key
|
||||||
Reference in New Issue
Block a user