Compare commits
22
Commits
83e2ba5be2
...
view
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80a75a445e | ||
|
|
385d42d0be | ||
|
|
2514603962 | ||
|
|
d071b135e7 | ||
|
|
433185df3e | ||
|
|
ccad16f38c | ||
|
|
c7e5afc750 | ||
|
|
80877663a9 | ||
|
|
ceaf0f0ef6 | ||
|
|
d6135402c2 | ||
|
|
fa365f956e | ||
|
|
82ed5d12e1 | ||
|
|
a9b6c92864 | ||
|
|
cc2d9e1b14 | ||
|
|
3dd8fdb7ca | ||
|
|
db20b291e3 | ||
|
|
096a71a7fc | ||
|
|
83d346b632 | ||
|
|
202797aed5 | ||
|
|
0cb583de09 | ||
|
|
bf19250116 | ||
|
|
e59e7b439d |
@@ -1,6 +1,13 @@
|
|||||||
name: Gitea Actions Demo
|
name: Gitea Actions Demo
|
||||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "*"
|
||||||
|
paths:
|
||||||
|
- 'dockerfile'
|
||||||
|
tags-ignore:
|
||||||
|
- '*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Explore-Gitea-Actions:
|
Explore-Gitea-Actions:
|
||||||
@@ -30,10 +37,4 @@ jobs:
|
|||||||
tags: gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest
|
tags: gitea.tryton.geeraert.eu/pi-ux-ce/django-python:latest
|
||||||
|
|
||||||
|
|
||||||
- name: Perform kubectl tasks
|
|
||||||
uses: actions-hub/kubectl@master
|
|
||||||
env:
|
|
||||||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
|
||||||
with:
|
|
||||||
args: apply -f .
|
|
||||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
name: Gitea Actions Demo
|
||||||
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Explore-Gitea-Actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
||||||
|
- name: List files in the repository
|
||||||
|
run: |
|
||||||
|
ls ${{ gitea.workspace }}
|
||||||
|
|
||||||
|
- name: Perform kubectl tasks
|
||||||
|
uses: actions-hub/kubectl@master
|
||||||
|
env:
|
||||||
|
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
||||||
|
with:
|
||||||
|
args: apply -f .
|
||||||
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
*/__pycache__/*
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
=======
|
=======
|
||||||
# Django_kube
|
# Django_kube
|
||||||
|
test
|
||||||
|
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>{% block title %}{% endblock %}</title>
|
||||||
|
{% load bootstrap5 %}
|
||||||
|
{% bootstrap_css %}
|
||||||
|
{% bootstrap_javascript %}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 class="display-1">Welcome to my website!</h1>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="list-group">
|
||||||
|
{% if thislist %}
|
||||||
|
<ul>
|
||||||
|
{% for question in thislist %}
|
||||||
|
<a href="#" class="list-group-item">{{ question }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<p>No polls are available.</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>My Website</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Welcome to my website!</h1>
|
||||||
|
{% if thislist %}
|
||||||
|
<ul>
|
||||||
|
{% for question in thislist %}
|
||||||
|
<h1>{{ question }}</h1>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<p>No polls are available.</p>
|
||||||
|
{% endif %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
def home(request):
|
||||||
|
thislist = ["apple", "banana", "cherry"]
|
||||||
|
return render(request, 'home.html',{'thislist': thislist})
|
||||||
|
|
||||||
|
def about(request):
|
||||||
|
thislist = ["apple", "banana", "cherry"]
|
||||||
|
return render(request, 'about.html',{'thislist': thislist})
|
||||||
Binary file not shown.
Binary file not shown.
@@ -25,7 +25,7 @@ SECRET_KEY = 'django-insecure-71%)_#e#o9-dl2o^6mfud-*rw+4+8vy-nd*bzeier&(34ap-p9
|
|||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = ['reverse.tryton.geeraert.eu','192.168.4.100','django.tryton.geeraert.eu']
|
ALLOWED_HOSTS = ['reverse.tryton.geeraert.eu','192.168.4.100','django.tryton.geeraert.eu','localhost']
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
@@ -37,6 +37,7 @@ INSTALLED_APPS = [
|
|||||||
'django.contrib.sessions',
|
'django.contrib.sessions',
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
|
'bootstrap5',
|
||||||
]
|
]
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
@@ -54,7 +55,8 @@ ROOT_URLCONF = 'django_code.urls'
|
|||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
'DIRS': [],
|
#'DIRS': ["/code/django_code/templates","/code/django_code/dashboard/templates/"],
|
||||||
|
'DIRS': [BASE_DIR / "templates","django_code/dashboard/templates/"],
|
||||||
'APP_DIRS': True,
|
'APP_DIRS': True,
|
||||||
'OPTIONS': {
|
'OPTIONS': {
|
||||||
'context_processors': [
|
'context_processors': [
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ from django.urls import path
|
|||||||
from random_simpsons import apps as random_simpsons
|
from random_simpsons import apps as random_simpsons
|
||||||
from paperless_django import apps as paperless_django
|
from paperless_django import apps as paperless_django
|
||||||
from onenote import apps as onenote
|
from onenote import apps as onenote
|
||||||
from dashboard import apps as dashboard
|
from dashboard import apps as dashboardapp
|
||||||
|
from dashboard import views as dashboardview
|
||||||
from kubernetes_connection import apps as kubernetes_connection
|
from kubernetes_connection import apps as kubernetes_connection
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
@@ -39,7 +40,9 @@ urlpatterns = [
|
|||||||
path('onenote/hello/', onenote.hello),
|
path('onenote/hello/', onenote.hello),
|
||||||
|
|
||||||
################### onenote ###################
|
################### onenote ###################
|
||||||
path('dashboard/hello/', dashboard.hello),
|
path('dashboard/hello/', dashboardapp.hello),
|
||||||
|
path('dashboard/view/about', dashboardview.about),
|
||||||
|
path('dashboard/view/home', dashboardview.home),
|
||||||
|
|
||||||
|
|
||||||
################## kubernetes_connection#####
|
################## kubernetes_connection#####
|
||||||
@@ -47,6 +50,8 @@ urlpatterns = [
|
|||||||
path('kubernetes_connection/nodes/', kubernetes_connection.nodes),
|
path('kubernetes_connection/nodes/', kubernetes_connection.nodes),
|
||||||
path('kubernetes_connection/backup_job/', kubernetes_connection.backup_job),
|
path('kubernetes_connection/backup_job/', kubernetes_connection.backup_job),
|
||||||
path('kubernetes_connection/backup_job_yaml/', kubernetes_connection.backup_job_yaml),
|
path('kubernetes_connection/backup_job_yaml/', kubernetes_connection.backup_job_yaml),
|
||||||
|
path('kubernetes_connection/scale_up/<str:namespace_name>/<str:deploy_name>', kubernetes_connection.scale_up),
|
||||||
|
path('kubernetes_connection/scale_down/<str:namespace_name>/<str:deploy_name>', kubernetes_connection.scale_down),
|
||||||
|
|
||||||
# path('bookstack/', docker_connection.apps.hello),
|
# path('bookstack/', docker_connection.apps.hello),
|
||||||
# path('test/', docker_connection.apps.http_call_test),
|
# path('test/', docker_connection.apps.http_call_test),
|
||||||
|
|||||||
Binary file not shown.
@@ -12,9 +12,29 @@ import random
|
|||||||
import mimetypes
|
import mimetypes
|
||||||
import ruamel.yaml
|
import ruamel.yaml
|
||||||
import yaml
|
import yaml
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
def hello(request):
|
def hello(request):
|
||||||
return HttpResponse('<h1>Hello k8s!</h1>')
|
return HttpResponse('<h1>Hello k8s!</h1>')
|
||||||
|
|
||||||
|
def scale_up(request,namespace_name,deploy_name):
|
||||||
|
config.load_kube_config(config_file='/code/kubeconfig')
|
||||||
|
api = client.AppsV1Api()
|
||||||
|
deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name)
|
||||||
|
deployment.spec.replicas = 2
|
||||||
|
resp = api.patch_namespaced_deployment(
|
||||||
|
name=deploy_name, namespace=namespace_name, body=deployment);
|
||||||
|
return HttpResponse('<h1>Scaled up !</h1>')
|
||||||
|
|
||||||
|
|
||||||
|
def scale_down(request,namespace_name,deploy_name):
|
||||||
|
config.load_kube_config(config_file='/code/kubeconfig')
|
||||||
|
api = client.AppsV1Api()
|
||||||
|
deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name)
|
||||||
|
deployment.spec.replicas = 0
|
||||||
|
resp = api.patch_namespaced_deployment(
|
||||||
|
name=deploy_name, namespace=namespace_name, body=deployment);
|
||||||
|
return HttpResponse('<h1>Scaled down !</h1>')
|
||||||
|
|
||||||
def nodes(request):
|
def nodes(request):
|
||||||
config.load_kube_config(config_file='/code/kubeconfig')
|
config.load_kube_config(config_file='/code/kubeconfig')
|
||||||
@@ -93,23 +113,13 @@ def backup_job(request):
|
|||||||
|
|
||||||
def backup_job_yaml(request):
|
def backup_job_yaml(request):
|
||||||
config.load_kube_config(config_file='/code/kubeconfig')
|
config.load_kube_config(config_file='/code/kubeconfig')
|
||||||
# v1 = client.CoreV1Api()
|
|
||||||
v1 = client.BatchV1Api()
|
v1 = client.BatchV1Api()
|
||||||
|
|
||||||
# v1.list_node()
|
with urllib.request.urlopen(https://gitea.tryton.geeraert.eu/pi-ux-ce/Backup_kube/raw/branch/main/Infrequent_access/pod.yaml") as manifest_url:
|
||||||
# pod_manifest_job = {
|
|
||||||
|
|
||||||
with open('/code/pod.yaml') as fo:
|
|
||||||
# yaml = YAML(typ='rt')
|
|
||||||
#yaml.load(...)
|
|
||||||
|
|
||||||
# job = ruamel.yaml.load(fo)
|
|
||||||
job = yaml.safe_load(fo)
|
|
||||||
|
|
||||||
|
# with open('/code/pod.yaml') as :
|
||||||
|
job = yaml.safe_load(manifest_url)
|
||||||
v1.create_namespaced_job(
|
v1.create_namespaced_job(
|
||||||
job['metadata']['namespace'], job, pretty=True
|
job['metadata']['namespace'], job, pretty=True
|
||||||
|
|
||||||
# _request_timeout=(settings.CONNECTION_TIMEOUT_SECONDS, settings.READ_TIMEOUT_SECONDS
|
|
||||||
|
|
||||||
)
|
)
|
||||||
return HttpResponse(job['metadata']['namespace'])
|
return HttpResponse(job['metadata']['namespace'])
|
||||||
|
|||||||
Binary file not shown.
@@ -2,9 +2,26 @@ from django.apps import AppConfig
|
|||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
import time
|
#from django.template.loader import render_to_string
|
||||||
import random
|
from django.template import loader
|
||||||
|
#import time
|
||||||
|
#import random
|
||||||
|
|
||||||
def hello(request):
|
def hello(request):
|
||||||
return HttpResponse('<h1>Hello onenote! <h1>')
|
# htmlContent = '
|
||||||
|
#<!DOCTYPE html>
|
||||||
|
#<html lang="en">
|
||||||
|
#<body>
|
||||||
|
#<strong>Hello World from const</strong>
|
||||||
|
#</body>
|
||||||
|
#</html>
|
||||||
|
#'
|
||||||
|
# response = "coucou"
|
||||||
|
# context = {'response': HttpResponse(response)}
|
||||||
|
# return HttpResponse(htmlContent)
|
||||||
|
# return HttpResponse('<h1>Hello onenote! <h1>')
|
||||||
|
# return render(request, 'hello.html', context)
|
||||||
|
|
||||||
|
template = loader.get_template('onenote/hello.html')
|
||||||
|
# template = loader.get_template('onenote/Roser.mht')
|
||||||
|
return HttpResponse(template.render())
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<body>
|
||||||
|
<strong>Hello World</strong>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -63,6 +63,6 @@ def simpsons(request):
|
|||||||
final_url = simpsons_url+str(random_seasons)+ "-episode-"+str(random_episode)#
|
final_url = simpsons_url+str(random_seasons)+ "-episode-"+str(random_episode)#
|
||||||
print(final_url)
|
print(final_url)
|
||||||
|
|
||||||
# return HttpResponse(str(final_url))
|
return HttpResponse(str(final_url))
|
||||||
# time.sleep(10)
|
# time.sleep(10)
|
||||||
return redirect(str(final_url))
|
# return redirect(str(final_url))
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<body>
|
||||||
|
<strong>Hello World template</strong>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -5,7 +5,9 @@ WORKDIR /code/
|
|||||||
COPY requirements.txt ./
|
COPY requirements.txt ./
|
||||||
COPY django_code ./
|
COPY django_code ./
|
||||||
|
|
||||||
|
RUN pip install --upgrade pip
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
COPY . .
|
COPY . .
|
||||||
|
RUN python django_code/manage.py migrate
|
||||||
|
|
||||||
CMD [ "python","django_code/manage.py","runserver","0.0.0.0:8000" ]
|
CMD [ "python","django_code/manage.py","runserver","0.0.0.0:8000" ]
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user