Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubero V3 refactoring #619

Draft
wants to merge 67 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
18e7ce3
init kubero v3 refactoring
mms-gianni Jan 31, 2025
e0a84d3
Update package.json and main.ts to use port 2000 for compatibility w…
mms-gianni Jan 31, 2025
5ba11dd
serve static client
mms-gianni Jan 31, 2025
b567546
add and start a websocket
mms-gianni Jan 31, 2025
ba31b7e
(WIP) add initial auth function
mms-gianni Feb 1, 2025
fe1c146
Merge pull request #621 from kubero-dev/refactoring/add-authentication
mms-gianni Feb 1, 2025
9a69d4b
(WIP) add basic swagger config
mms-gianni Feb 1, 2025
af26235
add swagger Server and Auth
mms-gianni Feb 1, 2025
7570649
add basic routes
mms-gianni Feb 1, 2025
6f413c1
add basic modules
mms-gianni Feb 2, 2025
613d81a
init settings module
mms-gianni Feb 2, 2025
d27cc36
WIP settings module
mms-gianni Feb 3, 2025
0d61eae
mark migrated types
mms-gianni Feb 3, 2025
87fad09
migrate templates, pipeline, apps and kubectl
mms-gianni Feb 4, 2025
ba268f8
improve logging, connect to kubernetes
mms-gianni Feb 5, 2025
a3a2a29
make settings readable
mms-gianni Feb 5, 2025
7486575
add some settings endpoints
mms-gianni Feb 6, 2025
f7b8693
make kubernetes a global module
mms-gianni Feb 7, 2025
c51876e
add Addons and Pipeline
mms-gianni Feb 7, 2025
bbde7be
Migrate templates
mms-gianni Feb 7, 2025
5e57db1
Migrate templates
mms-gianni Feb 7, 2025
0b5bf42
migrate activy view
mms-gianni Feb 7, 2025
92ab455
migrated pipeline form
mms-gianni Feb 7, 2025
f52b808
migrated notifications and pipelines partialy
mms-gianni Feb 8, 2025
46fac46
migrated app overview
mms-gianni Feb 9, 2025
5c0580a
security fix Polynomial regular expression
mms-gianni Feb 9, 2025
6a60f73
migrate logs and deployments
mms-gianni Feb 10, 2025
4b72c97
add some dto for kubernetes controller
mms-gianni Feb 10, 2025
e17c5b8
add helmet and cors
mms-gianni Feb 11, 2025
c199183
migration, add pipeline endpoints
mms-gianni Feb 11, 2025
c092b68
migrate repo connection
mms-gianni Feb 11, 2025
c8ce39b
move contexts to kubernetes subpath
mms-gianni Feb 11, 2025
833a77b
Refactor console.log statements to use logger methods in Git-related…
mms-gianni Feb 12, 2025
81adf4a
migrated Apps
mms-gianni Feb 12, 2025
79827e4
performace improvements
mms-gianni Feb 12, 2025
e272755
migration fix PR App cards match
mms-gianni Feb 12, 2025
5ce9f85
Migrate Template Download
mms-gianni Feb 12, 2025
b412b1a
Migrate app restart
mms-gianni Feb 12, 2025
644972f
improve code structure
mms-gianni Feb 13, 2025
65a9117
migrate app update
mms-gianni Feb 13, 2025
3af52d5
migrate vulnerability scans
mms-gianni Feb 13, 2025
381a332
Migration: linting
mms-gianni Feb 13, 2025
f3e9728
fix logs socket
mms-gianni Feb 13, 2025
8ee3040
improve API docs
mms-gianni Feb 13, 2025
dcd99b7
Migrated container console
mms-gianni Feb 13, 2025
1008ac2
Migrate build Jobs
mms-gianni Feb 14, 2025
75f71dc
Potential fix for code scanning alert no. 205: Uncontrolled data used…
mms-gianni Feb 14, 2025
d1b27fc
Migrate Metrics
mms-gianni Feb 15, 2025
aea52ff
Merge branch 'main-refactored' of github.com:kubero-dev/kubero into m…
mms-gianni Feb 15, 2025
6dfdcef
Migrate auth page
mms-gianni Feb 15, 2025
2568c76
migrate to JWT based authentication
mms-gianni Feb 16, 2025
908ac4f
Migrate to JWT Authentication
mms-gianni Feb 19, 2025
fe8199d
show error with wrong credentials
mms-gianni Feb 19, 2025
b668fdf
migrate github authentication
mms-gianni Feb 20, 2025
f575299
rename settings to config
mms-gianni Feb 20, 2025
0eb349e
load auth methods dynamicöy
mms-gianni Feb 20, 2025
26e69c0
Migrate setup
mms-gianni Feb 21, 2025
826fda0
add anonymous strategy
mms-gianni Feb 21, 2025
9b99b3c
add auth methods
mms-gianni Feb 21, 2025
b3ecd8d
make authentication optional
mms-gianni Feb 23, 2025
87b182d
some cleanup
mms-gianni Feb 23, 2025
e764a09
some more cleanup
mms-gianni Feb 23, 2025
270256c
Use ENV var for user access
mms-gianni Feb 23, 2025
8e5bdae
linting
mms-gianni Feb 24, 2025
838040c
fix docker image build
mms-gianni Feb 24, 2025
332c35e
remove ENV helper
mms-gianni Feb 24, 2025
a9c7378
add config route
mms-gianni Feb 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
| Version | Supported |
| ------- | ------------------ |
| 2.X.X | :white_check_mark: |
| 2.X.X | EOL 31.03.2025 |
| 1.X.X | EOL 28.09.2024 |
| 0.X.X | |

Expand Down
4 changes: 2 additions & 2 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"private": true,
"license": "GPL-3.0",
"scripts": {
"dev": "vite",
"watch": "vue-tsc --noEmit && vite build --watch",
"run": "vite",
"dev": "vue-tsc --noEmit && vite build --watch",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview",
"lint": "eslint . --fix --ignore-path .gitignore"
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/apps/addons.vue
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ export default defineComponent({
this.dialog = true;
},
loadStorageClasses() {
axios.get(`/api/config/storageclasses`)
axios.get(`/api/kubernetes/storageclasses`)
.then(response => {
for (let storageClass of response.data) {
this.availableStorageClasses.push({
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/apps/alerts.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ export default {
}, 10000);
},
loadRules() {
axios.get(`/api/rules/${this.pipeline}/${this.phase}/${this.app}`)
axios.get(`/api/metrics/rules/${this.pipeline}/${this.phase}/${this.app}`)
.then(response => {
this.rules = response.data
})
Expand Down
4 changes: 2 additions & 2 deletions client/src/components/apps/appstats.vue
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ export default defineComponent({
},
methods: {
loadUptimes() {
axios.get(`/api/uptimes/${this.pipeline}/${this.phase}`)
axios.get(`/api/metrics/uptimes/${this.pipeline}/${this.phase}`)
.then(response => {
this.uptimes = response.data;
this.loadMetrics();
Expand All @@ -491,7 +491,7 @@ export default defineComponent({
},

loadMetrics() {
axios.get(`/api/metrics/${this.pipeline}/${this.phase}/${this.app}`)
axios.get(`/api/metrics/resources/${this.pipeline}/${this.phase}/${this.app}`)
.then(response => {
for (var i = 0; i < response.data.length; i++) {
if (response.data[i].cpu.percentage != null && response.data[i].memory.percentage != null) {
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/apps/buildsform.vue
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ export default defineComponent({
const repoB64 = btoa(this.appData?.spec.gitrepo.ssh_url)
//const provider = this.appData?.spec.gitrepo.provider
const provider = "github" // TODO: FIX: get provider from appData
axios.get(`/api/repo/${provider}/${repoB64}/references/list`)
axios.get(`/api/repo/${provider}/${repoB64}/references`)
.then(response => {
this.references = response.data
})
Expand Down
4 changes: 2 additions & 2 deletions client/src/components/apps/console.vue
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export default defineComponent({
}),
methods: {
loadPods() {
axios.get(`/api/status/pods/${this.pipeline}/${this.phase}/${this.app}`).then((response) => {
axios.get(`/api/apps/${this.pipeline}/${this.phase}/${this.app}/pods`).then((response) => {
//this.loadContainers();
for (let pod of response.data) {
const p = {name: pod.name, containers: pod.containers.map((c: any) => c.name)} as Pod;
Expand Down Expand Up @@ -258,7 +258,7 @@ export default defineComponent({
});
},
execInContainer(){
axios.post(`/api/console/${this.pipeline}/${this.phase}/${this.app}/exec`, {
axios.post(`/api/apps/${this.pipeline}/${this.phase}/${this.app}/console`, {
podName: this.pod.name,
containerName: this.container,
command: this.command,
Expand Down
8 changes: 4 additions & 4 deletions client/src/components/apps/detail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ export default defineComponent({
});
},
loadApp() {
axios.get('/api/pipelines/'+this.pipeline+'/'+this.phase+'/'+this.app).then(response => {
axios.get('/api/apps/'+this.pipeline+'/'+this.phase+'/'+this.app).then(response => {
this.appData = response.data;
//console.log(this.appData);
});
Expand All @@ -172,7 +172,7 @@ export default defineComponent({
this.$router.push(`/pipeline/${this.pipeline}/${this.phase}/apps/${this.app}`);
},
ActionStartDownload() {
axios.get('/api/pipelines/'+this.pipeline+'/'+this.phase+'/'+this.app+'/download').then(response => {
axios.get('/api/apps/'+this.pipeline+'/'+this.phase+'/'+this.app+'/download').then(response => {
//console.log(response.data);
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
Expand All @@ -197,7 +197,7 @@ export default defineComponent({
})
.then((result) => {
if (result.isConfirmed) {
axios.delete(`/api/pipelines/${this.pipeline}/${this.phase}/${this.app}`)
axios.delete(`/api/apps/${this.pipeline}/${this.phase}/${this.app}`)
.then(response => {
// sleep 1 second
setTimeout(() => {
Expand All @@ -213,7 +213,7 @@ export default defineComponent({
});
},
async restartApp() {
axios.get(`/api/pipelines/${this.pipeline}/${this.phase}/${this.app}/restart`)
axios.get(`/api/apps/${this.pipeline}/${this.phase}/${this.app}/restart`)
.then(response => {
//console.log(response);
this.loadingState = true;
Expand Down
2 changes: 1 addition & 1 deletion client/src/components/apps/events.vue
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ export default defineComponent({
const namespace = this.pipeline + "-" + this.phase;
//axios.get(`/api/events?namespace=${this.$route.query.namespace}`)
//console.log("loadEvents", namespace);
axios.get(`/api/events?namespace=${namespace}`)
axios.get(`/api/kubernetes/events?namespace=${namespace}`)
.then(response => {
// sort by creationTimestamp
response.data.sort((a: any, b: any) => {
Expand Down
Loading
Loading