For educational reasons I've decided to create my own CA. Here is what I learned.
Lets get some context first.
#!/usr/bin/env python | |
# Copyright 2017 The Kubernetes Authors. | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# |
#!/usr/bin/python | |
ANSIBLE_METADATA = { | |
'metadata_version': '1.1', | |
'status': ['preview'], | |
'supported_by': 'community' | |
} | |
DOCUMENTATION = ''' | |
--- | |
module: copy_remotely |
https://lampjs.wordpress.com/2017/01/19/easy-installing-arch-linux-dual-boot-with-windows-uefi-or-mbr-for-beginners/ |
package main | |
import ( | |
"fmt" | |
"math/rand" | |
"sync/atomic" | |
"time" | |
"github.com/juju/ratelimit" | |
) |
# This file consists master and computer nodes | |
# by goby@2017-08-02 | |
# | |
# Nodes: | |
# Master: 10.166.224.132 | |
# Compute: 10.166.224.133 | |
# | |
# Remarks: | |
# git proxy/https proxy should be set because of the fucking GFW | |
# |
/* | |
* Parse iptables-restore(8) rulesets ,multiple rules seperated by ";" | |
* https://pegjs.org | |
* | |
* Author: goby <goby@foxmail.com> @2017-08-26 | |
*/ | |
{ | |
/* deep copy from on to another */ | |
function merge(left, right){ |
/* | |
* Parse ip-route(8) rulesets ,multiple rules seperated by ";" | |
* https://pegjs.org | |
* | |
* Author: goby <goby@foxmail.com> @2017-08-25 | |
*/ | |
{ | |
/* deep copy from on to another */ | |
function merge(left, right){ |
#!/usr/bin/env node | |
var path = require('path') | |
var fs = require('fs') | |
var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); | |
require(lib + '/awslambda.js').start_runtime(); | |
screen -d -m -S stack -t shell -s /bin/bash | |
screen -r stack -X hardstatus alwayslastline '%{= .} %-Lw%{= .}%> %n%f %t*%{= .}%+Lw%< %-=%{g}(%{d}%H/%l%{g})' | |
screen -S stack -X screen -t key | |
screen -S stack -p key -X stuff 'cd /opt/stack/keystone && /opt/stack/keystone/bin/keystone-all --config-file /etc/keystone/keystone.conf --debug || echo "key failed to start" | tee "/opt/stack/status/stack/key.failure"^M' | |
screen -S stack -X screen -t g-reg | |
screen -S stack -p g-reg -X stuff 'cd /opt/stack/glance; /usr/local/bin/glance-registry --config-file=/etc/glance/glance-registry.conf || echo "g-reg failed to start" | tee "/opt/stack/status/stack/g-reg.failure"^M' | |
screen -S stack -X screen -t g-api | |
screen -S stack -p g-api -X stuff 'cd /opt/stack/glance; /usr/local/bin/glance-api --config-file=/etc/glance/glance-api.conf || echo "g-api failed to start" | tee "/opt/stack/status/stack/g-api.failure"^M' | |
screen -S stack -X screen -t n-api | |
screen -S stack -p n-api -X stuff 'cd /opt/stack/nova && /usr/local/bin/nova-api || ec |