working i think

This commit is contained in:
2018-09-30 15:06:59 -04:00
parent 319d815296
commit c0bfe4464e
11 changed files with 203 additions and 205 deletions
+3
View File
@@ -8,6 +8,9 @@ RUN echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/ap
RUN apt-get update
RUN apt-get install -y kubectl
RUN mkdir -p /opt/buildpacks
# VOLUME /opt/buildpacks
COPY . /app
RUN pip3 install -e .
CMD bruce-operator watch
-11
View File
@@ -1,11 +0,0 @@
{
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "bruce",
"labels": {
"name": "bruce"
}
}
}
-13
View File
@@ -1,13 +0,0 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: apps.bruce.kennethreitz.org
spec:
group: bruce.kennethreitz.org
names:
kind: App
listKind: appList
plural: apps
singular: app
scope: Namespaced
version: v1alpha1
-14
View File
@@ -1,14 +0,0 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: buildpacks.bruce.kennethreitz.org
spec:
group: bruce.kennethreitz.org
names:
kind: Buildpack
listKind: buildpackList
plural: buildpacks
singular: buildpack
shortNames: [bp,]
scope: Namespaced
version: v1alpha1
-14
View File
@@ -1,14 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: buildpacks-volume
name: buildpacks-volume
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Gi
status: {}
-66
View File
@@ -1,66 +0,0 @@
apiVersion: v1
items:
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "ruby"
buildkit: "heroku/ruby"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "nodejs"
buildkit: "heroku/nodejs"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "clojure"
buildkit: "heroku/clojure"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "python"
buildkit: "heroku/python"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "java"
buildkit: "heroku/java"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "gradle"
buildkit: "heroku/gradle"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "scala"
buildkit: "heroku/scala"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "php"
buildkit: "heroku/php"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "go"
buildkit: "heroku/go"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "elixir"
buildkit: "hashnuke/elixir"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "static"
repo: "https://github.com/dokku/buildpack-nginx"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "multi"
repo: "https://github.com/heroku/heroku-buildpack-multi"
kind: List
metadata:
resourceVersion: ""
selfLink: ""
+199 -15
View File
@@ -1,3 +1,11 @@
---
kind: Namespace
apiVersion: v1
metadata:
name: bruce
labels:
name: bruce
---
apiVersion: v1
kind: ServiceAccount
metadata:
@@ -33,31 +41,133 @@ subjects:
name: bruce-operator
namespace: bruce
---
apiVersion: apps/v1
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: buildpacks.bruce.kennethreitz.org
spec:
group: bruce.kennethreitz.org
names:
kind: Buildpack
listKind: buildpackList
plural: buildpacks
singular: buildpack
shortNames: [bp,]
scope: Namespaced
version: v1alpha1
---
apiVersion: v1
items:
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "ruby"
buildkit: "heroku/ruby"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "nodejs"
buildkit: "heroku/nodejs"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "clojure"
buildkit: "heroku/clojure"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "python"
buildkit: "heroku/python"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "java"
buildkit: "heroku/java"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "gradle"
buildkit: "heroku/gradle"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "scala"
buildkit: "heroku/scala"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "php"
buildkit: "heroku/php"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "go"
buildkit: "heroku/go"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "elixir"
buildkit: "hashnuke/elixir"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "static"
repo: "https://github.com/dokku/buildpack-nginx"
- apiVersion: bruce.kennethreitz.org/v1alpha1
kind: Buildpack
metadata:
name: "multi"
repo: "https://github.com/heroku/heroku-buildpack-multi"
kind: List
metadata:
resourceVersion: ""
selfLink: ""
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: apps.bruce.kennethreitz.org
spec:
group: bruce.kennethreitz.org
names:
kind: App
listKind: appList
plural: apps
singular: app
scope: Namespaced
version: v1alpha1
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\Users\me\OneDrive\system\bin\kompose.exe convert -f .\kubernetes-compose.yml
kompose.version: 1.1.0 (36652f6)
creationTimestamp: null
labels:
io.kompose.service: bruce-operator
name: bruce-operator
spec:
replicas: 1
selector:
matchLabels:
name: bruce-operator
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
name: bruce-operator
namespace: bruce
io.kompose.service: bruce-operator
spec:
serviceAccountName: bruce-operator
containers:
- name: bruce-operator
image: kennethreitz/bruce-operator:latest
imagePullPolicy: Always
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: kennethreitz/bruce-operator:latest
name: bruce-operator
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
@@ -75,3 +185,77 @@ spec:
io.kompose.service: bruce-operator
status:
loadBalancer: {}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: bruce-registry-data
name: bruce-registry-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 80Gi
status: {}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\Users\me\OneDrive\system\bin\kompose.exe convert -f .\kubernetes-compose.yml
kompose.version: 1.1.0 (36652f6)
creationTimestamp: null
labels:
io.kompose.service: registry
name: registry
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: registry
spec:
containers:
- env:
- name: REGISTRY_HTTP_ADDR
value: 0.0.0.0:80
image: registry:2
name: registry
resources: {}
volumeMounts:
- mountPath: /var/lib/registry
name: bruce-registry-data
restartPolicy: Always
volumes:
- name: bruce-registry-data
persistentVolumeClaim:
claimName: bruce-registry-data
status: {}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: C:\Users\me\OneDrive\system\bin\kompose.exe convert -f .\kubernetes-compose.yml
kompose.version: 1.1.0 (36652f6)
creationTimestamp: null
labels:
io.kompose.service: registry
name: registry
spec:
clusterIP: None
ports:
- name: registry-http
port: 80
# nodePort: 80
targetPort: 0
selector:
io.kompose.service: registry
status:
loadBalancer: {}
-14
View File
@@ -1,14 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: bruce-registry-data
name: bruce-registry-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
status: {}
-36
View File
@@ -1,36 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\Users\me\OneDrive\system\bin\kompose.exe convert -f .\kubernetes-compose.yml
kompose.version: 1.1.0 (36652f6)
creationTimestamp: null
labels:
io.kompose.service: registry
name: registry
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: registry
spec:
containers:
- env:
- name: REGISTRY_HTTP_ADDR
value: 0.0.0.0:80
image: registry:2
name: registry
resources: {}
volumeMounts:
- mountPath: /var/lib/registry
name: bruce-registry-data
restartPolicy: Always
volumes:
- name: bruce-registry-data
persistentVolumeClaim:
claimName: bruce-registry-data
status: {}
-21
View File
@@ -1,21 +0,0 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: C:\Users\me\OneDrive\system\bin\kompose.exe convert -f .\kubernetes-compose.yml
kompose.version: 1.1.0 (36652f6)
creationTimestamp: null
labels:
io.kompose.service: registry
name: registry
spec:
clusterIP: None
ports:
- name: registry-http
port: 80
# nodePort: 80
targetPort: 0
selector:
io.kompose.service: registry
status:
loadBalancer: {}
+1 -1
View File
@@ -1,4 +1,4 @@
docker build --tag kennethreitz/bruce-operator .
docker push kennethreitz/bruce-operator
kubectl delete -f .\deploy\operator.yml -n bruce
kubectl create -f .\deploy\operator.yml -n bruce
kubectl create -f .\deploy\operator.yml -n bruce --validate=false