Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 82 additions & 8 deletions examples/django/django_app/rockcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,88 @@
# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.

name: django-app
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: django-app
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
name: django-app

title: django-app
version: '0.1'
summary: Example Django application image.
description: Example Django application image.
version: "0.1"
base: ubuntu@22.04
license: Apache-2.0
platforms:
amd64:

extensions:
- django-framework
build-on:
- amd64
build-for:
- amd64
license: Apache-2.0
parts:
django-framework/dependencies:
plugin: python
stage-packages:
- python3-venv
source: .
python-packages:
- gunicorn~=23.0
python-requirements:
- requirements.txt
build-environment: []
django-framework/install-app:
plugin: dump
source: django_app
organize:
'*': django/app/
.*: django/app/
stage:
- -django/app/db.sqlite3
permissions:
- owner: 584792
group: 584792
django-framework/config-files:
plugin: dump
source: /snap/rockcraft/4238/share/rockcraft/extensions/django-framework
organize:
gunicorn.conf.py: django/gunicorn.conf.py
permissions:
- path: django/gunicorn.conf.py
owner: 584792
group: 584792
django-framework/statsd-exporter:
build-snaps:
- go
source-tag: v0.29.0
plugin: go
source: https://github.com/prometheus/statsd_exporter.git
django-framework/logging:
plugin: nil
override-build: |-
craftctl default
mkdir -p $CRAFT_PART_INSTALL/opt/promtail
mkdir -p $CRAFT_PART_INSTALL/etc/promtail
mkdir -p $CRAFT_PART_INSTALL/var/log/django
permissions:
- path: opt/promtail
owner: 584792
group: 584792
- path: etc/promtail
owner: 584792
group: 584792
- path: var/log/django
owner: 584792
group: 584792
django-framework/runtime:
plugin: nil
stage-packages:
- ca-certificates_data
run-user: _daemon_
services:
django:
override: replace
command: /bin/python3 -m gunicorn -c /django/gunicorn.conf.py django_app.wsgi:application
-k [ sync ]
startup: enabled
after:
- statsd-exporter
user: _daemon_
statsd-exporter:
override: merge
command: /bin/statsd_exporter --statsd.mapping-config=/statsd-mapping.conf --statsd.listen-udp=localhost:9125
--statsd.listen-tcp=localhost:9125
summary: statsd exporter service
startup: enabled
user: _daemon_
90 changes: 82 additions & 8 deletions examples/django/django_async_app/rockcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,88 @@
# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.

name: django-async-app
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: django-async-app
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
name: django-async-app

title: django-async-app
version: '0.1'
summary: Example Async Django application image.
description: Example Async Django application image.
version: "0.1"
base: ubuntu@22.04
license: Apache-2.0
platforms:
amd64:

extensions:
- django-framework
build-on:
- amd64
build-for:
- amd64
license: Apache-2.0
parts:
django-framework/dependencies:
plugin: python
stage-packages:
- python3-venv
source: .
python-packages:
- gunicorn~=23.0
python-requirements:
- requirements.txt
build-environment: []
django-framework/install-app:
plugin: dump
source: django_async_app
organize:
'*': django/app/
.*: django/app/
stage:
- -django/app/db.sqlite3
permissions:
- owner: 584792
group: 584792
django-framework/config-files:
plugin: dump
source: /snap/rockcraft/4238/share/rockcraft/extensions/django-framework
organize:
gunicorn.conf.py: django/gunicorn.conf.py
permissions:
- path: django/gunicorn.conf.py
owner: 584792
group: 584792
django-framework/statsd-exporter:
build-snaps:
- go
source-tag: v0.29.0
plugin: go
source: https://github.com/prometheus/statsd_exporter.git
django-framework/logging:
plugin: nil
override-build: |-
craftctl default
mkdir -p $CRAFT_PART_INSTALL/opt/promtail
mkdir -p $CRAFT_PART_INSTALL/etc/promtail
mkdir -p $CRAFT_PART_INSTALL/var/log/django
permissions:
- path: opt/promtail
owner: 584792
group: 584792
- path: etc/promtail
owner: 584792
group: 584792
- path: var/log/django
owner: 584792
group: 584792
django-framework/runtime:
plugin: nil
stage-packages:
- ca-certificates_data
run-user: _daemon_
services:
django:
override: replace
command: /bin/python3 -m gunicorn -c /django/gunicorn.conf.py django_async_app.wsgi:application
-k [ gevent ]
startup: enabled
after:
- statsd-exporter
user: _daemon_
statsd-exporter:
override: merge
command: /bin/statsd_exporter --statsd.mapping-config=/statsd-mapping.conf --statsd.listen-udp=localhost:9125
--statsd.listen-tcp=localhost:9125
summary: statsd exporter service
startup: enabled
user: _daemon_
101 changes: 93 additions & 8 deletions examples/flask-minimal/flask_minimal_app/rockcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,100 @@
# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.
name: flask-minimal-app
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: flask-minimal-app
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
name: flask-minimal-app

title: flask-minimal-app
version: '0.1'
summary: A flask test app
description: OCI image for the test flask app
version: "0.1"
base: bare
build-base: ubuntu@22.04
license: Apache-2.0
platforms:
amd64:

extensions:
- flask-framework

build-on:
- amd64
build-for:
- amd64
license: Apache-2.0
parts:
flask-framework/dependencies:
plugin: python
stage-packages:
- python3.10-venv_ensurepip
source: .
python-packages:
- gunicorn~=23.0
python-requirements:
- requirements.txt
build-environment:
- PARTS_PYTHON_INTERPRETER: python3.10
flask-framework/install-app:
plugin: dump
source: .
organize:
app.py: flask/app/app.py
stage:
- flask/app/app.py
prime:
- flask/app/app.py
permissions:
- owner: 584792
group: 584792
flask-framework/config-files:
plugin: dump
source: /snap/rockcraft/4238/share/rockcraft/extensions/flask-framework
organize:
gunicorn.conf.py: flask/gunicorn.conf.py
permissions:
- path: flask/gunicorn.conf.py
owner: 584792
group: 584792
flask-framework/statsd-exporter:
build-snaps:
- go
source-tag: v0.29.0
plugin: go
source: https://github.com/prometheus/statsd_exporter.git
flask-framework/logging:
plugin: nil
override-build: |-
craftctl default
mkdir -p $CRAFT_PART_INSTALL/opt/promtail
mkdir -p $CRAFT_PART_INSTALL/etc/promtail
mkdir -p $CRAFT_PART_INSTALL/var/log/flask
permissions:
- path: opt/promtail
owner: 584792
group: 584792
- path: etc/promtail
owner: 584792
group: 584792
- path: var/log/flask
owner: 584792
group: 584792
flask-framework/runtime:
plugin: nil
override-build: |-
mkdir -m 777 ${CRAFT_PART_INSTALL}/tmp
ln -sf /usr/bin/bash ${CRAFT_PART_INSTALL}/usr/bin/sh
stage-packages:
- bash_bins
- coreutils_bins
- ca-certificates_data
flask-framework/runtime-libs:
plugin: nil
stage-packages:
- libstdc++6
run-user: _daemon_
services:
flask:
override: replace
command: /bin/python3 -m gunicorn -c /flask/gunicorn.conf.py app:app -k [ sync
]
startup: enabled
after:
- statsd-exporter
user: _daemon_
statsd-exporter:
override: merge
command: /bin/statsd_exporter --statsd.mapping-config=/statsd-mapping.conf --statsd.listen-udp=localhost:9125
--statsd.listen-tcp=localhost:9125
summary: statsd exporter service
startup: enabled
user: _daemon_
90 changes: 83 additions & 7 deletions examples/flask/test_async_rock/rockcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,89 @@
# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.
name: test-async-flask
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: test-async-flask
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
name: test-async-flask

title: test-async-flask
version: '0.1'
summary: A flask async worker test app
description: OCI image for the async worker test flask app
version: "0.1"
base: ubuntu@22.04
license: Apache-2.0
platforms:
amd64:

extensions:
- flask-framework
build-on:
- amd64
build-for:
- amd64
license: Apache-2.0
parts:
flask-framework/dependencies:
plugin: python
stage-packages:
- python3-venv
source: .
python-packages:
- gunicorn~=23.0
python-requirements:
- requirements.txt
build-environment: []
flask-framework/install-app:
plugin: dump
source: .
organize:
app.py: flask/app/app.py
stage:
- flask/app/app.py
prime:
- flask/app/app.py
permissions:
- owner: 584792
group: 584792
flask-framework/config-files:
plugin: dump
source: /snap/rockcraft/4238/share/rockcraft/extensions/flask-framework
organize:
gunicorn.conf.py: flask/gunicorn.conf.py
permissions:
- path: flask/gunicorn.conf.py
owner: 584792
group: 584792
flask-framework/statsd-exporter:
build-snaps:
- go
source-tag: v0.29.0
plugin: go
source: https://github.com/prometheus/statsd_exporter.git
flask-framework/logging:
plugin: nil
override-build: |-
craftctl default
mkdir -p $CRAFT_PART_INSTALL/opt/promtail
mkdir -p $CRAFT_PART_INSTALL/etc/promtail
mkdir -p $CRAFT_PART_INSTALL/var/log/flask
permissions:
- path: opt/promtail
owner: 584792
group: 584792
- path: etc/promtail
owner: 584792
group: 584792
- path: var/log/flask
owner: 584792
group: 584792
flask-framework/runtime:
plugin: nil
stage-packages:
- ca-certificates_data
run-user: _daemon_
services:
flask:
override: replace
command: /bin/python3 -m gunicorn -c /flask/gunicorn.conf.py app:app -k [ gevent
]
startup: enabled
after:
- statsd-exporter
user: _daemon_
statsd-exporter:
override: merge
command: /bin/statsd_exporter --statsd.mapping-config=/statsd-mapping.conf --statsd.listen-udp=localhost:9125
--statsd.listen-tcp=localhost:9125
summary: statsd exporter service
startup: enabled
user: _daemon_
Loading
Loading