apiVersion: extensions/v1beta1 kind: Ingress metadata: name: editor-ingress annotations: kubernetes.io/ingress.global-static-ip-name: "web-editor-ip" spec: backend: serviceName: web-editor-node servicePort: 8000 --- apiVersion: v1 kind: Service metadata: name: web-editor-node labels: app: web-editor spec: # if your cluster supports it, uncomment the following to automatically create # an external load-balanced IP for the frontend service. # type: LoadBalancer type: NodePort ports: - port: 8000 targetPort: 8000 selector: app: web-editor --- apiVersion: apps/v1 kind: Deployment metadata: name: web-editor-node spec: selector: matchLabels: app: web-editor replicas: 1 template: metadata: labels: app: web-editor spec: containers: - name: web-editor-app image: index.docker.io/catarak/p5.js-web-editor:latest # temp, just to test kubernetes # envFrom: # - configMapRef: # name: web-editor-env envFrom: - secretRef: name: web-editor-credentials imagePullPolicy: Always resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 8000 readinessProbe: httpGet: path: /health port: 8000 --- apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: annotations: name: web-editor-node namespace: default spec: maxReplicas: 6 minReplicas: 1 scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: web-editor-node targetCPUUtilizationPercentage: 80 --- # cronjob for p5.js examples apiVersion: batch/v1beta1 kind: CronJob metadata: name: fetch-examples-job spec: schedule: "0 0 * * 0" jobTemplate: spec: template: spec: containers: - name: fetch-examples image: index.docker.io/catarak/p5.js-web-editor:latest command: ["npm", "run", "fetch-examples:prod"] imagePullPolicy: Always envFrom: - secretRef: name: web-editor-credentials restartPolicy: Never --- # cronjob for generative gestaltung p5.js examples apiVersion: batch/v1beta1 kind: CronJob metadata: name: fetch-examples-gg-job spec: schedule: "30 0 * * 0" jobTemplate: spec: template: spec: containers: - name: fetch-examples-gg image: index.docker.io/catarak/p5.js-web-editor:latest command: ["npm", "run", "fetch-examples-gg:prod"] imagePullPolicy: Always envFrom: - secretRef: name: web-editor-credentials restartPolicy: Never