python-openstackclient/examples/openstack.sh
Monty Taylor 8c47b67e83 Build utility image for using osc
python-openstackclient currently has a non-zero number of dependencies,
so for admins who would like to run it on laptops or similar it can
get tricky. In opendev, for instance, admins have it installed into
a venv on a jump host, but it's really wonky to keep up with.

Use the opendev/python-builder opendev/python-base pair to make a
minimal image that contains an install of python-openstackclient
and publish it to the osclient org on dockerhub. There is an overall
policy against having binary artifacts such as this appear to be
official deliverables of the OpenStack project, which this is not.
It's also only publishing images based on master, so no warranties
should be implied. But if this makes life easier for a user somewhere,
cool.

Change-Id: I9a8bfc27c127e92b6856cb6a3e45b32c818db16c
2020-03-14 17:15:46 -05:00

34 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is an example script that can be installed somewhere, such as
# /usr/local/bin/openstack, that will allow using python-openstackclient
# via the container image instead of via a direct installation. It
# bind-mounts in clouds.yaml files, so it should behave like a directly
# installed osc.
if type podman 2>/dev/null ; then
RUNTIME=podman
else
RUNTIME=docker
fi
exec $RUNTIME run -it --rm \
-v/etc/openstack:/etc/openstack \
-v$HOME/.config/openstack:/root/.config/openstack \
osclient/openstackclient \
openstack $@