1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 07:49:41 +02:00

Compare commits

...

3 commits

Author SHA1 Message Date
Malcolm Lockyer
3019e8ec11
chore: bump version to 2.31.1 (#815) 2025-06-19 11:37:00 +12:00
James Player
4b5b682d0c feat(k8s): CRD in applications list and details 2.31.1 - [R8S-357] (#806)
Co-authored-by: stevensbkang <skan070@gmail.com>
2025-06-18 09:06:58 +12:00
Yajith Dayarathna
078dca33b8 fix(api-documentation): swagger document genration error (#794) 2025-06-12 13:39:15 +12:00
7 changed files with 29 additions and 21 deletions

View file

@ -611,7 +611,7 @@
"RequiredPasswordLength": 12
},
"KubeconfigExpiry": "0",
"KubectlShellImage": "portainer/kubectl-shell:2.31.0",
"KubectlShellImage": "portainer/kubectl-shell:2.31.1",
"LDAPSettings": {
"AnonymousMode": true,
"AutoCreateUsers": true,
@ -939,7 +939,7 @@
}
],
"version": {
"VERSION": "{\"SchemaVersion\":\"2.31.0\",\"MigratorCount\":1,\"Edition\":1,\"InstanceID\":\"463d5c47-0ea5-4aca-85b1-405ceefee254\"}"
"VERSION": "{\"SchemaVersion\":\"2.31.1\",\"MigratorCount\":0,\"Edition\":1,\"InstanceID\":\"463d5c47-0ea5-4aca-85b1-405ceefee254\"}"
},
"webhooks": null
}

View file

@ -81,7 +81,7 @@ type Handler struct {
}
// @title PortainerCE API
// @version 2.31.0
// @version 2.31.1
// @description.markdown api-description.md
// @termsOfService

View file

@ -20,7 +20,7 @@ import (
// @param id path int true "Environment identifier"
// @param namespace path string true "The namespace name the events are associated to"
// @param resourceId query string false "The resource id of the involved kubernetes object" example:"e5b021b6-4bce-4c06-bd3b-6cca906797aa"
// @success 200 {object} models.Event[] "Success"
// @success 200 {object} []kubernetes.K8sEvent "Success"
// @failure 400 "Invalid request payload, such as missing required fields or fields not meeting validation criteria."
// @failure 401 "Unauthorized access - the user is not authenticated or does not have the necessary permissions. Ensure that you have provided a valid API key or JWT token, and that you have the required permissions."
// @failure 403 "Permission denied - the user is authenticated but does not have the necessary permissions to access the requested resource or perform the specified operation. Check your user roles and permissions."
@ -68,7 +68,7 @@ func (handler *Handler) getKubernetesEventsForNamespace(w http.ResponseWriter, r
// @produce json
// @param id path int true "Environment identifier"
// @param resourceId query string false "The resource id of the involved kubernetes object" example:"e5b021b6-4bce-4c06-bd3b-6cca906797aa"
// @success 200 {object} models.Event[] "Success"
// @success 200 {object} []kubernetes.K8sEvent "Success"
// @failure 400 "Invalid request payload, such as missing required fields or fields not meeting validation criteria."
// @failure 401 "Unauthorized access - the user is not authenticated or does not have the necessary permissions. Ensure that you have provided a valid API key or JWT token, and that you have the required permissions."
// @failure 403 "Permission denied - the user is authenticated but does not have the necessary permissions to access the requested resource or perform the specified operation. Check your user roles and permissions."

View file

@ -38,14 +38,30 @@ type K8sApplication struct {
Labels map[string]string `json:"Labels,omitempty"`
Resource K8sApplicationResource `json:"Resource,omitempty"`
HorizontalPodAutoscaler *autoscalingv2.HorizontalPodAutoscaler `json:"HorizontalPodAutoscaler,omitempty"`
CustomResourceMetadata CustomResourceMetadata `json:"CustomResourceMetadata,omitempty"`
}
type Metadata struct {
Labels map[string]string `json:"labels"`
}
type CustomResourceMetadata struct {
Kind string `json:"kind"`
APIVersion string `json:"apiVersion"`
Plural string `json:"plural"`
}
type Pod struct {
Status string `json:"Status"`
Name string `json:"Name"`
ContainerName string `json:"ContainerName"`
Image string `json:"Image"`
ImagePullPolicy string `json:"ImagePullPolicy"`
Status string `json:"Status"`
NodeName string `json:"NodeName"`
PodIP string `json:"PodIP"`
UID string `json:"Uid"`
Resource K8sApplicationResource `json:"Resource,omitempty"`
CreationDate time.Time `json:"CreationDate"`
}
type Configuration struct {
@ -72,8 +88,8 @@ type TLSInfo struct {
// Existing types
type K8sApplicationResource struct {
CPURequest float64 `json:"CpuRequest"`
CPULimit float64 `json:"CpuLimit"`
MemoryRequest int64 `json:"MemoryRequest"`
MemoryLimit int64 `json:"MemoryLimit"`
CPURequest float64 `json:"CpuRequest,omitempty"`
CPULimit float64 `json:"CpuLimit,omitempty"`
MemoryRequest int64 `json:"MemoryRequest,omitempty"`
MemoryLimit int64 `json:"MemoryLimit,omitempty"`
}

View file

@ -1728,7 +1728,7 @@ type (
const (
// APIVersion is the version number of the Portainer API
APIVersion = "2.31.0"
APIVersion = "2.31.1"
// Support annotation for the API version ("STS" for Short-Term Support or "LTS" for Long-Term Support)
APIVersionSupport = "STS"
// Edition is what this edition of Portainer is called

View file

@ -1,7 +1,4 @@
import clsx from 'clsx';
import { Settings } from 'lucide-react';
import { Icon } from '@@/Icon';
import styles from './ViewLoading.module.css';
@ -18,12 +15,7 @@ export function ViewLoading({ message }: Props) {
<div className="sk-fold-cube" />
<div className="sk-fold-cube" />
</div>
{message && (
<span className={styles.message}>
{message}
<Icon icon={Settings} className="!ml-1 animate-spin-slow" />
</span>
)}
{message && <span className={styles.message}>{message}</span>}
</div>
);
}

View file

@ -2,7 +2,7 @@
"author": "Portainer.io",
"name": "portainer",
"homepage": "http://portainer.io",
"version": "2.31.0",
"version": "2.31.1",
"repository": {
"type": "git",
"url": "git@github.com:portainer/portainer.git"