Skip to content
2 changes: 2 additions & 0 deletions apps/client/nginx/default.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ server {
index index.html;

large_client_header_buffers 4 32k;
proxy_read_timeout 3600;
proxy_send_timeout 3600;

location / {
try_files $uri $uri/ @rewrites;
Expand Down
4 changes: 3 additions & 1 deletion apps/client/nginx/default.docker.conf
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@ server {
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_read_timeout 3600;
proxy_send_timeout 3600;

# For WebSockets
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
4 changes: 4 additions & 0 deletions apps/nginx-strangler/conf.d/routing.conf
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600;
proxy_send_timeout 3600;
proxy_buffering off;
proxy_redirect off;
}
Expand All @@ -72,5 +74,7 @@ server {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
}
}
4 changes: 3 additions & 1 deletion apps/nginx-strangler/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ http {
access_log /var/log/nginx/access.log main;

sendfile on;
keepalive_timeout 65;
keepalive_timeout 180;
proxy_read_timeout 180;
proxy_send_timeout 180;

# Taille des headers (nécessaire pour les tokens Keycloak)
large_client_header_buffers 4 32k;
Expand Down
2 changes: 1 addition & 1 deletion apps/server-nestjs/src/modules/healthz/healthz.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common'
import { TerminusModule } from '@nestjs/terminus'
import { KeycloakModule } from '../keycloak/keycloak.module'
import { DatabaseModule } from '../../cpin-module/infrastructure/database/database.module'
import { KeycloakModule } from '../keycloak/keycloak.module'
import { HealthzController } from './healthz.controller'

@Module({
Expand Down
12 changes: 4 additions & 8 deletions packages/hooks/src/hooks/hook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,16 @@ export async function executeStep<Args extends DefaultArgs>(step: HookStep, payl
payload.results[name].executionTime[stepName] = Date.now() - payload.results[name].executionTime[stepName]
return fnResult
})
const results = await Promise.allSettled(fns)
const results = await Promise.all(fns)
names.forEach((name, index) => {
const settled = results[index]
const result = settled.status === 'fulfilled'
? settled.value
: { status: { result: 'KO', message: String(settled.reason) } } satisfies PluginResult
if (result.status.result === 'KO') {
if (results[index].status.result === 'KO') {
payload.failed = Array.isArray(payload.failed)
? [...payload.failed, name]
: [name]
} else if (result.status.result === 'WARNING' && !payload.warning.includes(name)) {
} else if (results[index].status.result === 'WARNING' && !payload.warning.includes(name)) {
payload.warning.push(name)
}
payload.results[name] = { ...result, executionTime: payload.results[name].executionTime }
payload.results[name] = { ...results[index], executionTime: payload.results[name].executionTime }
})
return payload
}
Expand Down
2 changes: 1 addition & 1 deletion plugins/gitlab/src/class.ts
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ export class GitlabProjectApi extends GitlabApi {
public async addGroupMember(userId: number, accessLevel: AccessLevelAllowed = AccessLevel.DEVELOPER): Promise<MemberSchema> {
console.log(`[GITLAB] addGroupMember ${userId} ${accessLevel}`)
const group = await this.getOrCreateProjectGroup()
return this.api.GroupMembers.add(group.id, userId, accessLevel)
return this.api.GroupMembers.add(group.id, userId, accessLevel as any)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I witness, je reconnais bien l'erreur, c'est un soucis avec db:generate ?

}

public async editGroupMember(userId: number, accessLevel: AccessLevelAllowed = AccessLevel.DEVELOPER): Promise<MemberSchema> {
Expand Down
15 changes: 15 additions & 0 deletions plugins/gitlab/src/functions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { cleanGitlabError } from './utils.js'

// Check
export const checkApi: StepCall<Project> = async (payload) => {
console.log(`[GITLAB] checkApi`)
try {
const { users } = payload.args
for (const user of users) {
Expand Down Expand Up @@ -47,6 +48,7 @@ export const checkApi: StepCall<Project> = async (payload) => {
}

export const getDsoProjectSecrets: StepCall<ProjectLite> = async (payload) => {
console.log(`[GITLAB] getDsoProjectSecrets`)
try {
if (!specificallyDisabled(payload.config.gitlab?.displayTriggerHint)) {
// TODO déplacer les secrets dans un dossier pour tout lister plutôt que de sélectionner dans le code
Expand Down Expand Up @@ -93,6 +95,7 @@ export const getDsoProjectSecrets: StepCall<ProjectLite> = async (payload) => {
}

export const upsertDsoProject: StepCall<Project> = async (payload) => {
console.log(`[GITLAB] upsertDsoProject`)
const returnResult: PluginResult = {
status: {
result: 'OK',
Expand Down Expand Up @@ -136,13 +139,15 @@ export const upsertDsoProject: StepCall<Project> = async (payload) => {
return returnResult
} catch (error) {
returnResult.error = parseError(cleanGitlabError(error))
console.log(`[GITLAB:ERROR] upsertDsoProject: ${returnResult.error}}`)
returnResult.status.result = 'KO'
returnResult.status.message = 'Can\'t reconcile please inspect logs'
return returnResult
}
}

export const deleteDsoProject: StepCall<Project> = async (payload) => {
console.log(`[GITLAB] deleteDsoProject`)
try {
const group = await payload.apis.gitlab.getProjectGroup()
if (group) await deleteGroup(group.id, group.full_path)
Expand All @@ -165,6 +170,7 @@ export const deleteDsoProject: StepCall<Project> = async (payload) => {
}

export const syncRepository: StepCall<UniqueRepo> = async (payload) => {
console.log(`[GITLAB] syncRepository`)
const targetRepo = payload.args.repo
const gitlabApi = payload.apis.gitlab
try {
Expand All @@ -187,20 +193,23 @@ export const syncRepository: StepCall<UniqueRepo> = async (payload) => {
}

export const upsertZone: StepCall<ZoneObject> = async (payload) => {
console.log(`[GITLAB] upsertZone`)
const returnResult: PluginResult = okStatus
try {
const gitlabApi = payload.apis.gitlab
await gitlabApi.getOrCreateInfraProject(payload.args.slug)
return returnResult
} catch (error) {
returnResult.error = parseError(cleanGitlabError(error))
console.log(`[GITLAB:ERROR] upsertZone: ${returnResult.error}}`)
returnResult.status.result = 'KO'
returnResult.status.message = 'Can\'t reconcile please inspect logs'
return returnResult
}
}

export const deleteZone: StepCall<ZoneObject> = async (payload) => {
console.log(`[GITLAB] deleteZone`)
const returnResult: PluginResult = {
status: {
result: 'OK',
Expand All @@ -214,13 +223,15 @@ export const deleteZone: StepCall<ZoneObject> = async (payload) => {
return returnResult
} catch (error) {
returnResult.error = parseError(cleanGitlabError(error))
console.log(`[GITLAB:ERROR] deleteZone: ${returnResult.error}}`)
returnResult.status.result = 'KO'
returnResult.status.message = 'Can\'t reconcile please inspect logs'
return returnResult
}
}

export const commitFiles: StepCall<UniqueRepo | Project | ClusterObject | ZoneObject> = async (payload) => {
console.log(`[GITLAB] commitFiles`)
const returnResult = payload.results.gitlab
try {
const filesUpdated = await payload.apis.gitlab.commitFiles()
Expand All @@ -236,6 +247,7 @@ export const commitFiles: StepCall<UniqueRepo | Project | ClusterObject | ZoneOb
}

export const upsertAdminRole: StepCall<AdminRole> = async (payload) => {
console.log(`[GITLAB] upsertAdminRole`)
try {
const role = payload.args
const adminGroupPath = payload.config.gitlab?.adminGroupPath ?? DEFAULT_ADMIN_GROUP_PATH
Expand Down Expand Up @@ -275,6 +287,7 @@ export const upsertAdminRole: StepCall<AdminRole> = async (payload) => {
}

export const deleteAdminRole: StepCall<AdminRole> = async (payload) => {
console.log(`[GITLAB] deleteAdminRole`)
try {
const role = payload.args
const adminGroupPath = payload.config.gitlab?.adminGroupPath ?? DEFAULT_ADMIN_GROUP_PATH
Expand Down Expand Up @@ -314,6 +327,7 @@ export const deleteAdminRole: StepCall<AdminRole> = async (payload) => {
}

export const upsertProjectMember: StepCall<ProjectMember> = async (payload) => {
console.log(`[GITLAB] upsertProjectMember`)
const member = payload.args
const { gitlab: gitlabApi } = payload.apis as { gitlab: GitlabProjectApi } // TODO: apis is never type for some resaon

Expand All @@ -340,6 +354,7 @@ export const upsertProjectMember: StepCall<ProjectMember> = async (payload) => {
}

export const deleteProjectMember: StepCall<ProjectMember> = async (payload) => {
console.log(`[GITLAB] deleteProjectMember`)
const member = payload.args
const { gitlab: gitlabApi } = payload.apis as { gitlab: GitlabProjectApi } // TODO: apis is never type for some resaon

Expand Down
2 changes: 2 additions & 0 deletions plugins/gitlab/src/repositories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ interface ProjectMirrorCreds {
}

export async function ensureRepositories(gitlabApi: GitlabProjectApi, project: Project, vaultApi: VaultProjectApi, projectMirrorCreds: ProjectMirrorCreds) {
console.log(`[GITLAB] ensureRepositories`)
const specialRepos = await gitlabApi.getSpecialRepositories()
const gitlabRepositories = await gitlabApi.listRepositories()

Expand Down Expand Up @@ -46,6 +47,7 @@ export async function ensureRepositories(gitlabApi: GitlabProjectApi, project: P
const urnRegexp = /:\/\/(.*)/s

async function ensureRepositoryExists(gitlabRepositories: CondensedProjectSchema[], repository: Repository, gitlabApi: GitlabProjectApi, projectMirrorCreds: ProjectMirrorCreds, vaultApi: VaultProjectApi) {
console.log(`[GITLAB] ensureRepositoryExists`)
const gitlabRepository: CondensedProjectSchema | ProjectSchema | void = gitlabRepositories.find(gitlabRepository => gitlabRepository.name === repository.internalRepoName)
const externalRepoUrn = repository.externalRepoUrl.split(urnRegexp)[1]
const vaultCredsPath = `${repository.internalRepoName}-mirror`
Expand Down
Loading
Loading