Skip to content

Instantly share code, notes, and snippets.

@natemccurdy
Created September 20, 2018 05:55
Show Gist options
  • Save natemccurdy/11344bbd56205a0b4997edcf50f61e33 to your computer and use it in GitHub Desktop.
Save natemccurdy/11344bbd56205a0b4997edcf50f61e33 to your computer and use it in GitHub Desktop.
Puppet Stack: k8s (from pupperware)
---
# Postgres: Service
apiVersion: v1
kind: Service
metadata:
labels:
app: puppet
service: postgres
name: postgres
spec:
selector:
service: postgres
ports:
- port: 5432
---
# Postgres: Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgres
labels:
app: puppet
service: postgres
spec:
replicas: 1
template:
metadata:
labels:
app: puppet
service: postgres
spec:
containers:
- name: postgres
image: puppet/puppetdb-postgres:9.6.8
env:
- name: POSTGRES_PASSWORD
value: puppetdb
- name: POSTGRES_USER
value: puppetdb
ports:
- containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgres-data
hostname: postgres
restartPolicy: Always
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-data
---
# Postgres Volume: data
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-data
labels:
app: puppet
service: postgres
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# Puppet Service
apiVersion: v1
kind: Service
metadata:
name: puppet
labels:
app: puppet
service: puppetserver
spec:
selector:
service: puppetserver
ports:
- port: 8140
---
# Puppet Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: puppet
labels:
app: puppet
service: puppetserver
spec:
replicas: 1
template:
metadata:
labels:
app: puppet
service: puppetserver
spec:
containers:
- name: puppet
image: puppet/puppetserver:6.0.0
env:
- name: PUPPETDB_SERVER_URLS
value: https://puppetdb:8081
ports:
- containerPort: 8140
volumeMounts:
- mountPath: /etc/puppetlabs/code
name: puppet-code
- mountPath: /etc/puppetlabs/puppet
name: puppetserver-puppet
- mountPath: /opt/puppetlabs/server/data/puppetserver
name: puppetserver-data
hostname: puppet
restartPolicy: Always
volumes:
- name: puppet-code
persistentVolumeClaim:
claimName: puppet-code
- name: puppetserver-puppet
persistentVolumeClaim:
claimName: puppetserver-puppet
- name: puppetserver-data
persistentVolumeClaim:
claimName: puppetserver-data
---
# Puppet Volume: code
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: puppet-code
labels:
app: puppet
service: puppetserver
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# Puppet Volume: puppetserver data
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: puppetserver-data
labels:
app: puppet
service: puppetserver
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# Puppet Volume: puppet
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: puppetserver-puppet
labels:
app: puppet
service: puppetserver
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# PuppetDB service
apiVersion: v1
kind: Service
metadata:
name: puppetdb
labels:
app: puppet
service: puppetdb
spec:
selector:
service: puppetdb
ports:
- name: puppetdb-http
port: 8080
- name: puppetdb-https
port: 8081
---
# PuppetDB Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: puppetdb
labels:
app: puppet
service: puppetdb
spec:
replicas: 1
template:
metadata:
labels:
app: puppet
service: puppetdb
spec:
containers:
- name: puppetdb
image: puppet/puppetdb:6.0.0
env:
- name: PUPPETDB_PASSWORD
value: puppetdb
- name: PUPPETDB_USER
value: puppetdb
ports:
- containerPort: 8080
- containerPort: 8081
volumeMounts:
- mountPath: /etc/puppetlabs/puppet/ssl
name: puppetdb-ssl
hostname: puppetdb
restartPolicy: Always
volumes:
- name: puppetdb-ssl
persistentVolumeClaim:
claimName: puppetdb-ssl
---
# PuppetDB Volume: ssl
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: puppetdb-ssl
labels:
app: puppet
service: puppetdb
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment