apiVersion: v1 kind: Service metadata: name: wrestlingdev-app labels: app: wrestlingdev spec: ports: - port: 80 selector: app: wrestlingdev tier: frontend clusterIP: None --- apiVersion: apps/v1 kind: Deployment metadata: name: wrestlingdev-app-deployment labels: app: wrestlingdev spec: replicas: 1 selector: matchLabels: app: wrestlingdev template: metadata: labels: app: wrestlingdev tier: frontend spec: containers: - name: wrestlingdev-app image: jcwimer/wrestlingdev:prod imagePullPolicy: Always command: ["bundle"] args: ["exec", "passenger", "start", "-p", "80", "--max-pool-size", "3","--environment", "production"] ports: - containerPort: 80 env: - name: RAILS_ENV value: production - name: WRESTLINGDEV_DB_NAME value: wrestlingtourney - name: WRESTLINGDEV_DB_USR value: root - name: WRESTLINGDEV_DB_PWD value: password - name: WRESTLINGDEV_DB_PORT value: "3306" - name: MEMCACHIER_SERVERS value: wrestlingdev-memcached:11211 - name: WRESTLINGDEV_DB_HOST value: wrestlingdev-mariadb - name: WRESTLINGDEV_DEVISE_SECRET_KEY value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa - name: WRESTLINGDEV_SECRET_KEY_BASE value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2 resources: limits: cpu: "0.5" memory: "512Mi" requests: memory: "512Mi" cpu: "0.5" livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 20 periodSeconds: 10 --- apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: wrestlingdev-app-deployment-autoscale spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: wrestlingdev-app-deployment minReplicas: 1 maxReplicas: 10 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 50 # - type: Resource # resource: # name: memory # targetAverageValue: 100Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: wrestlingdev-worker-deployment labels: app: wrestlingdev spec: replicas: 1 selector: matchLabels: app: wrestlingdev template: metadata: labels: app: wrestlingdev tier: worker spec: containers: - name: wrestlingdev-worker image: jcwimer/wrestlingdev:prod imagePullPolicy: Always env: - name: RAILS_ENV value: production - name: WRESTLINGDEV_DB_NAME value: wrestlingtourney - name: WRESTLINGDEV_DB_USR value: root - name: WRESTLINGDEV_DB_PWD value: password - name: WRESTLINGDEV_DB_PORT value: "3306" - name: MEMCACHIER_SERVERS value: wrestlingdev-memcached:11211 - name: WRESTLINGDEV_DB_HOST value: wrestlingdev-mariadb - name: WRESTLINGDEV_DEVISE_SECRET_KEY value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa - name: WRESTLINGDEV_SECRET_KEY_BASE value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2 command: ["bundle"] args: ["exec", "bin/delayed_job", "-n", "1", "run"] resources: limits: cpu: "0.5" memory: "512Mi" requests: memory: "512Mi" cpu: "0.2" --- apiVersion: batch/v1 kind: Job metadata: name: wrestlingdev-db-create-migrate spec: template: spec: containers: - name: wrestlingdev-db-create-migrate image: jcwimer/wrestlingdev:prod imagePullPolicy: Always command: ["/bin/sh","-c"] args: ["bundle exec rake db:create; bundle exec rake db:migrate"] env: - name: RAILS_ENV value: production - name: WRESTLINGDEV_DB_NAME value: wrestlingtourney - name: WRESTLINGDEV_DB_USR value: root - name: WRESTLINGDEV_DB_PWD value: password - name: WRESTLINGDEV_DB_PORT value: "3306" - name: MEMCACHIER_SERVERS value: wrestlingdev-memcached:11211 - name: WRESTLINGDEV_DB_HOST value: wrestlingdev-mariadb - name: WRESTLINGDEV_DEVISE_SECRET_KEY value: 2f29d49db6704377ba263f7cb9db085b386bcb301c0cd501126a674686ab1a109754071165b08cd72af03cec4642a4dd04361c994462254dd5d85e9594e8b9aa - name: WRESTLINGDEV_SECRET_KEY_BASE value: 077cdbef5c2ccf22543fb17a67339f234306b7fa2e1e4463d851c444c10a5611829a2290b253da78339427f131571fac9a42c83d960b2d25ecc10a4a0a7ce1a2 restartPolicy: OnFailure backoffLimit: 10