snap-openstackclients/snapcraft.yaml
Felipe Reyes f74ce9a57d Use 'master' constraints
This change sets the master branch to always pull from master
constraints and the snap's version is set to devel, so it can be
constantly published to latest/edge in the snap store

Change-Id: Ib8b2752035bbe2572e2eac5cc32581843bc904ae
2025-04-09 11:51:59 -04:00

195 lines
4.1 KiB
YAML

name: openstackclients
version: "devel"
summary: OpenStack Client tools
description: |
OpenStackClient (aka OSC) is a command-line client for OpenStack
that brings the command set for Compute, Identity, Image, Object
Store and Block Storage APIs together in a single shell with a
uniform command structure.
.
The primary goal is to provide a unified shell command structure
and a common language to describe operations in OpenStack.
.
This snap provides the openstack command-line client and other
project specific command-line clients.
confinement: strict
grade: stable
base: core24
environment:
REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
PYTHONIOENCODING: utf-8
plugs:
dot-config-openstack:
interface: personal-files
read:
- $HOME/.config/openstack
etc-openstack:
interface: system-files
read:
- /etc/openstack
apps:
openstack:
command: bin/openstack
completer: usr/share/bash-completion/completions/openstack
plugs:
- network
- home
- dot-config-openstack
- etc-openstack
- ssh-public-keys
glance:
command: bin/glance
plugs:
- network
- home
gnocchi:
command: bin/gnocchi
plugs:
- network
- home
cinder:
command: bin/cinder
plugs:
- network
- home
aodh:
command: bin/aodh
plugs:
- network
- home
barbican:
command: bin/barbican
plugs:
- network
- home
cloudkitty:
command: bin/cloudkitty
plugs:
- network
- home
freezer:
command: bin/freezer
plugs:
- network
- home
heat:
command: bin/heat
plugs:
- network
- home
magnum:
command: bin/magnum
plugs:
- network
- home
manila:
command: bin/manila
plugs:
- network
- home
mistral:
command: bin/mistral
plugs:
- network
- home
monasca:
command: bin/monasca
plugs:
- network
- home
murano:
command: bin/murano
plugs:
- network
- home
swift:
command: bin/swift
plugs:
- network
- home
tacker:
command: bin/tacker
plugs:
- network
- home
trove:
command: bin/trove
plugs:
- network
- home
vitrage:
command: bin/vitrage
plugs:
- network
- home
watcher:
command: bin/watcher
plugs:
- network
- home
parts:
openstackclients:
plugin: python
source: .
python-packages:
- aodhclient
- osc-placement
- python-barbicanclient
- python-cloudkittyclient
- python-congressclient
- python-designateclient
- python-freezerclient
- python-glanceclient
- python-heatclient
- python-ironicclient
- python-keystoneclient
- python-magnumclient
- python-manilaclient
- python-masakariclient
- python-mistralclient
- python-monascaclient
- python-muranoclient
- python-saharaclient
- python-senlinclient
- python-swiftclient
- python-tackerclient
- python-troveclient
- python-vitrageclient
- python-watcherclient
- python-zaqarclient
- python-neutronclient
- python-openstackclient
- keystoneauth1[kerberos]
- gnocchiclient
- python-octaviaclient
- setuptools_scm
- toml
- setuptools-rust
- Cython
python-constraints:
- https://raw.githubusercontent.com/openstack/requirements/master/upper-constraints.txt
build-packages:
- libffi-dev
- libkrb5-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- pkg-config
- gcc
- cython3
- rustc
- cargo
stage-packages:
- libkrb5-3
override-prime: |
craftctl default
# This is the last step, let's now compile all our pyc files.
./bin/python3 -m compileall .
# Generate completer script snippets
mkdir -p usr/share/bash-completion/completions
./bin/openstack complete > usr/share/bash-completion/completions/openstack
echo "complete -F _openstack openstackclients.openstack" >> usr/share/bash-completion/completions/openstack