Skip to content

Commit 0cede7e

Browse files
committed
feat: add Dockerfile and workflow
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
1 parent af5f088 commit 0cede7e

3 files changed

Lines changed: 59 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: build
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
push:
7+
branches:
8+
- main
9+
- stable/**
10+
11+
jobs:
12+
image:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
id-token: write
17+
packages: write
18+
steps:
19+
- uses: vexxhost/docker-atmosphere/.github/actions/build-image@main
20+
with:
21+
image-name: python-openstackclient
22+
push: ${{ github.event_name != 'pull_request' }}

Dockerfile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc.
2+
# SPDX-License-Identifier: GPL-3.0-or-later
3+
# Atmosphere-Rebuild-Time: 2024-06-25T22:49:25Z
4+
5+
FROM ghcr.io/vexxhost/openstack-venv-builder:main@sha256:bff09007027c2b6b908e2e970fe5cf06a4c025848e69bad73aa4970aff4978e2 AS build
6+
RUN <<EOF bash -xe
7+
uv pip install \
8+
--constraint /upper-constraints.txt \
9+
osc-placement \
10+
python-barbicanclient \
11+
python-designateclient \
12+
python-glanceclient \
13+
python-heatclient \
14+
python-ironicclient \
15+
python-magnumclient \
16+
python-manilaclient \
17+
python-neutronclient \
18+
python-octaviaclient \
19+
python-openstackclient \
20+
python-swiftclient \
21+
tap-as-a-service
22+
EOF
23+
24+
FROM ghcr.io/vexxhost/python-base:main@sha256:4ab6c0c1a31e169d3b158e8ad70963b91ea933ae63a279640ded5d37e92815b7
25+
COPY --from=build --link /var/lib/openstack /var/lib/openstack
26+
27+
# NOTE(mnaser): The Magnum client relies on the SHELL environment variable
28+
# to determine the shell to use.
29+
ENV SHELL=/bin/bash
30+
31+
# NOTE(mnaser): When we call this container, we mount the current directory
32+
# into `/opt` and then we can call `openstack` commands.
33+
WORKDIR /opt

renovate.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["local>vexxhost/docker-atmosphere"]
4+
}

0 commit comments

Comments
 (0)