Gå til hovedinnhold

Feilsøking

Vanlige problemer og hvordan du løser dem. Hver del lenker til den relevante referansesiden for mer sammenheng.

Autentisering og innlogging

E-posten for tilbakestilling av passord kommer ikke fram

Sjekk søppelpostmappen. E-poster for tilbakestilling av passord kommer fra hello@frem.sh. Hvis organisasjonen din bruker SSO, er tilbakestilling av passord ikke riktig vei. Bruk i stedet knappen Logg inn med <IdP> på innloggingssiden. SSO-kontoer har ikke nødvendigvis et lokalt passord.

SSO-innlogging feiler med redirect_uri mismatch

IdP-en avviste tilbakekallet fordi redirect-URI-en som er registrert der, ikke stemmer nøyaktig med det fremforge sender. Redirect-URI-en er https://frem.sh/user/oauth2/<auth-source-name>/callback, der <auth-source-name> er det nøyaktige Navn på autentiseringskilden slik det vises på kortet i Organisasjonsadministrasjon → SSO; kopier navnet i stedet for å skrive det inn. En enkelt avsluttende skråstrek er nok til å gi denne feilen. Se Single sign-on med OIDC.

SSH: Permission denied (publickey)

Tre vanlige årsaker:

  • Nøkkelen er ikke lagt til i fremforge-kontoen din (Brukerinnstillinger → SSH- / GPG-nøkler → Legg til nøkkel).
  • Nøkkelfilen som SSH-klienten din viser til, tilhører en annen brukerkonto.
  • Nøkkelformatet støttes ikke (Ed25519, RSA 3072+ og ECDSA støttes; DSA-nøkler avvises).

Test nøkkelen din: ssh -T -p 443 git@ssh.frem.sh; fremforge eksponerer SSH på port 443 via ssh.frem.sh (port 22 er ikke åpen). En vellykket autentisering returnerer Hi <username>! You've successfully authenticated.... Se Kom i gang for oppsett av nøkler og Koble til fremforge for Host-aliaset i ~/.ssh/config som lar deg fortsette å skrive git@frem.sh i remotene dine.

PAT utløpt / 401 på API-kall

PAT-er utløper etter 90 dager, som også er maksimum (ttl_days godtar 1–90). Sjekk:

  1. At tokenet fortsatt står under Brukerinnstillinger → Git-tilgangstokener.
  2. At tokenet har scopet som kreves. REST-kall mot kontrollplanet bruker fremforges scope-vokabular (orgs:read, findings:read, …) – se API-tokener. Pakkeregistre tar ikke imot PAT-er i det hele tatt; se Pakker / register nedenfor.
  3. At tokenverdien ble kopiert riktig (den vises bare én gang, når tokenet opprettes).

Generer et nytt token hvis du er i tvil.

CI / runnere

Jobben står fast i køen

Organisasjonen er garantert 2 samtidige jobber per bruker (minst 10, høyst 60) og kan bruke opptil 60 når plattformen har ledig kapasitet. En organisasjon på prøveperiode kjører 2 om gangen. Sjekk hvor mange jobber som kjører nå, på frem.sh/<org>/_admin/billing. Hvis alle organisasjonens jobbenheter er opptatt, venter jobbene i køen til en jobbenhet blir ledig. De avbrytes ikke.

Hvis køen er tom, men jobbene fortsatt står fast, kan runner-agenten være frakoblet. Sjekk runner-statusen i organisasjonens Forgejo-innstillinger under Innstillinger → Actions → Runnere (frem.sh/org/<org>/settings/actions/runners).

actions/checkout feiler: repository not found

Det innebygde FORGEJO_TOKEN trenger tilgangen contents: read. Legg til en permissions:-blokk i jobben eller workflowen:

permissions:
  contents: read

Hvis repositoryet er privat og tokenet er et PAT i stedet for det innebygde tokenet, bekrefter du at PAT-et har scopet repo.

Secreten er satt, men vises som tom i jobben

Secreten er satt på feil nivå. Secrets følger denne rekkefølgen: miljø-secret → repository-secret → organisasjons-secret. Hvis jobben din deklarerer environment: production, settes bare secrets fra det miljøet inn (og repository- og organisasjons-secrets som ikke skygges av det). Sjekk at secreten er satt på nivået som stemmer med jobbens environment:-deklarasjon.

Docker: Cannot connect to the Docker daemon

fremforges runnere er flyktige VM-er, én per commit (debian 13), med en innebygd Docker-daemon ferdig installert. docker build, docker run og docker/build-push-action@v5 fungerer uten ekstra oppsett. Hvis du ser denne feilen, sjekker du at jobben deklarerer runs-on: fremforge (slik at den havner på en fremforge-runner og ikke på en selvhostet etikett uten Docker):

jobs:
  build-image:
    runs-on: fremforge
    steps:
      - uses: actions/checkout@v4
      - uses: docker/setup-buildx-action@v3
      - uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: registry.example.com/${{ github.repository }}:${{ github.sha }}

For ren kopiering, ny tagging og push av imager mellom registre er skopeo ferdig installert. Se CI-runnere for tilgjengelige runner-etiketter og docs.frem.sh/build/actions/runner-image/ for hele listen over ferdig installerte verktøy.

upload-artifact prøver på nytt ved 413 og feiler så med Status Code: 413

Organisasjonens kvote for Actions-artefakter (5 GiB per bruker) er full. Steg-loggen viser A 413 status code has been received, will attempt to retry the upload flere ganger, deretter Status Code: 413 og Status Message: Request Entity Too Large. Det hjelper ikke å kjøre jobben på nytt før noe er slettet og kvoten har fått rom igjen. Se Actions-artefakter og vedlegg.

Action not found: uses: some/action@v1

De fleste actions fra GitHub Marketplace fungerer på fremforge. Actions som kaller github.com/api/v3 direkte, feiler fordi de går mot GitHub-API-et, ikke fremforge-API-et. Se Marketplace-kompatibilitet for kompatibilitetsmatrisen per action.

Git og repositoryer

Push avvist: secret oppdaget

Gitleaks (pre-receive-hook) blokkerte pushen fordi et mønster for secrets ble oppdaget i commiten. Pushen ble ikke godtatt. Secreten nådde aldri repositoryet.

Slik løser du det:

  1. Roter secreten umiddelbart i systemet som utstedte den, selv om pushen ble avvist. Gå ut fra at verdien er kompromittert fra det øyeblikket den dukket opp i arbeidstreet ditt.
  2. Fjern secreten fra arbeidstreet og commit-historikken med git filter-repo.
  3. Push den rensede historikken på nytt.

Se Sikkerhet og forsyningskjede for detaljer om hvilke mønstre som oppdages.

Push avvist: branchbeskyttelse

En regel for branchbeskyttelse blokkerer pushen. Sjekk reglene under Repo-innstillinger → Brancher → <branch name>. Vanlige årsaker: en påkrevd statussjekk har ikke bestått, force-push er slått av, eller pushen krever en signert commit.

LFS: batch request failed

Git LFS er tilgjengelig i alle repositoryer; det finnes ingen bryter per repository som må slås på. Repo-innstillinger → LFS viser LFS-filene repositoryet allerede lagrer. Hvis feilen vedvarer, sjekker du organisasjonens lagringskvote. LFS-lagring teller mot LFS-potten på 5 GB per bruker, som er atskilt fra potten for pakkeregisteret på 5 GB per bruker.

Webhooks

Webhooken utløses ikke

Sjekk de siste leveringsforsøkene under Repo-innstillinger → Webhooks → <webhook> → Nylige leveringer. Den vanligste årsaken er at payload-URL-en ikke kan nås fra fremforges IP-adresser for utgående trafikk i T Cloud Public. Hvis leveringer vises som mislykket, inneholder svarkroppen som regel HTTP-statusen endepunktet ditt returnerte. Se Webhooks for IP-områdene for utgående trafikk.

Webhooken utløses, men innholdet er feil

Bekreft hvilke hendelsestyper som er abonnert på. En push til en tag sender en push-hendelse, ikke en create-hendelse. Sjekk konfigurasjonen under Hendelser på webhooken. Se Webhooks for hele hendelsesvokabularet.

SSO / SCIM

Bruker provisjonert via SCIM, men kan ikke logge inn

Domenebekreftelse kreves før brukere som er provisjonert via SCIM, kan autentisere seg. Bekreft e-postdomenet under Organisasjonsadministrasjon → SSO → Bekreftede domener. Domenet i brukerens e-postadresse må stå der.

Pakker / register

Registrene godtar bare to typer legitimasjon: det automatiske tokenet til en Forgejo Actions-jobb og det kortlivede tokenet som fremforge-CLI-en gir verktøyene dine. API-tokener (ffp_…) avvises. Se Pakkeregister → Autentisering.

Actions-jobb: 403 this job's token can only write packages linked to its own repository

Jobben prøvde å publisere en pakke som hører til et annet repository i organisasjonen, eller en som ikke er knyttet til noe repository. Tokenet til en jobb skriver bare pakker som er knyttet til jobbens eget repository, og nye pakker som den oppretter. Publiser fra repositoryet pakken hører til, eller knytt en pakke uten tilknytning til dette repositoryet på pakkens side Innstillinger.

Actions-jobb: 401 eller 403 ved publisering fra en pull request

Kjøringer for pull requests fra forker får bare lesetilgang. Publiser fra en workflow for push eller tag i selve repositoryet.

docker pull eller push: unauthorized

Sjekk CLI-innloggingen og hjelperen på maskinen din:

fremforge auth status
printf 'frem.sh\n' | docker-credential-fremforge get    # prints JSON when the helper works
  • not logged in → kjør fremforge auth login.
  • docker-credential-fremforge: command not found → mappen til hjelperen (~/.local/bin) står ikke i PATH, eller fremforge auth configure docker ble aldri kjørt.
  • fremforge manages frem.sh registry credentials etter docker login frem.sh → forventet; hjelperen avviser lagrede passord. Bruk fremforge auth login.

npm, Maven eller Gradle: 401 etter en stund

Disse verktøyene leser en kopi av tokenet fra konfigurasjonsfilen sin, og den kopien utløper etter høyst en time. Kjør en hvilken som helst fremforge-kommando, eller fremforge auth refresh, for å skrive den på nytt. Legg til "preinstall": "fremforge auth refresh --quiet" i package.json, eller et steg før bygging i IDE-en din, slik at bygg alltid starter med et ferskt token.

pip eller uv: 401 eller spørsmål om passord

pip og uv spør bare keyring når de blir bedt om det: pip config set global.keyring-provider subprocess, eller UV_KEYRING_PROVIDER=subprocess for uv. Indeks-URL-en må inneholde brukernavnet ditt (https://<username>@frem.sh/api/packages/<org>/pypi/simple/). Sjekk at keyring i ~/.local/bin kommer først i PATH: command -v keyring.

Ledige slugs og navn for organisasjoner

Organisasjonens slug må være 3–30 tegn, med små bokstaver, og bare bestå av bokstaver, sifre og bindestreker, uten bindestrek først eller sist.

Hvis en slug vises som utilgjengelig under registreringen, er den enten registrert av en annen organisasjon eller står på listen over reserverte navn. Den reserverte listen dekker vanlige rollenavn (admin, api, billing, support, status, security, abuse, root, system, fremforge og lignende) for å hindre phishing eller kollisjoner med tjenestestier.

Navn som ligger nær varemerker (f.eks. slugs som ligner mye på kjente merkenavn), havner i en kø for skjønnsmessig gjennomgang i stedet for å bli blokkert med en gang. Hvis registreringen din står i køen, får du en e-post fra support@frem.sh innen én arbeidsdag. I de fleste tilfeller blir seriøse selskaper som bruker sitt eget merkenavn, godkjent uten problemer.

Hvis slugen du ønsker deg, er tatt av en inaktiv organisasjon eller en som bare holder på navnet, kontakter du support@frem.sh. Oppgi ønsket slug og organisasjonens domene eller annen dokumentasjon på eierskap. Overføring av slugs vurderes i hvert enkelt tilfelle.

Endre organisasjonens slug etter at den er opprettet: Organisasjonsadministrasjon → Innstillinger → Gi organisasjonen nytt navn. Alle eksisterende repository-URL-er, klone-URL-er og API-kall som bruker den gamle slugen, blir videresendt i 90 dager. Etter 90 dager kan den gamle slugen registreres av andre.

Se også