GoogleContainerTools / GoogleContainerTools/skaffold
RFE: add support for buildah builder
- 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
Assessment
This issue has not been assessed yet.