Skip to content

Instantly share code, notes, and snippets.

apiVersion: v1
kind: Secret
metadata:
name: mysql-password
namespace: kubernetes-for-laravel
type: Opaque
stringData:
password: password
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
namespace: kubernetes-for-laravel
labels:
tier: backend
data:
config : |
server {
apiVersion: apps/v1
kind: Deployment
metadata:
name: php
labels:
tier: backend
spec:
replicas: 1
selector:
matchLabels:
name: Laravel
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
laravel-tests:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kubernetes-for-laravel-production
namespace: kubernetes-for-laravel
spec:
secretName: kfl-production-certificate
issuerRef:
name: letsencrypt-production
dnsNames:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt-production
namespace: kubernetes-for-laravel
spec:
acme:
# Production API
server: https://acme-v02.api.letsencrypt.org/directory
email: admin@kubernetesforlaravel.com
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: kubernetes-for-laravel-staging
namespace: kubernetes-for-laravel
spec:
secretName: kfl-staging-certificate
issuerRef:
name: letsencrypt-staging
dnsNames:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt-staging
namespace: kubernetes-for-laravel
spec:
acme:
# Staging API
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: admin@kubernetesforlaravel.com
apiVersion: v1
kind: Namespace
metadata:
name: kubernetes-for-laravel
labels:
tier: backend
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
tier: backend
spec:
replicas: 1
selector:
matchLabels: