kubernites
Some checks failed
Cadoles/nineskeletor/pipeline/head There was a failure building this commit
Some checks failed
Cadoles/nineskeletor/pipeline/head There was a failure building this commit
This commit is contained in:
@ -0,0 +1,8 @@
|
||||
---
|
||||
nameReference:
|
||||
- kind: Secret
|
||||
fieldSpecs:
|
||||
- path: spec/superuserSecret/name
|
||||
kind: Cluster
|
||||
- path: spec/bootstrap/initdb/secret/name
|
||||
kind: Cluster
|
@ -0,0 +1,32 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1alpha1
|
||||
kind: Component
|
||||
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
|
||||
configurations:
|
||||
- ./configurations/cnpg-cluster.yaml
|
||||
|
||||
resources:
|
||||
- ./resources/app-cnpg-cluster.yaml
|
||||
|
||||
secretgenerator:
|
||||
- name: postgres-admin
|
||||
type: secret
|
||||
literals:
|
||||
- username=postgres
|
||||
- password=notsosecret
|
||||
- name: postgres-user
|
||||
type: Secret
|
||||
literals:
|
||||
- username=app
|
||||
- password=NotSoSecretButThisIsBad
|
||||
|
||||
vars:
|
||||
- name: POSTGRES_DATABASE_SERVICE_NAME
|
||||
objref:
|
||||
name: postgres
|
||||
kind: Cluster
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
@ -0,0 +1,17 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: postgres
|
||||
spec:
|
||||
instances: 3
|
||||
primaryUpdateStrategy: unsupervised
|
||||
superuserSecret:
|
||||
name: postgres-admin
|
||||
bootstrap:
|
||||
initdb:
|
||||
database: app
|
||||
owner: app
|
||||
secret:
|
||||
name: postgres-user
|
||||
storage:
|
||||
size: 20Gi
|
10
misc/k8s/kustomization/base/kustomization.yaml
Normal file
10
misc/k8s/kustomization/base/kustomization.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
components:
|
||||
- components/app-cnpg
|
||||
|
||||
resources:
|
||||
- resources/app
|
||||
- resources/minio
|
||||
- resources/redis
|
@ -0,0 +1,26 @@
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: adminer
|
||||
name: adminer
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: adminer
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: adminer
|
||||
spec:
|
||||
containers:
|
||||
- name: adminer
|
||||
image: reg.cadoles.com/afornerot/adminer
|
||||
imagePullPolicy: "Always"
|
||||
env:
|
||||
- name: ADMINER_DESIGN
|
||||
value: "pappu687"
|
||||
ports:
|
||||
- containerPort: 80
|
||||
resources: {}
|
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: adminer
|
||||
name: adminer
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: adminer
|
||||
port: 8080
|
||||
targetPort: 80
|
||||
selector:
|
||||
io.kompose.service: adminer
|
@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- adminer-deployment.yaml
|
||||
- adminer-service.yaml
|
@ -0,0 +1,90 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
name: app
|
||||
spec:
|
||||
replicas: 3
|
||||
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: app
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
spec:
|
||||
restartPolicy: Always
|
||||
containers:
|
||||
- image: reg.cadoles.com/afornerot/nineskeletor
|
||||
imagePullPolicy: Always
|
||||
name: app-php-fpm
|
||||
args: ["/usr/sbin/php-fpm81", "-F", "-e"]
|
||||
resources: {}
|
||||
env:
|
||||
- name: PHP_FPM_LISTEN
|
||||
value: 127.0.0.1:9000
|
||||
- name: PHP_MEMORY_LIMIT
|
||||
value: 128m
|
||||
- name: PHP_FPM_MEMORY_LIMIT
|
||||
value: 128m
|
||||
- name: PHP_FPM_LOG_LEVEL
|
||||
value: warning
|
||||
- name: POSTGRES_DATABASE_SERVICE_NAME
|
||||
value: $(POSTGRES_DATABASE_SERVICE_NAME)-rw
|
||||
- name: POSTGRES_DATABASE_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-user
|
||||
key: username
|
||||
- name: POSTGRES_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-user
|
||||
key: password
|
||||
- name: DATABASE_URL
|
||||
value: "postgresql://$(POSTGRES_DATABASE_USERNAME):$(POSTGRES_DATABASE_PASSWORD)@$(POSTGRES_DATABASE_SERVICE_NAME)-rw:5432/app"
|
||||
- name: REDIS_HOST
|
||||
value: rfs-$(REDIS_SERVICE_NAME)
|
||||
- name: REDIS_PORT
|
||||
value: "26379"
|
||||
- name: MINIO_SERVICE_NAME
|
||||
value: $(MINIO_SERVICE_NAME)
|
||||
- name: MINIO_URL
|
||||
value: "http://$(MINIO_SERVICE_NAME):9000"
|
||||
- name: MINIO_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: minio-secret
|
||||
key: minio-root-user
|
||||
- name: MINIO_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: minio-secret
|
||||
key: minio-root-password
|
||||
|
||||
lifecycle:
|
||||
postStart:
|
||||
exec:
|
||||
command: ["/bin/sh", "-c", "/app/bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration && /app/bin/console app:Init"]
|
||||
- image: reg.cadoles.com/afornerot/nineskeletor
|
||||
imagePullPolicy: Always
|
||||
name: app-nginx
|
||||
args: ["/usr/sbin/nginx"]
|
||||
env:
|
||||
- name: NGINX_APP_UPSTREAM_BACKEND_SERVER
|
||||
value: 127.0.0.1:9000
|
||||
- name: NGINX_APP_ROOT
|
||||
value: "/public"
|
||||
- name: NGINX_APP_PHP_INDEX
|
||||
value: "/index.php"
|
||||
- name: NGINX_ERROR_LOG_LEVEL
|
||||
value: "warn"
|
||||
- name: NGINX_APP_PHP_NON_FILE_PATTERN
|
||||
value: "^/index\\.php(/|$)"
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
resources: {}
|
14
misc/k8s/kustomization/base/resources/app/app-service.yaml
Normal file
14
misc/k8s/kustomization/base/resources/app/app-service.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: app
|
||||
name: app
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: app
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
io.kompose.service: app
|
@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- app-service.yaml
|
||||
- app-deployment.yaml
|
@ -0,0 +1,23 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- minio-persistentvolumeclaim.yaml
|
||||
- minio-deployment.yaml
|
||||
- minio-service.yaml
|
||||
- minio-tenant.yaml
|
||||
|
||||
secretGenerator:
|
||||
- name: minio-secret
|
||||
literals:
|
||||
- "minio-root-user=minio"
|
||||
- "minio-root-password=minio123"
|
||||
|
||||
vars:
|
||||
- name: MINIO_SERVICE_NAME
|
||||
objref:
|
||||
name: minio
|
||||
apiVersion: minio.min.io/v2
|
||||
kind: Tenant
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
@ -0,0 +1,44 @@
|
||||
---
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: minio
|
||||
labels:
|
||||
io.kompose.service: minio
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: minio
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: minio
|
||||
spec:
|
||||
containers:
|
||||
- name: minio
|
||||
image: reg.cadoles.com/proxy_cache/minio/minio
|
||||
command: ["minio"]
|
||||
args: ["server", "/data"]
|
||||
ports:
|
||||
- name: web-ui
|
||||
containerPort: 9000
|
||||
volumeMounts:
|
||||
- name: minio-data
|
||||
mountPath: /data
|
||||
resources: {}
|
||||
env:
|
||||
- name: MINIO_ROOT_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: minio-secret
|
||||
key: minio-root-user
|
||||
- name: MINIO_ROOT_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: minio-secret
|
||||
key: minio-root-password
|
||||
volumes:
|
||||
- name: minio-data
|
||||
persistentVolumeClaim:
|
||||
claimName: minio-data
|
@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: minio
|
||||
name: minio-data
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
status: {}
|
@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: minio
|
||||
name: minio
|
||||
spec:
|
||||
ports:
|
||||
- name: minio
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
selector:
|
||||
io.kompose.service: minio
|
||||
status:
|
||||
loadBalancer: {}
|
@ -0,0 +1,26 @@
|
||||
apiVersion: minio.min.io/v2
|
||||
kind: Tenant
|
||||
metadata:
|
||||
name: minio
|
||||
spec:
|
||||
pools:
|
||||
- servers: 4
|
||||
name: pool-0
|
||||
volumesPerServer: 2
|
||||
volumeClaimTemplate:
|
||||
metadata:
|
||||
name: minio-data
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
containerSecurityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
configuration:
|
||||
name: minio-configuration
|
||||
users:
|
||||
- name: minio-user
|
@ -0,0 +1,22 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- openldap-deployment.yaml
|
||||
- openldap-service.yaml
|
||||
|
||||
vars:
|
||||
- name: OPENLDAP_SERVICE_NAME
|
||||
objref:
|
||||
name: openldap
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
|
||||
secretGenerator:
|
||||
- name: openldap-secret
|
||||
literals:
|
||||
- "adminpassword=openldap"
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
---
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: openldap
|
||||
labels:
|
||||
app.kubernetes.io/name: openldap
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: openldap
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: openldap
|
||||
spec:
|
||||
containers:
|
||||
- name: openldap
|
||||
image: docker.io/bitnami/openldap:latest
|
||||
imagePullPolicy: "Always"
|
||||
env:
|
||||
- name: LDAP_USERS
|
||||
value: ""
|
||||
- name: LDAP_PASSWORDS
|
||||
value: ""
|
||||
- name: LDAP_ADMIN_USERNAME
|
||||
value: "admin"
|
||||
- name: LDAP_ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: openldap-secret
|
||||
key: adminpassword
|
||||
- name: LDAP_ROOT
|
||||
value: "dc=nine,dc=fr"
|
||||
ports:
|
||||
- containerPort: 1389
|
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: openldap
|
||||
labels:
|
||||
app.kubernetes.io/name: openldap
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: openldap
|
||||
port: 389
|
||||
targetPort: 1389
|
||||
selector:
|
||||
app.kubernetes.io/name: openldap
|
@ -0,0 +1,7 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- phpldapadmin-deployment.yaml
|
||||
- phpldapadmin-service.yaml
|
||||
|
@ -0,0 +1,34 @@
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: phpldapadmin
|
||||
name: phpldapadmin
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: phpldapadmin
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: phpldapadmin
|
||||
spec:
|
||||
containers:
|
||||
- name: phpldapadmin
|
||||
image: osixia/phpldapadmin:latest
|
||||
imagePullPolicy: "Always"
|
||||
env:
|
||||
- name: PHPLDAPADMIN_HTTPS
|
||||
value: "false"
|
||||
- name: PHPLDAPADMIN_LDAP_HOSTS
|
||||
value: $(OPENLDAP_SERVICE_NAME)
|
||||
- name: PHPLDAPADMIN_LDAP_CLIENT_TLS
|
||||
value: "false"
|
||||
ports:
|
||||
- containerPort: 80
|
||||
resources: {}
|
||||
restartPolicy: Always
|
||||
serviceAccountName: ""
|
||||
volumes: null
|
||||
status: {}
|
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: phpldapadmin
|
||||
name: phpldapadmin
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: phpldapadmin
|
||||
port: 8080
|
||||
targetPort: 80
|
||||
selector:
|
||||
io.kompose.service: phpldapadmin
|
@ -0,0 +1,14 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- redis-redisfailover.yaml
|
||||
|
||||
vars:
|
||||
- name: REDIS_SERVICE_NAME
|
||||
objref:
|
||||
name: redis
|
||||
apiVersion: databases.spotahome.com/v1
|
||||
kind: RedisFailover
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
@ -0,0 +1,21 @@
|
||||
apiVersion: databases.spotahome.com/v1
|
||||
kind: RedisFailover
|
||||
metadata:
|
||||
name: redis
|
||||
spec:
|
||||
sentinel:
|
||||
replicas: 3
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
limits:
|
||||
memory: 100Mi
|
||||
redis:
|
||||
replicas: 3
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
limits:
|
||||
cpu: 400m
|
||||
memory: 500Mi
|
@ -0,0 +1,24 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- sftp-deployment.yaml
|
||||
- sftp-service.yaml
|
||||
|
||||
vars:
|
||||
- name: SFTP_SERVICE_NAME
|
||||
objref:
|
||||
name: sftp
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
|
||||
secretGenerator:
|
||||
- name: sftp-secret
|
||||
literals:
|
||||
- "user=user"
|
||||
- "password=pass"
|
||||
- "users=user:pass:1001:1001"
|
||||
|
||||
|
@ -0,0 +1,27 @@
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftp
|
||||
name: sftp
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: sftp
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftp
|
||||
spec:
|
||||
containers:
|
||||
- name: sftp
|
||||
image: atmoz/sftp
|
||||
ports:
|
||||
- containerPort: 22
|
||||
env:
|
||||
- name: SFTP_USERS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: sftp-secret
|
||||
key: users
|
14
misc/k8s/kustomization/base/resources/sftp/sftp-service.yaml
Normal file
14
misc/k8s/kustomization/base/resources/sftp/sftp-service.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftp
|
||||
name: sftp
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: sftp
|
||||
port: 22
|
||||
targetPort: 22
|
||||
selector:
|
||||
io.kompose.service: sftp
|
@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- sftpbrowser-deployment.yaml
|
||||
- sftpbrowser-service.yaml
|
@ -0,0 +1,40 @@
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftpbrowser
|
||||
name: sftpbrowser
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: sftpbrowser
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftpbrowser
|
||||
spec:
|
||||
containers:
|
||||
- name: sftpbrowser
|
||||
image: reg.cadoles.com/afornerot/sftpbrowser
|
||||
imagePullPolicy: "Always"
|
||||
env:
|
||||
- name: SFTP_HOST
|
||||
value: ${SFTP_SERVICE_NAME}
|
||||
- name: SFTP_PORT
|
||||
value: "22"
|
||||
- name: SFTP_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: sftp-secret
|
||||
key: user
|
||||
- name: SFTP_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: sftp-secret
|
||||
key: password
|
||||
- name: FAKE_FILES
|
||||
value: '["AFNOR"]'
|
||||
ports:
|
||||
- containerPort: 80
|
||||
resources: {}
|
@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: sftpbrowser
|
||||
name: sftpbrowser
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- name: sftpbrowser
|
||||
port: 8080
|
||||
targetPort: 80
|
||||
selector:
|
||||
io.kompose.service: sftpbrowser
|
3
misc/k8s/kustomization/base/secrets/.gitignore
vendored
Normal file
3
misc/k8s/kustomization/base/secrets/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*
|
||||
!.gitignore
|
||||
!.gitkeep
|
0
misc/k8s/kustomization/base/secrets/.gitkeep
Normal file
0
misc/k8s/kustomization/base/secrets/.gitkeep
Normal file
Reference in New Issue
Block a user