netkiller-devops 0.7.1__tar.gz → 0.7.2__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.1/netkiller_devops.egg-info → netkiller_devops-0.7.2}/PKG-INFO +13 -1
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/README.md +6 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/docker.py +93 -62
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2/netkiller_devops.egg-info}/PKG-INFO +13 -1
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller_devops.egg-info/SOURCES.txt +0 -2
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/setup.py +2 -2
- netkiller-devops-0.7.1/MANIFEST.in +0 -1
- netkiller-devops-0.7.1/etc/dump.ini +0 -31
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/LICENSE +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/backup +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/chpasswd.sh +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/cicd +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/deployment +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/dingtalk +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/exceldiff +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/gitsync +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/logviewer +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/logviewer.docker +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/logviewer.kubectl +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/lrsync +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/matrixpasswd +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/mdump +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/merge +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/mysqlshell +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/nacos +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/osconf +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/randpasswd +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/randtext +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/sqldump +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/voice +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/bin/wechat +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/doc/voice.md +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/doc/wechat.md +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/deployment.cfg +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/dump.ini.sample +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/logviewer.ini +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/mongo.ini.sample +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/notification.ini +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/os.ini +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/schedule.cfg +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/etc/task.cfg +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/__init__.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/cicd.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/git.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/gitlab.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/kubernetes.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/mongo.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/mysql.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/nacos.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/nagios.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/pipeline.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/podman.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/rsync.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/svg.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/wework.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller/whiptail.py +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller_devops.egg-info/dependency_links.txt +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller_devops.egg-info/requires.txt +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/netkiller_devops.egg-info/top_level.txt +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/setup.cfg +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/share/example/testing/example.com.ini +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/share/profile.d/devops.sh +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/shell/backup/backup.mysql.gpg.sh +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/shell/backup/backup.mysql.sh +0 -0
- {netkiller-devops-0.7.1 → netkiller_devops-0.7.2}/shell/backup/backup.mysql.struct.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: netkiller-devops
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: DevOps of useful deployment and automation
|
|
5
5
|
Home-page: https://github.com/oscm/devops
|
|
6
6
|
Author: Neo Chen
|
|
@@ -13,6 +13,12 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
+
Requires-Dist: ruamel.yaml
|
|
17
|
+
Requires-Dist: requests
|
|
18
|
+
Requires-Dist: redis
|
|
19
|
+
Requires-Dist: pyttsx3
|
|
20
|
+
Requires-Dist: simple_term_menu
|
|
21
|
+
Requires-Dist: prompt_toolkit
|
|
16
22
|
|
|
17
23
|
DevOps Tools
|
|
18
24
|
====
|
|
@@ -64,6 +70,12 @@ Deployment
|
|
|
64
70
|
python36 setup.py sdist
|
|
65
71
|
python36 setup.py install --prefix=/srv/devops
|
|
66
72
|
|
|
73
|
+
### Deploy Pypi
|
|
74
|
+
|
|
75
|
+
$ pip install setuptools wheel
|
|
76
|
+
$ python3 setup.py sdist bdist_wheel
|
|
77
|
+
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
78
|
+
|
|
67
79
|
Backup
|
|
68
80
|
------
|
|
69
81
|
[Data backup tools](https://github.com/netkiller/devops/blob/master/doc/backup.md).
|
|
@@ -48,6 +48,12 @@ Deployment
|
|
|
48
48
|
python36 setup.py sdist
|
|
49
49
|
python36 setup.py install --prefix=/srv/devops
|
|
50
50
|
|
|
51
|
+
### Deploy Pypi
|
|
52
|
+
|
|
53
|
+
$ pip install setuptools wheel
|
|
54
|
+
$ python3 setup.py sdist bdist_wheel
|
|
55
|
+
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
56
|
+
|
|
51
57
|
Backup
|
|
52
58
|
------
|
|
53
59
|
[Data backup tools](https://github.com/netkiller/devops/blob/master/doc/backup.md).
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
import os, sys
|
|
3
|
+
import copy
|
|
3
4
|
import json
|
|
4
5
|
from ruamel.yaml import YAML
|
|
5
6
|
from ruamel.yaml.scalarstring import PreservedScalarString as pss
|
|
@@ -388,7 +389,7 @@ class Services(Common):
|
|
|
388
389
|
return None
|
|
389
390
|
|
|
390
391
|
def dump(self):
|
|
391
|
-
yaml = self.yaml.dump(self.service)
|
|
392
|
+
yaml = self.yaml.dump(self.service[self.name], sys.stdout)
|
|
392
393
|
# self.logger.debug(yaml)
|
|
393
394
|
return yaml
|
|
394
395
|
|
|
@@ -435,19 +436,26 @@ class Composes(Common):
|
|
|
435
436
|
if isinstance(obj, Services):
|
|
436
437
|
if obj.dockerfile:
|
|
437
438
|
self.dockerfile[obj.name] = obj.dockerfile
|
|
438
|
-
|
|
439
|
+
# service = obj.service.copy()
|
|
440
|
+
# service = dict(obj.service)
|
|
441
|
+
service = copy.deepcopy(obj.service)
|
|
442
|
+
# obj.dump()
|
|
443
|
+
self.compose["services"].update(service)
|
|
444
|
+
# print(self.compose["services"])
|
|
439
445
|
return self
|
|
440
446
|
|
|
441
447
|
def networks(self, obj):
|
|
442
|
-
self.compose["networks"] = obj.networks
|
|
448
|
+
self.compose["networks"] = copy.deepcopy(obj.networks)
|
|
443
449
|
return self
|
|
444
450
|
|
|
445
451
|
def volumes(self, obj):
|
|
446
|
-
self.compose["volumes"] = obj.volumes
|
|
452
|
+
self.compose["volumes"] = copy.deepcopy(obj.volumes)
|
|
447
453
|
return self
|
|
448
454
|
|
|
449
455
|
def debug(self):
|
|
450
|
-
jsonformat = json.dumps(
|
|
456
|
+
jsonformat = json.dumps(
|
|
457
|
+
self.compose, sort_keys=True, indent=4, separators=(",", ":")
|
|
458
|
+
)
|
|
451
459
|
return jsonformat
|
|
452
460
|
|
|
453
461
|
def dump(self):
|
|
@@ -499,7 +507,9 @@ class Composes(Common):
|
|
|
499
507
|
d = ""
|
|
500
508
|
if self.daemon:
|
|
501
509
|
d = "-d"
|
|
502
|
-
command = self.__command(
|
|
510
|
+
command = self.__command(
|
|
511
|
+
"up {daemon} {service}".format(daemon=d, service=service)
|
|
512
|
+
)
|
|
503
513
|
self.execute(command)
|
|
504
514
|
return self
|
|
505
515
|
|
|
@@ -552,12 +562,16 @@ class Composes(Common):
|
|
|
552
562
|
tail = ""
|
|
553
563
|
if follow:
|
|
554
564
|
tail = "-f --tail=50"
|
|
555
|
-
command = self.__command(
|
|
565
|
+
command = self.__command(
|
|
566
|
+
"logs {follow} {service}".format(follow=tail, service=service)
|
|
567
|
+
)
|
|
556
568
|
self.execute(command)
|
|
557
569
|
return self
|
|
558
570
|
|
|
559
571
|
def exec(self, service, cmd):
|
|
560
|
-
command = self.__command(
|
|
572
|
+
command = self.__command(
|
|
573
|
+
"exec {service} {cmd}".format(service=service, cmd=cmd)
|
|
574
|
+
)
|
|
561
575
|
self.execute(command)
|
|
562
576
|
return self
|
|
563
577
|
|
|
@@ -624,7 +638,9 @@ class Docker(Common):
|
|
|
624
638
|
|
|
625
639
|
usage = "usage: %prog [options] up|rm|start|stop|restart|logs|top|images|exec <service>"
|
|
626
640
|
self.parser = OptionParser(usage)
|
|
627
|
-
self.parser.add_option(
|
|
641
|
+
self.parser.add_option(
|
|
642
|
+
"", "--debug", action="store_true", dest="debug", help="debug mode"
|
|
643
|
+
)
|
|
628
644
|
self.parser.add_option(
|
|
629
645
|
"-e",
|
|
630
646
|
"--environment",
|
|
@@ -632,8 +648,12 @@ class Docker(Common):
|
|
|
632
648
|
help="environment",
|
|
633
649
|
metavar="development|testing|production",
|
|
634
650
|
)
|
|
635
|
-
self.parser.add_option(
|
|
636
|
-
|
|
651
|
+
self.parser.add_option(
|
|
652
|
+
"-d", "--daemon", dest="daemon", action="store_true", help="run as daemon"
|
|
653
|
+
)
|
|
654
|
+
self.parser.add_option(
|
|
655
|
+
"", "--logfile", dest="logfile", help="logs file.", default="debug.log"
|
|
656
|
+
)
|
|
637
657
|
self.parser.add_option(
|
|
638
658
|
"-l",
|
|
639
659
|
"--list",
|
|
@@ -669,7 +689,9 @@ class Docker(Common):
|
|
|
669
689
|
action="store_true",
|
|
670
690
|
help="build docker image",
|
|
671
691
|
)
|
|
672
|
-
self.parser.add_option(
|
|
692
|
+
self.parser.add_option(
|
|
693
|
+
"", "--local", dest="local", action="store_true", help="local docker"
|
|
694
|
+
)
|
|
673
695
|
(self.options, self.args) = self.parser.parse_args()
|
|
674
696
|
if self.options.daemon:
|
|
675
697
|
self.daemon = True
|
|
@@ -705,7 +727,9 @@ class Docker(Common):
|
|
|
705
727
|
def env(self, default):
|
|
706
728
|
# if not self.environ :
|
|
707
729
|
self.environ = default
|
|
708
|
-
self.logger.info(
|
|
730
|
+
self.logger.info(
|
|
731
|
+
"%s %s %s" % ("-" * 10, "default environment variable", "-" * 10)
|
|
732
|
+
)
|
|
709
733
|
self.logger.info(self.environ)
|
|
710
734
|
self.logger.info("-" * 50)
|
|
711
735
|
return self
|
|
@@ -720,6 +744,7 @@ class Docker(Common):
|
|
|
720
744
|
compose.env(self.environ)
|
|
721
745
|
self.logger.info("Override [%s] environ: %s" % (compose.name, self.environ))
|
|
722
746
|
compose.workdir(self.workdir)
|
|
747
|
+
# print(compose.dump())
|
|
723
748
|
self.composes[compose.name] = compose
|
|
724
749
|
self.logger.info("Add environment: %s" % (compose.name))
|
|
725
750
|
return self
|
|
@@ -872,12 +897,11 @@ class Docker(Common):
|
|
|
872
897
|
compose = self.composes[self.options.environment]
|
|
873
898
|
compose.dump()
|
|
874
899
|
# if compose:
|
|
875
|
-
# print(compose)
|
|
876
900
|
else:
|
|
877
|
-
for env,
|
|
878
|
-
|
|
901
|
+
for env, compose in self.composes.items():
|
|
902
|
+
print(f"---------- {env} ----------")
|
|
879
903
|
if compose:
|
|
880
|
-
print(compose)
|
|
904
|
+
print(compose.dump())
|
|
881
905
|
|
|
882
906
|
def save_all(self):
|
|
883
907
|
if self.options.environment and self.options.environment in self.composes:
|
|
@@ -899,20 +923,24 @@ class Docker(Common):
|
|
|
899
923
|
def usage(self):
|
|
900
924
|
print("Python controls the docker manager.")
|
|
901
925
|
self.parser.print_help()
|
|
902
|
-
print(
|
|
926
|
+
print(
|
|
927
|
+
"\nHomepage: http://www.netkiller.cn\tAuthor: Neo <netkiller@msn.com>\nHelp: https://github.com/netkiller/devops/blob/master/doc/docker.md"
|
|
928
|
+
)
|
|
903
929
|
exit()
|
|
904
930
|
|
|
905
931
|
def main(self):
|
|
906
|
-
if self.options.export:
|
|
907
|
-
self.save_all()
|
|
908
|
-
exit()
|
|
909
932
|
if self.options.compose:
|
|
910
933
|
self.dump()
|
|
911
934
|
exit()
|
|
912
|
-
if self.options.list:
|
|
913
|
-
self.list()
|
|
914
935
|
|
|
915
|
-
if not self.options.environment and len(self.composes) > 1:
|
|
936
|
+
# if not self.options.environment and len(self.composes) > 1:
|
|
937
|
+
# self.list()
|
|
938
|
+
|
|
939
|
+
if self.options.export:
|
|
940
|
+
self.save_all()
|
|
941
|
+
exit()
|
|
942
|
+
|
|
943
|
+
if self.options.list:
|
|
916
944
|
self.list()
|
|
917
945
|
|
|
918
946
|
if self.options.build:
|
|
@@ -920,43 +948,46 @@ class Docker(Common):
|
|
|
920
948
|
self.build(self.service)
|
|
921
949
|
exit()
|
|
922
950
|
|
|
923
|
-
if
|
|
924
|
-
self.
|
|
951
|
+
if self.options.environment:
|
|
952
|
+
if not self.args:
|
|
953
|
+
self.list()
|
|
925
954
|
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
955
|
+
if len(self.args) > 1:
|
|
956
|
+
self.service = " ".join(self.args[1:2])
|
|
957
|
+
else:
|
|
958
|
+
self.service = ""
|
|
959
|
+
self.logger.debug("service: " + self.service)
|
|
960
|
+
|
|
961
|
+
if self.args[0] == "ls":
|
|
962
|
+
self.ls()
|
|
963
|
+
elif self.args[0] == "up":
|
|
964
|
+
self.up(self.service)
|
|
965
|
+
elif self.args[0] == "down":
|
|
966
|
+
self.down(self.service)
|
|
967
|
+
self.logger.info("down " + self.service)
|
|
968
|
+
elif self.args[0] == "rm":
|
|
969
|
+
self.rm(self.service)
|
|
970
|
+
self.logger.info("rm " + self.service)
|
|
971
|
+
elif self.args[0] == "start":
|
|
972
|
+
self.start(self.service)
|
|
973
|
+
self.logger.info("start " + self.service)
|
|
974
|
+
elif self.args[0] == "stop":
|
|
975
|
+
self.stop(self.service)
|
|
976
|
+
self.logger.info("stop " + self.service)
|
|
977
|
+
elif self.args[0] == "restart":
|
|
978
|
+
self.restart(self.service)
|
|
979
|
+
self.logger.info("restart" + self.service)
|
|
980
|
+
elif self.args[0] == "ps":
|
|
981
|
+
self.ps(self.service)
|
|
982
|
+
elif self.args[0] == "top":
|
|
983
|
+
self.top(self.service)
|
|
984
|
+
elif self.args[0] == "images":
|
|
985
|
+
self.images(self.service)
|
|
986
|
+
elif self.args[0] == "logs":
|
|
987
|
+
self.logs(self.service, self.options.follow)
|
|
988
|
+
elif self.args[0] == "exec":
|
|
989
|
+
self.exec(self.service, self.args[2:])
|
|
990
|
+
else:
|
|
991
|
+
self.usage()
|
|
961
992
|
else:
|
|
962
|
-
self.
|
|
993
|
+
self.list()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: netkiller-devops
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: DevOps of useful deployment and automation
|
|
5
5
|
Home-page: https://github.com/oscm/devops
|
|
6
6
|
Author: Neo Chen
|
|
@@ -13,6 +13,12 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
+
Requires-Dist: ruamel.yaml
|
|
17
|
+
Requires-Dist: requests
|
|
18
|
+
Requires-Dist: redis
|
|
19
|
+
Requires-Dist: pyttsx3
|
|
20
|
+
Requires-Dist: simple_term_menu
|
|
21
|
+
Requires-Dist: prompt_toolkit
|
|
16
22
|
|
|
17
23
|
DevOps Tools
|
|
18
24
|
====
|
|
@@ -64,6 +70,12 @@ Deployment
|
|
|
64
70
|
python36 setup.py sdist
|
|
65
71
|
python36 setup.py install --prefix=/srv/devops
|
|
66
72
|
|
|
73
|
+
### Deploy Pypi
|
|
74
|
+
|
|
75
|
+
$ pip install setuptools wheel
|
|
76
|
+
$ python3 setup.py sdist bdist_wheel
|
|
77
|
+
$ twine upload dist/netkiller-devops-x.x.x.tar.gz
|
|
78
|
+
|
|
67
79
|
Backup
|
|
68
80
|
------
|
|
69
81
|
[Data backup tools](https://github.com/netkiller/devops/blob/master/doc/backup.md).
|
|
@@ -9,7 +9,7 @@ with open("README.md", "r") as fh:
|
|
|
9
9
|
|
|
10
10
|
setup(
|
|
11
11
|
name="netkiller-devops",
|
|
12
|
-
version="0.7.
|
|
12
|
+
version="0.7.2",
|
|
13
13
|
author="Neo Chen",
|
|
14
14
|
author_email="netkiller@msn.com",
|
|
15
15
|
description="DevOps of useful deployment and automation",
|
|
@@ -86,7 +86,7 @@ setup(
|
|
|
86
86
|
"share",
|
|
87
87
|
["share/example/testing/example.com.ini", "share/profile.d/devops.sh"],
|
|
88
88
|
),
|
|
89
|
-
("share/devops", ["doc/wechat.md", "doc/voice.md"])
|
|
89
|
+
("share/devops", ["doc/wechat.md", "doc/voice.md"]),
|
|
90
90
|
# ('example/testing', ['example/testing/example.com.ini']),
|
|
91
91
|
# ('example/config/testing', ['example/config/testing/www.example.com.ini']),
|
|
92
92
|
# ('example/exclude/testing', ['example/exclude/testing/www.example.com.lst'])
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
include shell
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
[DEFAULT]
|
|
2
|
-
;directory=/opt/backup
|
|
3
|
-
;设置备份目录
|
|
4
|
-
directory=/tmp/backup
|
|
5
|
-
;设置日志文件
|
|
6
|
-
logfile=/tmp/dump.log
|
|
7
|
-
|
|
8
|
-
[dev]
|
|
9
|
-
host=192.168.30.11
|
|
10
|
-
user=root
|
|
11
|
-
pass=test
|
|
12
|
-
dbname=test
|
|
13
|
-
description=这是测试环境的数据库
|
|
14
|
-
|
|
15
|
-
[test]
|
|
16
|
-
host=192.168.10.10
|
|
17
|
-
user=test
|
|
18
|
-
pass=test
|
|
19
|
-
dbname=test test1 test2 test3 test4
|
|
20
|
-
|
|
21
|
-
[stage]
|
|
22
|
-
user=root
|
|
23
|
-
dbname=stage
|
|
24
|
-
pass=
|
|
25
|
-
dbname=test
|
|
26
|
-
|
|
27
|
-
[prod]
|
|
28
|
-
user=root
|
|
29
|
-
dbname=prod
|
|
30
|
-
pass=
|
|
31
|
-
dbname=test
|
|
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.1 → netkiller_devops-0.7.2}/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
|