Merge pull request 'dev-custom-crontab' (#23) from dev-custom-crontab into main
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			Reviewed-on: https://git.jbranan.com/jblu/crane/pulls/23
This commit was merged in pull request #23.
	This commit is contained in:
		
							
								
								
									
										16
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -15,4 +15,18 @@ steps: | ||||
|     - latest | ||||
|   when: | ||||
|     branch: | ||||
|       - main | ||||
|       - main | ||||
| - name: docker-test | ||||
|   image: plugins/docker | ||||
|   settings: | ||||
|     registry: git.jbranan.com | ||||
|     dry_run: false | ||||
|     username: jblu | ||||
|     password:  | ||||
|       from_secret: gittea_drone | ||||
|     repo: git.jbranan.com/jblu/crane | ||||
|     tags: | ||||
|     - dev | ||||
|   when: | ||||
|     branch: | ||||
|       - dev* | ||||
| @@ -1,7 +1,7 @@ | ||||
| FROM python:alpine3.18 | ||||
| WORKDIR / | ||||
| COPY . opt | ||||
| RUN apk add --no-cache supercronic | ||||
| RUN pip install requests | ||||
| RUN crontab /opt/crontab | ||||
| RUN chmod +x /opt/entrypoint.sh | ||||
| CMD ["/opt/entrypoint.sh"] | ||||
| @@ -5,7 +5,6 @@ def c_get_containers(req_obj, host, port, access_token, endpoint): | ||||
|  | ||||
| def c_get_filtered_containers(req_obj, j_obj, host, port, access_token, endpoint, containers, statuses): | ||||
|     filter_string = j_obj.dumps({"name":containers,"status":statuses}) | ||||
|     # url = 'https://192.168.4.11:9443/api/endpoints/1/docker/containers/json?filters={"name": ["restic","qbittorrent"],"status": ["paused","dead","created","exited","removing","restarting","created"]}' | ||||
|     url = f'https://{host}:{port}/api/endpoints/{endpoint}/docker/containers/json?filters={filter_string}' | ||||
|     c_get_containers_response = req_obj.get(url, headers={"X-API-Key": access_token}, verify=False) | ||||
|     return c_get_containers_response.json() | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| printenv | grep -v "no_proxy" >> /etc/environment | ||||
| CRON_CONFIG_FILE="/opt/crontab" | ||||
|  | ||||
| crond -f | ||||
| echo "${CRON} python /opt/crane.py" > $CRON_CONFIG_FILE | ||||
|  | ||||
| exec supercronic -passthrough-logs -quiet $CRON_CONFIG_FILE | ||||
| @@ -2,7 +2,7 @@ import unittest | ||||
| import requests | ||||
| import json | ||||
| from tomllib import load | ||||
| from cclient import c_get_filtered_containers, c_start_container, c_stop_container, c_get_filtered_containers | ||||
| from cclient import c_get_filtered_containers, c_start_container, c_stop_container | ||||
| from cprocess import process_cont_list | ||||
| # unittest.TestLoader.sortTestMethodsUsing = None | ||||
|  | ||||
| @@ -17,7 +17,7 @@ class TestCrane(unittest.TestCase): | ||||
|         self.cid = 'ef8fee86e02b2b82acbddf6f0da1ff023f60bfe52c0b4087cac29c1686ccbac4' | ||||
|         self.req_obj = requests | ||||
|         self.j_obj = json | ||||
|         self.hypercare_containers = ['restic','qbittorrent'] | ||||
|         self.hypercare_containers = ['hello-world'] | ||||
|         self.status_filters = ["paused","dead","created","exited","removing","restarting","created"] | ||||
|         self.cont_obj = c_get_filtered_containers(self.req_obj,self.j_obj, self.host, self.port, self.access_token, self.endpoint,self.hypercare_containers,self.status_filters) | ||||
|  | ||||
|   | ||||
| @@ -1,12 +0,0 @@ | ||||
| import pushover | ||||
| from tomllib import load | ||||
|  | ||||
| with open('./config.toml', mode="rb") as c: | ||||
|     config = load(c) | ||||
|  | ||||
| po_key = config["pushover"]["po_key"] | ||||
| po_token = config["pushover"]["po_token"] | ||||
|  | ||||
| message = "hello" | ||||
|  | ||||
| # pushover.Pushover(po_token).message(po_key, message, title="--- crane summary ---") | ||||
| @@ -1,6 +0,0 @@ | ||||
| from tomllib import load | ||||
|  | ||||
| with open('./config.toml', mode="rb") as c: | ||||
|     config = load(c) | ||||
|  | ||||
| print(config["containers"].values()) | ||||
		Reference in New Issue
	
	Block a user