diff --git a/charmcraft/extensions/app.py b/charmcraft/extensions/app.py index be56ab263..09505663f 100644 --- a/charmcraft/extensions/app.py +++ b/charmcraft/extensions/app.py @@ -440,6 +440,12 @@ def get_container_name(self) -> str: """Return name of the container for the app image.""" return "app" + @staticmethod + @override + def is_experimental(base: tuple[str, ...] | None) -> bool: # noqa: ARG004 + """Check if the extension is in an experimental state.""" + return False + class FastAPIFramework(_AppBase): """Extension for 12-factor FastAPI applications.""" @@ -481,6 +487,12 @@ def get_container_name(self) -> str: """Return name of the container for the app image.""" return "app" + @staticmethod + @override + def is_experimental(base: tuple[str, ...] | None) -> bool: # noqa: ARG004 + """Check if the extension is in an experimental state.""" + return False + class ExpressJSFramework(_AppBase): """Extension for 12-factor ExpressJS applications.""" @@ -508,6 +520,12 @@ def get_container_name(self) -> str: """Return name of the container for the app image.""" return "app" + @staticmethod + @override + def is_experimental(base: tuple[str, ...] | None) -> bool: # noqa: ARG004 + """Check if the extension is in an experimental state.""" + return False + class SpringBootFramework(_AppBase): """Extension for 12-factor Spring Boot applications.""" diff --git a/docs/tutorial/code/expressjs/task.yaml b/docs/tutorial/code/expressjs/task.yaml index 6cd758afb..871caa6a3 100644 --- a/docs/tutorial/code/expressjs/task.yaml +++ b/docs/tutorial/code/expressjs/task.yaml @@ -34,7 +34,6 @@ execute: | # [docs:export-experimental-env-vars] export ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true - export CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true # [docs:export-experimental-env-vars-end] cd $HOME/tmp diff --git a/docs/tutorial/code/fastapi/task.yaml b/docs/tutorial/code/fastapi/task.yaml index de8117772..b5de1f3ad 100644 --- a/docs/tutorial/code/fastapi/task.yaml +++ b/docs/tutorial/code/fastapi/task.yaml @@ -78,7 +78,7 @@ execute: | sed -i "s/amd64/$(dpkg --print-architecture)/g" charmcraft.yaml # [docs:charm-pack] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack # [docs:charm-pack-end] # [docs:add-juju-model] @@ -133,7 +133,7 @@ execute: | cd charm # [docs:refresh-deployment] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack juju refresh fastapi-hello-world \ --path=./fastapi-hello-world_$(dpkg --print-architecture).charm \ --resource app-image=localhost:32000/fastapi-hello-world:0.2 @@ -171,7 +171,7 @@ execute: | cd charm # [docs:refresh-2nd-deployment] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack juju refresh fastapi-hello-world \ --path=./fastapi-hello-world_$(dpkg --print-architecture).charm \ --resource app-image=localhost:32000/fastapi-hello-world:0.3 @@ -201,7 +201,7 @@ execute: | curl http://fastapi-hello-world/visitors --resolve fastapi-hello-world:80:127.0.0.1 | grep 2 # [docs:clean-environment] - CHARMCRAFTCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft clean + charmcraft clean # Back out to main directory for cleanup cd .. ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true rockcraft clean diff --git a/docs/tutorial/code/go/task.yaml b/docs/tutorial/code/go/task.yaml index 0acf9516c..5ffff97c2 100644 --- a/docs/tutorial/code/go/task.yaml +++ b/docs/tutorial/code/go/task.yaml @@ -86,7 +86,7 @@ execute: | sed -i "s/amd64/$(dpkg --print-architecture)/g" charmcraft.yaml # [docs:charm-pack] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack # [docs:charm-pack-end] # [docs:add-juju-model] @@ -141,7 +141,7 @@ execute: | cd charm # [docs:refresh-deployment] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack juju refresh go-hello-world \ --path=./go-hello-world_$(dpkg --print-architecture).charm \ --resource app-image=localhost:32000/go-hello-world:0.2 @@ -190,7 +190,7 @@ execute: | cd charm # [docs:refresh-2nd-deployment] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft pack + charmcraft pack juju refresh go-hello-world \ --path=./go-hello-world_$(dpkg --print-architecture).charm \ --resource app-image=localhost:32000/go-hello-world:0.3 @@ -220,7 +220,7 @@ execute: | curl http://go-hello-world/visitors --resolve go-hello-world:80:127.0.0.1 | grep 2 # [docs:clean-environment] - CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true charmcraft clean + charmcraft clean # Back out to main directory for cleanup cd .. ROCKCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS=true rockcraft clean diff --git a/docs/tutorial/kubernetes-charm-express.rst b/docs/tutorial/kubernetes-charm-express.rst index a80bcfd4f..09d084963 100644 --- a/docs/tutorial/kubernetes-charm-express.rst +++ b/docs/tutorial/kubernetes-charm-express.rst @@ -66,8 +66,8 @@ Create a directory for the app: :end-before: [docs:create-working-dir-end] :dedent: 2 -As the ``expressjs-framework`` extensions for Rockcraft and Charmcraft are -still in development, we must enable experimental extensions for each: +As the ``expressjs-framework`` extension for Rockcraft is +still in development, we must enable experimental extensions: .. literalinclude:: code/expressjs/task.yaml :language: bash diff --git a/docs/tutorial/kubernetes-charm-fastapi.rst b/docs/tutorial/kubernetes-charm-fastapi.rst index 562579c02..eac043e3c 100644 --- a/docs/tutorial/kubernetes-charm-fastapi.rst +++ b/docs/tutorial/kubernetes-charm-fastapi.rst @@ -332,11 +332,6 @@ Let's :literalref:`pack` the charm: :end-before: [docs:charm-pack-end] :dedent: 2 -.. note:: - - ``CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS`` is required while the FastAPI - extension is experimental. - Depending on your system and network, this step may take several minutes to finish. diff --git a/docs/tutorial/kubernetes-charm-go.rst b/docs/tutorial/kubernetes-charm-go.rst index 56f326cd4..65037960f 100644 --- a/docs/tutorial/kubernetes-charm-go.rst +++ b/docs/tutorial/kubernetes-charm-go.rst @@ -319,11 +319,6 @@ Let's :literalref:`pack` the charm: :end-before: [docs:charm-pack-end] :dedent: 2 -.. note:: - - ``CHARMCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS`` is required while the Go - extension is experimental. - Depending on your system and network, this step can take several minutes to finish. diff --git a/tests/extensions/test_app.py b/tests/extensions/test_app.py index 8b8224bc3..38724b8e1 100644 --- a/tests/extensions/test_app.py +++ b/tests/extensions/test_app.py @@ -231,7 +231,7 @@ def make_spring_boot_input_yaml(): "extensions": ["go-framework"], "config": NON_OPTIONAL_OPTIONS, }, - True, + False, { "actions": GoFramework.actions, "assumes": ["k8s-api"], @@ -306,7 +306,7 @@ def make_spring_boot_input_yaml(): "extensions": ["fastapi-framework"], "config": NON_OPTIONAL_OPTIONS, }, - True, + False, { "actions": FastAPIFramework.actions, "assumes": ["k8s-api"], @@ -381,7 +381,7 @@ def make_spring_boot_input_yaml(): "extensions": ["expressjs-framework"], "config": NON_OPTIONAL_OPTIONS, }, - True, + False, { "actions": ExpressJSFramework.actions, "assumes": ["k8s-api"],