apiVersion: v1
kind: Namespace
metadata:
name: semaphore
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: semaphore-mysql
namespace: semaphore
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: mysql
name: mysql
namespace: semaphore
spec:
replicas: 1
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- env:
- name: MYSQL_DATABASE
value: semaphore
- name: MYSQL_PASSWORD
value: semaphore
- name: MYSQL_RANDOM_ROOT_PASSWORD
value: "yes"
- name: MYSQL_USER
value: semaphore
image: mysql:8.0
name: mysql
ports:
- containerPort: 3306
resources: {}
volumeMounts:
- mountPath: /var/lib/mysql
name: semaphore-mysql
hostname: mysql
restartPolicy: Always
volumes:
- name: semaphore-mysql
persistentVolumeClaim:
claimName: semaphore-mysql
status: {}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: mysql
name: mysql
namespace: semaphore
spec:
ports:
- name: "3306"
port: 3306
targetPort: 3306
selector:
app: mysql
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: semaphore
name: semaphore
namespace: semaphore
spec:
replicas: 1
selector:
matchLabels:
app: semaphore
strategy:
type: Recreate
template:
metadata:
labels:
app: semaphore
spec:
containers:
- env:
- name: SEMAPHORE_ACCESS_KEY_ENCRYPTION
value: gs72mPntFATGJs9qK0pQ0rKtfidlexiMjYCH9gWKhTU=
- name: SEMAPHORE_ADMIN
value: admin
- name: SEMAPHORE_ADMIN_EMAIL
value: admin@localhost
- name: SEMAPHORE_ADMIN_NAME
value: admin
- name: SEMAPHORE_ADMIN_PASSWORD
value: changeme
#valueFrom:
# secretKeyRef:
# name: mysqlpwd
# key: password
- name: SEMAPHORE_DB
value: semaphore
- name: SEMAPHORE_DB_DIALECT
value: mysql
- name: SEMAPHORE_DB_HOST
value: mysql
- name: SEMAPHORE_DB_PASS
value: semaphore
- name: SEMAPHORE_DB_PORT
value: "3306"
- name: SEMAPHORE_DB_USER
value: semaphore
- name: SEMAPHORE_LDAP_ACTIVATED
value: "no"
- name: SEMAPHORE_LDAP_DN_BIND
value: uid=bind_user,cn=users,cn=accounts,dc=local,dc=shiftsystems,dc=net
- name: SEMAPHORE_LDAP_DN_SEARCH
value: dc=local,dc=example,dc=com
- name: SEMAPHORE_LDAP_HOST
value: dc01.local.example.com
- name: SEMAPHORE_LDAP_NEEDTLS
value: "yes"
- name: SEMAPHORE_LDAP_PASSWORD
value: ldap_bind_account_password
- name: SEMAPHORE_LDAP_PORT
value: "636"
- name: SEMAPHORE_LDAP_SEARCH_FILTER
value: (&(uid=%s)(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=local,dc=example,dc=com))
- name: SEMAPHORE_PLAYBOOK_PATH
value: /tmp/semaphore/
- name: WEB_HOST
value: /semaphore/
#image: semaphoreui/semaphore:latest ### for X86_64
image: balantj/semaphore:arm64 ### for arm64
name: semaphore
ports:
- containerPort: 3000
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: semaphore
name: semaphore
namespace: semaphore
spec:
ports:
- name: http
port: 80
targetPort: 3000
selector:
app: semaphore
status:
loadBalancer: {}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: semaphore-ingress
namespace: semaphore
annotations:
kubernetes.io/ingress.class: "traefik"
cert-manager.io/cluster-issuer: self-signed-issuer
traefik.ingress.kubernetes.io/router.tls: "true"
status:
loadBalancer:
ingress:
- ip: 192.168.223.95
spec:
ingressClassName: traefik
tls:
- hosts:
- semaphore.example.local
secretName: semaphore-tls
rules:
- host: semaphore.example.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: semaphore
port:
number: 80
Content type
Image
Digest
sha256:a496c1ade…
Size
116.5 MB
Last updated
over 3 years ago
docker pull balantj/semaphore:arm64