netkiller-devops 0.7.20__tar.gz → 0.7.22__tar.gz
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.
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/PKG-INFO +5 -1
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/README.md +4 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/docker.py +28 -8
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/pipeline.py +3 -5
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/PKG-INFO +5 -1
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/pyproject.toml +1 -1
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/LICENSE +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/backup +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/chpasswd.sh +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/cicd +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/deployment +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/dingtalk +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/exceldiff +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/gitsync +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/logviewer +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/logviewer.docker +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/logviewer.kubectl +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/lrsync +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/matrixpasswd +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/mdump +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/merge +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/mysqlshell +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/nacos +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/osconf +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/randpasswd +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/randtext +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/sqldump +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/voice +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/wechat +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/bin/wireguard +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/doc/voice.md +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/doc/wechat.md +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/deployment.cfg +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/dump.ini.sample +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/logviewer.ini +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/mongo.ini.sample +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/notification.ini +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/os.ini +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/schedule.cfg +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/etc/task.cfg +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/__init__.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/cicd.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/git.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/gitlab.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/kubernetes.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/mongo.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/mysql.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/nacos.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/nagios.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/podman.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/rsync.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/svg.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/wework.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller/whiptail.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/SOURCES.txt +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/dependency_links.txt +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/requires.txt +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/top_level.txt +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/setup.cfg +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/setup.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/share/example/testing/example.com.ini +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/share/profile.d/devops.sh +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/shell/backup/backup.mysql.gpg.sh +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/shell/backup/backup.mysql.sh +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/shell/backup/backup.mysql.struct.sh +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/src/__init__.py +0 -0
- {netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/src/netkiller/network/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netkiller-devops
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.22
|
|
4
4
|
Summary: DevOps of useful deployment and automation
|
|
5
5
|
Home-page: https://www.netkiller.cn
|
|
6
6
|
Author: Neo Chen
|
|
@@ -101,6 +101,10 @@ OS Software Configure Managment
|
|
|
101
101
|
$ python setup.py sdist bdist_wheel
|
|
102
102
|
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
103
103
|
|
|
104
|
+
pip install --upgrade build
|
|
105
|
+
python -m build
|
|
106
|
+
twine upload dist/netkiller_devops-0.7.21*
|
|
107
|
+
|
|
104
108
|
### PATH Variable
|
|
105
109
|
|
|
106
110
|
$ cp share/profile.d/devops.sh /etc/profile.d/
|
|
@@ -74,6 +74,10 @@ OS Software Configure Managment
|
|
|
74
74
|
$ python setup.py sdist bdist_wheel
|
|
75
75
|
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
76
76
|
|
|
77
|
+
pip install --upgrade build
|
|
78
|
+
python -m build
|
|
79
|
+
twine upload dist/netkiller_devops-0.7.21*
|
|
80
|
+
|
|
77
81
|
### PATH Variable
|
|
78
82
|
|
|
79
83
|
$ cp share/profile.d/devops.sh /etc/profile.d/
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import os, sys
|
|
8
8
|
import copy
|
|
9
9
|
import json
|
|
10
|
+
import subprocess
|
|
11
|
+
from enum import Enum
|
|
10
12
|
from io import StringIO
|
|
11
13
|
|
|
12
14
|
from ruamel.yaml import YAML
|
|
@@ -15,11 +17,18 @@ import logging, logging.handlers
|
|
|
15
17
|
from optparse import OptionParser, OptionGroup
|
|
16
18
|
|
|
17
19
|
|
|
20
|
+
|
|
21
|
+
|
|
18
22
|
class Common:
|
|
19
23
|
def __init__(self):
|
|
20
24
|
self.logger = logging.getLogger(__name__)
|
|
21
25
|
self.yaml = YAML()
|
|
22
26
|
|
|
27
|
+
class Restart:
|
|
28
|
+
always = 'always'
|
|
29
|
+
unless_stopped = 'unless-stopped'
|
|
30
|
+
on_failure = 'on‑failure'
|
|
31
|
+
no = 'no'
|
|
23
32
|
|
|
24
33
|
class Dockerfile(Common):
|
|
25
34
|
def __init__(self,namespace:str,context:str=None,target:str=None):
|
|
@@ -183,12 +192,14 @@ class Volumes(Common):
|
|
|
183
192
|
if name:
|
|
184
193
|
self.volumes[name] = None
|
|
185
194
|
|
|
186
|
-
def
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
195
|
+
def add(self,volume:str, **kwargs):
|
|
196
|
+
self.volumes[volume] = {}
|
|
197
|
+
if 'name' in kwargs:
|
|
198
|
+
self.volumes[volume]['name'] = kwargs['name']
|
|
199
|
+
if 'external' in kwargs:
|
|
200
|
+
self.volumes[volume]['external'] = kwargs['external']
|
|
201
|
+
if 'driver' in kwargs:
|
|
202
|
+
self.volumes[volume]['driver'] = kwargs['driver']
|
|
192
203
|
|
|
193
204
|
|
|
194
205
|
class Services(Common):
|
|
@@ -793,8 +804,17 @@ class Docker(Common):
|
|
|
793
804
|
|
|
794
805
|
def none(self):
|
|
795
806
|
# cmd = "docker images|grep none|awk '{print $3}'|xargs -r docker rmi -f > /dev/null 2>&1"
|
|
796
|
-
cmd = 'docker rmi $(docker images -f "dangling=true" -q)'
|
|
797
|
-
|
|
807
|
+
# cmd = 'docker rmi $(docker images -f "dangling=true" -q)'
|
|
808
|
+
cmd = 'docker image prune - f'
|
|
809
|
+
# os.system(cmd)
|
|
810
|
+
result = subprocess.run(
|
|
811
|
+
cmd,
|
|
812
|
+
stdout=subprocess.PIPE, # 捕获标准输出
|
|
813
|
+
stderr=subprocess.PIPE, # 捕获错误输出
|
|
814
|
+
text=True # 返回字符串,而不是bytes(python3.7+也可用universal_newlines=True)
|
|
815
|
+
)
|
|
816
|
+
|
|
817
|
+
self.logger.info(f"{cmd} returncode:{result.returncode}, stdout:{result.stdout}, stderr:{result.stderr}")
|
|
798
818
|
return self
|
|
799
819
|
|
|
800
820
|
def env(self, default):
|
|
@@ -14,9 +14,6 @@ import tempfile
|
|
|
14
14
|
import subprocess
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
from string import Template
|
|
17
|
-
sys.path.insert(0, '/Users/neo/workspace/devops')
|
|
18
|
-
sys.path.insert(0, '../devops')
|
|
19
|
-
|
|
20
17
|
|
|
21
18
|
class Stage:
|
|
22
19
|
def __init__(self) -> None:
|
|
@@ -32,12 +29,12 @@ class Pipeline:
|
|
|
32
29
|
logfile = None
|
|
33
30
|
image = None
|
|
34
31
|
|
|
35
|
-
def __init__(self, workspace
|
|
32
|
+
def __init__(self, workspace):
|
|
36
33
|
self.container = 'docker'
|
|
37
34
|
self.registry = None
|
|
38
35
|
self.image = None
|
|
39
36
|
self.workspace = workspace
|
|
40
|
-
self.logging = logging
|
|
37
|
+
self.logging = logging.getLogger(__class__.__name__)
|
|
41
38
|
self.pipelines = {}
|
|
42
39
|
if not os.path.exists(self.workspace):
|
|
43
40
|
os.mkdir(self.workspace)
|
|
@@ -250,4 +247,5 @@ class Pipeline:
|
|
|
250
247
|
|
|
251
248
|
def debug(self):
|
|
252
249
|
self.logging.debug(self.pipelines)
|
|
250
|
+
print(self.pipelines)
|
|
253
251
|
return self
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netkiller-devops
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.22
|
|
4
4
|
Summary: DevOps of useful deployment and automation
|
|
5
5
|
Home-page: https://www.netkiller.cn
|
|
6
6
|
Author: Neo Chen
|
|
@@ -101,6 +101,10 @@ OS Software Configure Managment
|
|
|
101
101
|
$ python setup.py sdist bdist_wheel
|
|
102
102
|
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
103
103
|
|
|
104
|
+
pip install --upgrade build
|
|
105
|
+
python -m build
|
|
106
|
+
twine upload dist/netkiller_devops-0.7.21*
|
|
107
|
+
|
|
104
108
|
### PATH Variable
|
|
105
109
|
|
|
106
110
|
$ cp share/profile.d/devops.sh /etc/profile.d/
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netkiller_devops-0.7.20 → netkiller_devops-0.7.22}/netkiller_devops.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|