{"record":{"id":"cd1ff96bdaabfbac","repo":"influxdata/influxdb","slug":"package-installation-has-been-disabled-contact-your","errorCode":null,"errorMessage":"Package installation has been disabled. Contact your administrator for more information.","messagePattern":"Package installation has been disabled\\. Contact your administrator for more information\\.","errorType":"exception","errorClass":"PluginEnvironmentError","httpStatus":null,"severity":"error","filePath":"influxdb3_processing_engine/src/environment.rs","lineNumber":28,"sourceCode":"use std::sync::{Arc, OnceLock};\nuse thiserror::Error;\n\n#[derive(Error, Debug)]\npub enum PluginEnvironmentError {\n    #[error(\"Package manager not available: {0}\")]\n    PackageManagerNotFound(String),\n    #[error(\"External call failed: {0}\")]\n    InstallationFailed(#[from] std::io::Error),\n    #[error(\"Plugin environment management is disabled\")]\n    PluginEnvironmentDisabled,\n\n    #[error(\"Virtual environment error: {0}\")]\n    VenvError(#[from] VenvError),\n\n    #[error(\"Failed to list packages: {0}\")]\n    PackageListFailed(String),\n\n    #[error(\n        \"Package installation has been disabled. Contact your administrator for more information.\"\n    )]\n    PackageInstallationDisabled,\n}\n\npub trait PythonEnvironmentManager: Debug + Send + Sync + 'static {\n    fn init_pyenv(\n        &self,\n        plugin_dir: Option<&Path>,\n        virtual_env_location: Option<&PathBuf>,\n    ) -> Result<(), PluginEnvironmentError>;\n    fn install_packages(&self, packages: Vec<String>) -> Result<(), PluginEnvironmentError>;\n\n    fn install_requirements(&self, requirements_path: String)\n    -> Result<(), PluginEnvironmentError>;\n}\n\n#[derive(Debug, Copy, Clone)]","sourceCodeStart":10,"sourceCodeEnd":46,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_processing_engine/src/environment.rs#L10-L46","documentation":"PluginEnvironmentError::PackageInstallationDisabled is thrown when a package installation is requested while package installation has been administratively disabled in the plugin environment configuration. The fixed message instructs contacting the administrator.","triggerScenarios":"A plugin (or operator action) attempts to install a Python package into the plugin environment while the server config sets installation disabled (e.g. plugin package-install off).","commonSituations":"Hardened production deployments where admins forbid runtime package installs for supply-chain security; a plugin declaring new dependencies is deployed to such an instance; tenants request packages the operator has not allowlisted.","solutions":["Ask the administrator to enable package installation or to pre-install the required packages","Declare the plugin's dependencies at deploy time (baked image / pre-built venv) instead of runtime install","Use an allowlisted plugin bundle that already contains its dependencies","Check the processing engine configuration for the package-install flag before shipping the plugin"],"exampleFix":"# before (disabled)\n# processing_engine.package_install = false\n# after (admin enabled, or pre-install)\n# processing_engine.package_install = true\n/path/venv/bin/pip install influxdb3_client requests","handlingStrategy":"validation","validationCode":"# confirm installs are allowed before requesting a package install\nallowed=$(tomlq -r '.processing_engine.package_install // false' influxdb3.conf)\n[ \"$allowed\" = \"true\" ] || { echo 'package installation disabled; contact admin'; exit 1; }","typeGuard":null,"tryCatchPattern":"match env_manager.install_package(plugin, pkg).await {\n    Err(PluginEnvironmentError::PackageInstallationDisabled) => {\n        eprintln!(\"installation disabled by policy; using pre-provisioned environment\");\n        Err(anyhow!(\"package install blocked by admin policy\"))\n    }\n    other => other,\n}","preventionTips":["Check the package-install policy before deploying dependency-hungry plugins","Bake dependencies into the image or a pre-built venv","Maintain an allowlist workflow with administrators","Audit plugin manifests for undeclared runtime dependencies"],"tags":["rust","plugin-environment","disabled","policy"],"backgroundTag":"feature-not-enabled","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}