GoogleContainerTools / GoogleContainerTools/skaffold

RFE: add support for buildah builder

Open
#3,268 11 comments 22 reactions 0 assignees View on GitHub
area/build kind/feature-request priority/awaiting-more-evidence priority/p3
Dominant language
Go
Stars
15.9k
Forks
1.7k
Avg merge
3d 9h
Merged PRs (30d)
10

Description

Hello,

Skaffold doesn't support natively Buildah builder.
Please add support for Buildah builder, so users can create\push images locally using buildah.

For this moment workaround is to use `custom` build:

```
apiVersion: skaffold/v1
kind: Config
build:
artifacts:
- image: astepano
custom:
buildCommand: skaffold2buildah
```

```
#!/usr/bin/python3
import os
import sys
import subprocess

# just to debug skaffold's calls
with open('/tmp/docker.log', 'a+') as fd:
fd.write('args: {}\n'.format(sys.argv))
fd.write('images: {}\n'.format(os.environ['IMAGES']))
fd.write('push_image: {}\n'.format(os.environ['PUSH_IMAGE']))
fd.write('context: {}\n'.format(os.environ['BUILD_CONTEXT']))

context = os.environ['BUILD_CONTEXT']
for image in os.environ['IMAGES'].split(' '):
cmd = ['buildah', 'bud', '--layers', '-t', image, context]
print(' '.join(cmd))
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
p.communicate()
token = "ignore:XXXXXX-XXXXXX"
cmd =['buildah', 'push','--format', 'docker', "--creds", token, image, 'docker://{}'.format(image)]
print(' '.join(cmd))
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
p.communicate()
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.