Skip to content
Snippets Groups Projects
Commit a8bfa7a1 authored by Tim Kreuzer's avatar Tim Kreuzer
Browse files

Merge branch 'stateful_set' into 'main'

Stateful set

See merge request !17
parents 9b5add0e 61035473
Branches
Tags
2 merge requests!20minor changes + fixes,!17Stateful set
Pipeline #130000 passed
stages: stages:
- unittest - unittest
- build
- build-devel - build-devel
- build-tag - build-tag
...@@ -9,6 +10,12 @@ workflow: ...@@ -9,6 +10,12 @@ workflow:
variables: variables:
RUN_UNIT_TESTS: "True" RUN_UNIT_TESTS: "True"
RUN_BUILD_DEVEL: "True" RUN_BUILD_DEVEL: "True"
- if: $CI_COMMIT_BRANCH != "main"
variables:
RUN_UNIT_TESTS: "True"
RUN_BUILD_DEVEL: "True"
BUILD_COMMIT_SHORT: "True"
LATEST_TAG: "dev"
- if: $CI_COMMIT_TAG - if: $CI_COMMIT_TAG
variables: variables:
RUN_UNIT_TESTS: "True" RUN_UNIT_TESTS: "True"
...@@ -27,6 +34,19 @@ unittests: ...@@ -27,6 +34,19 @@ unittests:
rules: rules:
- if: $RUN_UNIT_TESTS == "True" - if: $RUN_UNIT_TESTS == "True"
build:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json
- sed -i -e "s/<VERSION>/${CI_COMMIT_TAG} (${CI_COMMIT_SHORT_SHA})/g" ${CI_PROJECT_DIR}/web/logs/apps.py
- /kaniko/executor --context $CI_PROJECT_DIR --destination ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG} --destination ${CI_REGISTRY_IMAGE}:${LATEST_TAG}
rules:
- if: $BUILD_COMMIT_SHORT == "True"
build-devel: build-devel:
stage: build-devel stage: build-devel
image: image:
......
# Generated by Django 4.1.6 on 2023-02-10 18:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("tunnel", "0011_tunnelmodel_svc_name"),
]
operations = [
migrations.AddField(
model_name="tunnelmodel",
name="tunnel_pod",
field=models.TextField(default="drf-tunnel-0"),
),
]
...@@ -10,6 +10,7 @@ class TunnelModel(models.Model): ...@@ -10,6 +10,7 @@ class TunnelModel(models.Model):
target_node = models.TextField(null=False, max_length=32) target_node = models.TextField(null=False, max_length=32)
target_port = models.IntegerField(null=False) target_port = models.IntegerField(null=False)
date = models.DateTimeField(auto_now_add=True) date = models.DateTimeField(auto_now_add=True)
tunnel_pod = models.TextField(null=False, default="drf-tunnel-0")
def __str__(self): def __str__(self):
return f"{self.servername}: {self.svc_name} - ssh [...]@{self.hostname} -L {self.local_port}:{self.target_node}:{self.target_port}" return f"{self.servername}: {self.svc_name} - ssh [...]@{self.hostname} -L {self.local_port}:{self.target_node}:{self.target_port}"
...@@ -320,6 +320,7 @@ def k8s_get_svc_namespace(): ...@@ -320,6 +320,7 @@ def k8s_get_svc_namespace():
def k8s_create_svc(**kwargs): def k8s_create_svc(**kwargs):
v1 = k8s_get_client() v1 = k8s_get_client()
deployment_name = os.environ.get("DEPLOYMENT_NAME", "tunneling") deployment_name = os.environ.get("DEPLOYMENT_NAME", "tunneling")
pod_name = os.environ.get("HOSTNAME", "drf-tunnel-0")
name = kwargs["svc_name"] name = kwargs["svc_name"]
namespace = k8s_get_svc_namespace() namespace = k8s_get_svc_namespace()
labels = {"name": name} labels = {"name": name}
...@@ -342,7 +343,10 @@ def k8s_create_svc(**kwargs): ...@@ -342,7 +343,10 @@ def k8s_create_svc(**kwargs):
"targetPort": kwargs["local_port"], "targetPort": kwargs["local_port"],
} }
], ],
"selector": {"app": deployment_name}, "selector": {
"app": deployment_name,
"statefulset.kubernetes.io/pod-name": pod_name,
},
}, },
} }
return v1.create_namespaced_service( return v1.create_namespaced_service(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment