mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2025-04-30 07:01:42 +02:00
parent
95de9ad3b3
commit
161f0744aa
@ -6,6 +6,20 @@ This is a bug fix release of `cc-backend`, the API backend and frontend
|
|||||||
implementation of ClusterCockpit.
|
implementation of ClusterCockpit.
|
||||||
For release specific notes visit the [ClusterCockpit Documentation](https://clusterockpit.org/docs/release/).
|
For release specific notes visit the [ClusterCockpit Documentation](https://clusterockpit.org/docs/release/).
|
||||||
|
|
||||||
|
## Breaking changes
|
||||||
|
|
||||||
|
The option `apiAllowedIPs` is now a required configuration attribute in
|
||||||
|
`config.json`. This option restricts access to the admin API.
|
||||||
|
|
||||||
|
To retain the previous behavior that the API is per default accessible from
|
||||||
|
everywhere set:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
## Breaking changes for minor release 1.4.x
|
## Breaking changes for minor release 1.4.x
|
||||||
|
|
||||||
- You need to perform a database migration. Depending on your database size the
|
- You need to perform a database migration. Depending on your database size the
|
||||||
|
@ -32,6 +32,18 @@ const configString = `
|
|||||||
"jwts": {
|
"jwts": {
|
||||||
"max-age": "2000h"
|
"max-age": "2000h"
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"enable-resampling": {
|
||||||
|
"trigger": 30,
|
||||||
|
"resolutions": [
|
||||||
|
600,
|
||||||
|
300,
|
||||||
|
120,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "name",
|
"name": "name",
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
60
|
60
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"emission-constant": 317,
|
"emission-constant": 317,
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,10 @@
|
|||||||
"kind": "file",
|
"kind": "file",
|
||||||
"path": "./var/job-archive"
|
"path": "./var/job-archive"
|
||||||
},
|
},
|
||||||
"validate": true,
|
"validate": false,
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "test",
|
"name": "test",
|
||||||
@ -46,5 +49,14 @@
|
|||||||
"max-age": "2000h",
|
"max-age": "2000h",
|
||||||
"trustedIssuer": ""
|
"trustedIssuer": ""
|
||||||
},
|
},
|
||||||
|
"enable-resampling": {
|
||||||
|
"trigger": 30,
|
||||||
|
"resolutions": [
|
||||||
|
600,
|
||||||
|
300,
|
||||||
|
120,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
"short-running-jobs-duration": 300
|
"short-running-jobs-duration": 300
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,9 @@ func setup(t *testing.T) *api.RestApi {
|
|||||||
"jwts": {
|
"jwts": {
|
||||||
"max-age": "2m"
|
"max-age": "2m"
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "testcluster",
|
"name": "testcluster",
|
||||||
|
@ -45,6 +45,9 @@ func setup(t *testing.T) *repository.JobRepository {
|
|||||||
"jwts": {
|
"jwts": {
|
||||||
"max-age": "2m"
|
"max-age": "2m"
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "testcluster",
|
"name": "testcluster",
|
||||||
|
@ -25,6 +25,9 @@ func setupUserTest(t *testing.T) *UserCfgRepo {
|
|||||||
"jwts": {
|
"jwts": {
|
||||||
"max-age": "2m"
|
"max-age": "2m"
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "testcluster",
|
"name": "testcluster",
|
||||||
|
@ -492,6 +492,7 @@
|
|||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"jwts",
|
"jwts",
|
||||||
"clusters"
|
"clusters",
|
||||||
|
"apiAllowedIPs"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,9 @@ func TestValidateConfig(t *testing.T) {
|
|||||||
"jwts": {
|
"jwts": {
|
||||||
"max-age": "2m"
|
"max-age": "2m"
|
||||||
},
|
},
|
||||||
|
"apiAllowedIPs": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
"clusters": [
|
"clusters": [
|
||||||
{
|
{
|
||||||
"name": "testcluster",
|
"name": "testcluster",
|
||||||
@ -33,7 +36,6 @@ func TestValidateConfig(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateJobMeta(t *testing.T) {
|
func TestValidateJobMeta(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateCluster(t *testing.T) {
|
func TestValidateCluster(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user