Édition du docker-compose.yml depuis la page d'un conteneur
Vérification par docker compose config avant écriture, application avec docker compose up -d et retour à la version précédente en cas d'échec. Historique des versions par fichier. Le Caddyfile et le compose gardent un retour à la ligne final. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
dcdac915f9
commit
c106fcfc62
27 files changed
+1035
-58
No files matched your search
@@ -60,6 +60,24 @@ const routes = {
|
||||
tokens: [{"old":"/api/containers/:id/logs","type":0,"val":"api","end":""},{"old":"/api/containers/:id/logs","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/logs","type":1,"val":"id","end":""},{"old":"/api/containers/:id/logs","type":0,"val":"logs","end":""}],
|
||||
types: placeholder as Registry['containers.logs']['types'],
|
||||
},
|
||||
'compose.show': {
|
||||
methods: ["GET","HEAD"],
|
||||
pattern: '/api/containers/:id/compose',
|
||||
tokens: [{"old":"/api/containers/:id/compose","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"compose","end":""}],
|
||||
types: placeholder as Registry['compose.show']['types'],
|
||||
},
|
||||
'compose.update': {
|
||||
methods: ["PUT"],
|
||||
pattern: '/api/containers/:id/compose',
|
||||
tokens: [{"old":"/api/containers/:id/compose","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose","type":0,"val":"compose","end":""}],
|
||||
types: placeholder as Registry['compose.update']['types'],
|
||||
},
|
||||
'compose.version': {
|
||||
methods: ["GET","HEAD"],
|
||||
pattern: '/api/containers/:id/compose/versions/:versionId',
|
||||
tokens: [{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"api","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"containers","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":1,"val":"id","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"compose","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":0,"val":"versions","end":""},{"old":"/api/containers/:id/compose/versions/:versionId","type":1,"val":"versionId","end":""}],
|
||||
types: placeholder as Registry['compose.version']['types'],
|
||||
},
|
||||
'containers.action': {
|
||||
methods: ["POST"],
|
||||
pattern: '/api/containers/:id/:action',
|
||||
|
||||
+36
@@ -115,6 +115,42 @@ export interface Registry {
|
||||
errorResponse: ExtractErrorResponse<Awaited<ReturnType<import('#controllers/containers_controller').default['logs']>>>
|
||||
}
|
||||
}
|
||||
'compose.show': {
|
||||
methods: ["GET","HEAD"]
|
||||
pattern: '/api/containers/:id/compose'
|
||||
types: {
|
||||
body: {}
|
||||
paramsTuple: [ParamValue]
|
||||
params: { id: ParamValue }
|
||||
query: {}
|
||||
response: ExtractResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['show']>>>
|
||||
errorResponse: ExtractErrorResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['show']>>>
|
||||
}
|
||||
}
|
||||
'compose.update': {
|
||||
methods: ["PUT"]
|
||||
pattern: '/api/containers/:id/compose'
|
||||
types: {
|
||||
body: ExtractBody<InferInput<(typeof import('#validators/compose').updateComposeValidator)>>
|
||||
paramsTuple: [ParamValue]
|
||||
params: { id: ParamValue }
|
||||
query: ExtractQuery<InferInput<(typeof import('#validators/compose').updateComposeValidator)>>
|
||||
response: ExtractResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['update']>>>
|
||||
errorResponse: ExtractErrorResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['update']>>> | { status: 422; response: { errors: SimpleError[] } }
|
||||
}
|
||||
}
|
||||
'compose.version': {
|
||||
methods: ["GET","HEAD"]
|
||||
pattern: '/api/containers/:id/compose/versions/:versionId'
|
||||
types: {
|
||||
body: {}
|
||||
paramsTuple: [ParamValue, ParamValue]
|
||||
params: { id: ParamValue; versionId: ParamValue }
|
||||
query: {}
|
||||
response: ExtractResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['version']>>>
|
||||
errorResponse: ExtractErrorResponse<Awaited<ReturnType<import('#controllers/compose_controller').default['version']>>>
|
||||
}
|
||||
}
|
||||
'containers.action': {
|
||||
methods: ["POST"]
|
||||
pattern: '/api/containers/:id/:action'
|
||||
|
||||
+5
@@ -20,6 +20,11 @@ export interface ApiDefinition {
|
||||
logs: typeof routes['containers.logs']
|
||||
action: typeof routes['containers.action']
|
||||
}
|
||||
compose: {
|
||||
show: typeof routes['compose.show']
|
||||
update: typeof routes['compose.update']
|
||||
version: typeof routes['compose.version']
|
||||
}
|
||||
sites: {
|
||||
index: typeof routes['sites.index']
|
||||
check: typeof routes['sites.check']
|
||||
|
||||
Reference in new issue
Block a user