Compare commits

...

9 Commits

Author SHA1 Message Date
ducoterra
15c5f5293a position fixed, overflow auto 2020-04-25 19:41:55 -04:00
ducoterra
f11f9a0d97 attempt fix with overflow 2020-04-25 19:35:09 -04:00
ducoterra
c80ef7441d change user-scalable 2020-04-25 19:28:56 -04:00
ducoterra
a2e7a92280 prod deploy 2020-04-25 19:17:52 -04:00
ducoterra
b4ef050e1f test vars 2020-04-25 19:11:27 -04:00
ducoterra
c09558c0ff manual approval to prod 2020-04-25 19:04:21 -04:00
ducoterra
c3666783e4 disable zooming 2020-04-25 18:25:26 -04:00
ducoterra
54c6336e22 proper slash handling in button.js 2020-04-25 17:07:45 -04:00
ducoterra
7da888aa09 proper / on button 2020-04-25 16:37:53 -04:00
7 changed files with 57 additions and 12 deletions

View File

@@ -1,7 +1,6 @@
variables:
CI_PROJECT_DIR: "."
CI_REGISTRY_IMAGE: hub.ducoterra.net/ducoterra/mysite
DEPLOY: test
stages:
- build
@@ -17,24 +16,27 @@ build:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- echo $DEPLOY
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
test:
stage: test
only:
variables:
- $CI_COMMIT_TAG
stage: test
image:
name: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
entrypoint: [""]
script:
- python manage.py test
deploy:
deploy_to_test:
variables:
DEPLOY: test
stage: deploy
only:
variables:
- $CI_COMMIT_TAG
stage: deploy
image:
name: debian:10
entrypoint: [""]
@@ -44,6 +46,30 @@ deploy:
- chmod +x ./kubectl
- mkdir /deploy
- for f in $(find k8s -regex '.*\.ya*ml'); do envsubst < $f > "/deploy/$(basename $f)"; done
- for f in $(find k8s/test -regex '.*\.ya*ml'); do envsubst < $f > "/deploy/$(basename $f)"; done
- ./kubectl apply -f /deploy
- ./kubectl rollout status deploy $DEPLOY
- POD=$(./kubectl get pods --selector=app=$DEPLOY --output=jsonpath='{.items[*].metadata.name}')
- ./kubectl exec $POD -- python manage.py migrate
deploy_to_prod:
variables:
DEPLOY: prod
stage: deploy
only:
variables:
- $CI_COMMIT_TAG
when: manual
image:
name: debian:10
entrypoint: [""]
script:
- apt -qq update >> /dev/null && apt -qq install -y curl gettext >> /dev/null
- curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
- chmod +x ./kubectl
- mkdir /deploy
- for f in $(find k8s -regex '.*\.ya*ml'); do envsubst < $f > "/deploy/$(basename $f)"; done
- for f in $(find k8s/prod -regex '.*\.ya*ml'); do envsubst < $f > "/deploy/$(basename $f)"; done
- ./kubectl apply -f /deploy
- ./kubectl rollout status deploy $DEPLOY
- POD=$(./kubectl get pods --selector=app=$DEPLOY --output=jsonpath='{.items[*].metadata.name}')

View File

@@ -3,4 +3,4 @@ kind: ConfigMap
metadata:
name: $DEPLOY
data:
ALLOWED_HOSTS: localhost,test.ducoterra.net
ALLOWED_HOSTS: localhost,$DEPLOY.ducoterra.net

View File

@@ -7,10 +7,10 @@ metadata:
spec:
tls:
- hosts:
- test.ducoterra.net
- $DEPLOY.ducoterra.net
secretName: letsencrypt
rules:
- host: test.ducoterra.net
- host: $DEPLOY.ducoterra.net
http:
paths:
- backend:
@@ -29,7 +29,7 @@ spec:
tls:
secretName: letsencrypt
routes:
- match: Host(`test.ducoterra.net`)
- match: Host(`$DEPLOY.ducoterra.net`)
kind: Rule
services:
- name: $DEPLOY
@@ -45,7 +45,7 @@ spec:
entryPoints:
- web
routes:
- match: Host(`test.ducoterra.net`)
- match: Host(`$DEPLOY.ducoterra.net`)
kind: Rule
services:
- name: $DEPLOY

18
k8s/test/ingress.yaml Normal file
View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
name: $DEPLOY
spec:
tls:
- hosts:
- $DEPLOY.ducoterra.net
secretName: letsencrypt
rules:
- host: $DEPLOY.ducoterra.net
http:
paths:
- backend:
serviceName: $DEPLOY
servicePort: 8000

View File

@@ -1,7 +1,8 @@
html, body {
height: 100%;
width: 100%;
touch-action: manipulation;
position: fixed;
overflow: hidden;
}
.section, .container {

View File

@@ -6,7 +6,7 @@ const count = document.getElementById("COUNT");
button.addEventListener("click", event => {
button.disabled = true;
button.classList.add("is-loading");
fetch('/button', {
fetch('/button/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',

View File

@@ -2,5 +2,5 @@ from django.urls import path
from . import views
urlpatterns = [
path('button', views.button, name = 'button'),
path('button/', views.button, name = 'button'),
]