concourse / git-resource

tracks commits in a branch of a Git repository
Apache License 2.0
191 stars 289 forks source link

detected dubious ownership in repository at '/tmp/build/get' #404

Open NullOranje opened 1 year ago

NullOranje commented 1 year ago

Describe the bug

When attempting to get a git-resource, we receive the git error detected dubious ownership instead of pulling the source code.

Reproduction steps

  1. Deploy concourse quickstart using provided docker-compose.yml (using Concourse 7.9.1)

  2. Deploy a simple pipeline:

resources:
  - name: git-repo
    type: git
    icon: git
    source:
      uri: http://gitea:3000/org1/myproject
      username: ((gitea.username))
      password: ((gitea.password))
jobs:
- name: validate-repo
  plan:
    - get: git-repo
      trigger: false
    - task: list-files
      config:
        inputs:
          - name: git-repo
        platform: linux
        image_resource:
          type: registry-image
          source:
            repository: busybox
        run:
          path: tree
  1. Unpause the pipeline
  2. Receive the following error:

    
    selected worker: 31354ca107d3
    Cloning into '/tmp/build/get'...
    fatal: detected dubious ownership in repository at '/tmp/build/get'
    To add an exception for this directory, call:
    
    git config --global --add safe.directory /tmp/build/get

...

### Expected behavior

Expect the git repo to be available for pipeline consumption,

### Additional context

_No response_
NullOranje commented 1 year ago

This seems to be an issue with houdini/Docker for Mac. Running this on a Kubernetes cluster on the same Docker for Mac instance with containerd does not encounter this issue.

dschila commented 11 months ago

Alternative workaround if you work on a local concourse instance:

git_config:
- name: safe.directory
  value: /tmp/build/get
ismail-temiz commented 11 months ago

Alternative workaround if you work on a local concourse instance:

git_config:
- name: safe.directory
  value: /tmp/build/get

This has worked for me on the get step but having the same issue now in the put step as

Identity added: /tmp/git-resource-private-key (/tmp/git-resource-private-key)
fatal: detected dubious ownership in repository at '/tmp/build/put/repo'
To add an exception for this directory, call:

    git config --global --add safe.directory /tmp/build/put/repo
ismail-temiz commented 11 months ago
    git_config:
    - name: safe.directory
      value: '*'

Solved the issues for me

reshmiasish commented 5 months ago

this didnt solve issue for me :(

pm3ndoza commented 2 months ago
    git_config:
    - name: safe.directory
      value: '*'

Solved the issues for me

Question, where do you writ that, because, i tried on the task, on the resource section, and not be able to works

Even I try this. but still failing

resources:
- name: concourse-examples
  type: git
  icon: github
  check_every: 30m
  source:
    uri: https://github.com/concourse/examples
    branch: master
    safe_directory: /tmp/build/*
ismail-temiz commented 1 month ago
    git_config:
    - name: safe.directory
      value: '*'

Solved the issues for me

Question, where do you writ that, because, i tried on the task, on the resource section, and not be able to works

Even I try this. but still failing

resources:
- name: concourse-examples
  type: git
  icon: github
  check_every: 30m
  source:
    uri: https://github.com/concourse/examples
    branch: master
    safe_directory: /tmp/build/*

Like this

resources:
- name: repo
  type: git
  source:
    uri: https://github.com/foo.git
    # this is to avoid git permission error.
    git_config:
    - name: safe.directory
      value: '*'
pm3ndoza commented 3 weeks ago
    git_config:
    - name: safe.directory
      value: '*'

Solved the issues for me

Question, where do you writ that, because, i tried on the task, on the resource section, and not be able to works Even I try this. but still failing

resources:
- name: concourse-examples
  type: git
  icon: github
  check_every: 30m
  source:
    uri: https://github.com/concourse/examples
    branch: master
    safe_directory: /tmp/build/*

Like this

resources:
- name: repo
  type: git
  source:
    uri: https://github.com/foo.git
    # this is to avoid git permission error.
    git_config:
    - name: safe.directory
      value: '*'

Have the same issue, i can not be able to get the repo, because I don't know where i can put those lines.

ismail-temiz commented 3 weeks ago

@pm3ndoza not sure what you mean. I show where you need to put those lines in the example above.