sct 0.1.13 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/.rspec +0 -0
- data/.travis.yml +0 -0
- data/CODE_OF_CONDUCT.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/sct/.DS_Store +0 -0
- data/lib/sct/ClassLevelInheritableAttributes.rb +0 -0
- data/lib/sct/command.rb +0 -0
- data/lib/sct/command_interface.rb +0 -0
- data/lib/sct/command_option.rb +0 -0
- data/lib/sct/commands/cluster.rb +85 -26
- data/lib/sct/docker/php.rb +0 -0
- data/lib/sct/version.rb +1 -1
- data/sct.gemspec +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2377fe5a5cfd760e9a8ed93321849ac8207588721325ce48aa2d6bd8cf8f631e
|
4
|
+
data.tar.gz: 5952de0af59fb21add421797a785584763a27286f94feb8303aadfaa3e57cc91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85ce38ef50434f38d01560de81c688aeea4c5ae9362c9f7b6eab2ea77acb8381906a2adcc506d8f4e2f812ec4d191ae8fc6d80e6c49e1ebcf4ac9de0a711ccf2
|
7
|
+
data.tar.gz: 1678c667cf147b5c406819bfe5b2aa00624de2f08a42776d49725cc8416457e89bf3c96f06f8b25cdd02182e12aab191cb42ca83c166f8cdffb2b809d2d44e5e
|
data/.DS_Store
CHANGED
File without changes
|
data/.rspec
CHANGED
File without changes
|
data/.travis.yml
CHANGED
File without changes
|
data/CODE_OF_CONDUCT.md
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/lib/.DS_Store
CHANGED
File without changes
|
data/lib/sct/.DS_Store
CHANGED
File without changes
|
File without changes
|
data/lib/sct/command.rb
CHANGED
File without changes
|
File without changes
|
data/lib/sct/command_option.rb
CHANGED
File without changes
|
data/lib/sct/commands/cluster.rb
CHANGED
@@ -5,54 +5,113 @@ module Sct
|
|
5
5
|
class ClusterCommand
|
6
6
|
|
7
7
|
IS_PUBLIC_COMMAND = true
|
8
|
-
SYNTAX = 'sct cluster up | sct cluster down | sct cluster update-config'
|
9
|
-
SUMMARY = 'Starts/stops or updates the config of the minikube cluster'
|
10
|
-
EXAMPLE = 'sct cluster up | sct cluster down | sct cluster update-config'
|
11
|
-
EXAMPLE_DESCRIPTION = 'Starts/stops or updates the config of the minikube cluster'
|
12
|
-
DESCRIPTION = "
|
8
|
+
SYNTAX = 'sct cluster up | sct cluster down | sct cluster reset | sct cluster update-config'
|
9
|
+
SUMMARY = 'Starts/stops/resets or updates the config of the minikube cluster.'
|
10
|
+
EXAMPLE = 'sct cluster up | sct cluster down | sct cluster reset | sct cluster update-config'
|
11
|
+
EXAMPLE_DESCRIPTION = 'Starts/stops/resets or updates the config of the minikube cluster.'
|
12
|
+
DESCRIPTION = "sct cluster allows you to start, stop, reset or update the config of the Spend Cloud minikube cluster."
|
13
13
|
|
14
14
|
OPTIONS = []
|
15
15
|
|
16
16
|
def execute(args, options)
|
17
17
|
return puts "SCT has not been initialized. Run 'sct init' first.".red unless Sct::Config.exists
|
18
18
|
|
19
|
-
if Sct::Helpers.operatingSystem == Sct::Helpers::WINDOWS
|
20
|
-
minikube = "minikube.exe"
|
21
|
-
else
|
22
|
-
minikube = "minikube"
|
23
|
-
end
|
24
|
-
|
25
19
|
case args[0]
|
26
20
|
when "up"
|
27
|
-
|
28
|
-
system("#{minikube} ssh -- 'sudo su -c \"echo 10048576 > /proc/sys/fs/inotify/max_user_watches\"'")
|
29
|
-
update_config
|
30
|
-
system("kubectl config use-context minikube")
|
31
|
-
system("kubectl delete pod -n kube-system $(kubectl get pods -n kube-system | grep registry-creds | awk '{print $1}')")
|
32
|
-
system("sudo sct hostfile")
|
33
|
-
puts "\n✔️ You can now visit your environment at 👉 https://spend-cloud.spend.cloud.local 👌"
|
21
|
+
up
|
34
22
|
when "down"
|
35
|
-
|
23
|
+
down
|
36
24
|
when "update-config"
|
37
25
|
update_config
|
26
|
+
when "reset"
|
27
|
+
reset
|
38
28
|
else
|
39
29
|
puts "Unknown or missing argument. Please run 'sct cluster up','sct cluster down' or 'sct cluster update-config'".red
|
40
30
|
end
|
41
31
|
end
|
42
32
|
|
33
|
+
def up
|
34
|
+
start
|
35
|
+
system "kubectl delete pod -n kube-system $(kubectl get pods -n kube-system | grep registry-creds | awk '{print $1}')"
|
36
|
+
system "kubectl rollout status -n kube-system deployment/registry-creds"
|
37
|
+
post_start
|
38
|
+
end
|
39
|
+
|
40
|
+
def down
|
41
|
+
system "#{minikube} stop"
|
42
|
+
end
|
43
|
+
|
43
44
|
def update_config
|
44
|
-
|
45
|
+
if Sct::Helpers.operatingSystem == Sct::Helpers::WINDOWS
|
46
|
+
windows_home_path = Sct::Helpers.windowsHomePath
|
47
|
+
kube_file_path = windows_home_path+"/.kube/config"
|
48
|
+
|
49
|
+
if !File.exists?(kube_file_path)
|
50
|
+
return puts "#{kube_file_path} doesn't exist".red
|
51
|
+
end
|
45
52
|
|
46
|
-
|
47
|
-
kube_file_path = windows_home_path+"/.kube/config"
|
53
|
+
system("sed -e 's~\\\\~/~g' -e 's~C:~/mnt/c~g' < #{kube_file_path} > ~/.kube/minikube-config")
|
48
54
|
|
49
|
-
|
50
|
-
return puts "#{kube_file_path} doesn't exist".red
|
55
|
+
puts "#{kube_file_path} copied to ~/.kube/minikube-config".green
|
51
56
|
end
|
52
57
|
|
53
|
-
system
|
58
|
+
system "kubectl config use-context minikube"
|
59
|
+
end
|
60
|
+
|
61
|
+
def reset
|
62
|
+
system "#{minikube} delete"
|
63
|
+
start
|
64
|
+
system "kubectl create secret generic gcloud-credentials --from-file=\"$(echo ~)/.config/gcloud/application_default_credentials.json\""
|
65
|
+
system "kubectl create secret generic -n kube-system registry-creds-dpr --from-literal DOCKER_PRIVATE_REGISTRY_PASSWORD=changeme --from-literal DOCKER_PRIVATE_REGISTRY_SERVER=changeme --from-literal DOCKER_PRIVATE_REGISTRY_USER=changeme"
|
66
|
+
system "kubectl patch secret -n kube-system registry-creds-dpr -p='{\"metadata\": {\"labels\": { \"app\": \"registry-creds\", \"cloud\": \"dpr\", \"kubernetes.io/minikube-addons\": \"registry-creds\"}}}'"
|
67
|
+
system "kubectl create secret generic -n kube-system registry-creds-ecr --from-literal AWS_ACCESS_KEY_ID=changeme --from-literal AWS_SECRET_ACCESS_KEY=changeme --from-literal AWS_SESSION_TOKEN=\"\" --from-literal aws-account=changeme --from-literal aws-assume-role=changeme --from-literal aws-region=changeme"
|
68
|
+
system "kubectl patch secret -n kube-system registry-creds-ecr -p='{\"metadata\": {\"labels\": { \"app\": \"registry-creds\", \"cloud\": \"ecr\", \"kubernetes.io/minikube-addons\": \"registry-creds\"}}}'"
|
69
|
+
system "kubectl create secret generic -n kube-system registry-creds-gcr --from-file=\"$(echo ~)/.config/gcloud/application_default_credentials.json\" --from-literal=gcrurl=\"https://eu.gcr.io\""
|
70
|
+
system "kubectl patch secret -n kube-system registry-creds-gcr -p='{\"metadata\": {\"labels\": { \"app\": \"registry-creds\", \"cloud\": \"gcr\", \"kubernetes.io/minikube-addons\": \"registry-creds\"}}}'"
|
71
|
+
system "kubectl create secret generic -n kube-system registry-creds-acr --from-literal ACR_PASSWORD=changeme --from-literal ACR_CLIENT_ID=changeme --from-literal ACR_URL=changeme"
|
72
|
+
system "kubectl patch secret -n kube-system registry-creds-acr -p='{\"metadata\": {\"labels\": { \"app\": \"registry-creds\", \"cloud\": \"acr\", \"kubernetes.io/minikube-addons\": \"registry-creds\"}}}'"
|
73
|
+
system "#{minikube} addons enable registry-creds"
|
74
|
+
system "#{minikube} addons enable ingress"
|
75
|
+
system "kubectl rollout status -n kube-system deployment/registry-creds"
|
76
|
+
system "kubectl rollout status -n kube-system deployment/nginx-ingress-controller"
|
77
|
+
wait_for_gcr_secret
|
78
|
+
system "kubectl apply -f ~/development/spend-cloud/k8s/"
|
79
|
+
post_start
|
80
|
+
end
|
54
81
|
|
55
|
-
|
82
|
+
def start
|
83
|
+
system "#{minikube} start --cpus=$(cat /proc/cpuinfo | grep processor | wc -l) --memory=16G"
|
84
|
+
system "#{minikube} ssh -- 'sudo su -c \"echo 10048576 > /proc/sys/fs/inotify/max_user_watches\"'"
|
85
|
+
update_config
|
86
|
+
end
|
87
|
+
|
88
|
+
def post_start
|
89
|
+
system "kubectl rollout status deployment/spend-cloud-api"
|
90
|
+
system "sudo sct hostfile"
|
91
|
+
puts "\n✔️ You can visit your environment at 👉 https://spend-cloud.spend.cloud.local 👌 (might still take a few minutes)"
|
92
|
+
end
|
93
|
+
|
94
|
+
def wait_for_gcr_secret
|
95
|
+
puts "Waiting for Google Cloud Registry secret to become available...".yellow
|
96
|
+
|
97
|
+
while true
|
98
|
+
secrets = `kubectl get secrets`
|
99
|
+
|
100
|
+
if secrets.include? "gcr-secret"
|
101
|
+
puts "Google Cloud Registry secret is now available.".green
|
102
|
+
break
|
103
|
+
else
|
104
|
+
sleep 1
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
def minikube
|
110
|
+
if Sct::Helpers.operatingSystem == Sct::Helpers::WINDOWS
|
111
|
+
return "minikube.exe"
|
112
|
+
else
|
113
|
+
return "minikube"
|
114
|
+
end
|
56
115
|
end
|
57
116
|
|
58
117
|
implements CommandInterface
|
data/lib/sct/docker/php.rb
CHANGED
File without changes
|
data/lib/sct/version.rb
CHANGED
data/sct.gemspec
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reshad Farid
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: class_interface
|