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,,
|
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
|