laniakea-api-agent 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.4
2
+ Name: laniakea-api-agent
3
+ Version: 0.0.1
4
+ Summary: Laniakea deployment agent orchestrates cloud deployments via Terraform and Ansible
5
+ Project-URL: Homepage, https://github.com/riccardocaccia/laniakea-agent/tree/laniakea-agent-pkg
6
+ Project-URL: Issues, https://github.com/riccardocaccia/laniakea-agent/issues
7
+ Author: rcaccia
8
+ License: MIT
9
+ Keywords: ansible,aws,cloud,deployment,openstack,redis,terraform
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: System Administrators
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: System :: Systems Administration
18
+ Requires-Python: >=3.10
19
+ Requires-Dist: docker
20
+ Requires-Dist: httpx
21
+ Requires-Dist: hvac>=2.0.0
22
+ Requires-Dist: keystoneauth1[openidconnect]
23
+ Requires-Dist: openstacksdk
24
+ Requires-Dist: pydantic>=2.0.0
25
+ Requires-Dist: pyjwt
26
+ Requires-Dist: python-dotenv
27
+ Requires-Dist: python-keystoneclient
28
+ Requires-Dist: pyyaml
29
+ Requires-Dist: redis
30
+ Requires-Dist: requests
31
+ Requires-Dist: rq
32
+ Description-Content-Type: text/markdown
33
+
34
+ # laniakea-api-agent
35
+
36
+ Cloud deployment worker agent for the Laniakea orchestration platform.
37
+ Consumes jobs from Redis queues and orchestrates VM provisioning via Terraform and Ansible.
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ pip install laniakea-api-agent
43
+ ```
44
+
45
+ ## Configuration
46
+
47
+ Create a `.env` file in your working directory:
48
+
49
+ ```bash
50
+ # Redis
51
+ REDIS_HOST=your-redis-host
52
+ REDIS_PORT=6379
53
+ REDIS_PASSWORD=your-redis-password
54
+
55
+ # Laniakea API
56
+ LANIAKEA_API_URL=https://your-api-host:8443/laniakea_core/v1.0
57
+ AGENT_MASTER_PASSWORD=your-shared-secret
58
+ AGENT_ID=laniakea-agent-1
59
+
60
+ # Vault
61
+ VAULT_ADDR=https://your-vault:8200
62
+ VAULT_TOKEN=your-vault-token
63
+
64
+ # Logs
65
+ DEPLOYMENT_LOG_DIR=/var/log/laniakea-agent
66
+ ```
67
+
68
+ ## Usage
69
+
70
+ ```bash
71
+ # listen on openstack queue (default)
72
+ laniakea-agent
73
+
74
+ # listen on a specific queue
75
+ laniakea-agent --queue openstack
76
+
77
+ # listen on multiple queues
78
+ laniakea-agent --queue openstack --queue aws
79
+
80
+ # use a custom .env file
81
+ laniakea-agent --env /etc/laniakea/agent.env
82
+ ```
83
+
84
+ ## Requirements
85
+
86
+ - Python 3.10+
87
+ - Docker (for Terraform containers)
88
+ - Ansible installed on the host
89
+
@@ -0,0 +1,5 @@
1
+ worker_wrapper.py,sha256=k1u15Jp1gxpBOPqo3L58tR4Ec8EA17_T6ikCenCyvTU,582
2
+ laniakea_api_agent-0.0.1.dist-info/METADATA,sha256=1SxUiyqHnOKCO25ziUN1BXLRQUhPSPClXve_ms2ydWk,2304
3
+ laniakea_api_agent-0.0.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
4
+ laniakea_api_agent-0.0.1.dist-info/entry_points.txt,sha256=HOqGqAQbopqmwIyh6aQlcNnh_bse2Ly-6sZWX55fKZ0,59
5
+ laniakea_api_agent-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ laniakea-agent = laniakea_agent.cli:main
worker_wrapper.py ADDED
@@ -0,0 +1,13 @@
1
+ """
2
+ This file must reside in the working directory from which laniakea-agent
3
+ is launched (or where the RQ worker runs directly).
4
+
5
+ RQ imports job functions as strings: "worker_wrapper.run_from_dict".
6
+ To locate this module, RQ searches within sys.path, the working directory
7
+ is always the first entry, ensuring this file is found before the package.
8
+
9
+ If you are using the laniakea-agent command, this file will be created
10
+ automatically in the current directory upon the first startup if it does not exist.
11
+ """
12
+
13
+ from laniakea_agent.worker_wrapper import run_from_dict # noqa: F401