[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"

[project]
name = "tap-as-a-service"
description = "Tap-as-a-Service (TaaS) is an extension to the OpenStack network service (Neutron), it provides remote port mirroring capability for tenant virtual networks."
authors = [
    {name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
]
readme = {file = "README.rst", content-type = "text/x-rst"}
license = {text = "Apache-2.0"}
dynamic = ["version", "dependencies"]
requires-python = ">=3.10"
classifiers = [
  "Environment :: OpenStack",
  "Intended Audience :: Information Technology",
  "Intended Audience :: System Administrators",
  "License :: OSI Approved :: Apache Software License",
  "Operating System :: POSIX :: Linux",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Programming Language :: Python :: 3.13",
  "Programming Language :: Python :: 3 :: Only",
  "Programming Language :: Python :: Implementation :: CPython",
]

[project.urls]
Homepage = "https://docs.openstack.org/tap-as-a-service/latest/"
Repository = "https://opendev.org/openstack/tap-as-a-service"

[tool.bandit]
exclude_dirs = ['neutron_taas/tests']
# B110 Try, Except, Pass detected
skips = ['B110']

[tool.setuptools]
packages = [
    "neutron_taas",
]

[tool.setuptools.data-files]
"etc/neutron/rootwrap.d" = [
    "etc/neutron/rootwrap.d/taas-i40e-sysfs.filters",
]

[project.scripts]
i40e_sysfs_command = "neutron_taas.cmd.i40e_sysfs_cmd:main"

[project.entry-points."oslo.config.opts"]
"neutron.taas" = "neutron_taas.opts:list_opts"
"neutron.taas.agent" = "neutron_taas.opts:list_agent_opts"

[project.entry-points."oslo.policy.policies"]
"tap-as-a-service" = "neutron_taas.policies:list_rules"

[project.entry-points."neutron.policies"]
"tap-as-a-service" = "neutron_taas.policies:list_rules"

[project.entry-points."neutron.agent.l2.extensions"]
"taas" = "neutron_taas.services.taas.agents.extensions.taas:TaasAgentExtension"

[project.entry-points."neutron_taas.taas.agent_drivers"]
"ovs" = "neutron_taas.services.taas.drivers.linux.ovs_taas:OvsTaasDriver"
"sriov" = "neutron_taas.services.taas.drivers.linux.sriov_nic_taas:SriovNicTaasDriver"

[project.entry-points."neutron.service_plugins"]
"taas" = "neutron_taas.services.taas.taas_plugin:TaasPlugin"
"tapmirror" = "neutron_taas.services.taas.tap_mirror_plugin:TapMirrorPlugin"

[project.entry-points."neutron.db.alembic_migrations"]
"tap-as-a-service" = "neutron_taas.db.migration:alembic_migration"
