[release] v0.8.0-unstable11
This commit is contained in:
parent
571ffca7b5
commit
490468ca6f
|
@ -152,9 +152,6 @@ const NewInstall = () => {
|
||||||
}}
|
}}
|
||||||
onSubmit={async (values, { setErrors, setStatus, setSubmitting }) => {
|
onSubmit={async (values, { setErrors, setStatus, setSubmitting }) => {
|
||||||
setSubmitting(true);
|
setSubmitting(true);
|
||||||
const submittingPromise = new Promise((resolve, reject) => {
|
|
||||||
setPullRequestOnSuccess(() => resolve);
|
|
||||||
});
|
|
||||||
|
|
||||||
setPullRequest(() => ((cb) => {
|
setPullRequest(() => ((cb) => {
|
||||||
API.newInstall({
|
API.newInstall({
|
||||||
|
@ -164,7 +161,7 @@ const NewInstall = () => {
|
||||||
}, cb)
|
}, cb)
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return submittingPromise;
|
return new Promise(() => {});
|
||||||
}}>
|
}}>
|
||||||
{(formik) => (
|
{(formik) => (
|
||||||
<form noValidate onSubmit={formik.handleSubmit}>
|
<form noValidate onSubmit={formik.handleSubmit}>
|
||||||
|
@ -175,9 +172,11 @@ const NewInstall = () => {
|
||||||
if(formik.values.DBMode === "DisableUserManagement") {
|
if(formik.values.DBMode === "DisableUserManagement") {
|
||||||
setDatabaseEnable(false);
|
setDatabaseEnable(false);
|
||||||
}
|
}
|
||||||
formik.setStatus({ success: true });
|
|
||||||
formik.setSubmitting(false);
|
|
||||||
pullRequestOnSuccess();
|
pullRequestOnSuccess();
|
||||||
|
API.getStatus().then((res) => {
|
||||||
|
formik.setSubmitting(false);
|
||||||
|
formik.setStatus({ success: true });
|
||||||
|
});
|
||||||
}}
|
}}
|
||||||
OnError={(error) => {
|
OnError={(error) => {
|
||||||
formik.setStatus({ success: false });
|
formik.setStatus({ success: false });
|
||||||
|
@ -239,9 +238,7 @@ const NewInstall = () => {
|
||||||
/>
|
/>
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
) : (<><div>
|
) : (<>
|
||||||
Rechecking Database Status...
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<center><CircularProgress color="inherit" /></center>
|
<center><CircularProgress color="inherit" /></center>
|
||||||
</div></>)}
|
</div></>)}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "cosmos-server",
|
"name": "cosmos-server",
|
||||||
"version": "0.8.0-unstable10",
|
"version": "0.8.0-unstable11",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "test-server.js",
|
"main": "test-server.js",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|
|
@ -220,45 +220,6 @@ func CreateService(serviceRequest DockerServiceCreateRequest, OnLog func(string)
|
||||||
var rollbackActions []DockerServiceCreateRollback
|
var rollbackActions []DockerServiceCreateRollback
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
// check if services have the cosmos-force-network-secured label or
|
|
||||||
// if label cosmos-network-name is set ao auto, create a new network
|
|
||||||
for serviceName, service := range serviceRequest.Services {
|
|
||||||
utils.Log(fmt.Sprintf("Checking service %s...", serviceName))
|
|
||||||
OnLog(fmt.Sprintf("Checking service %s...\n", serviceName))
|
|
||||||
|
|
||||||
if service.Labels["cosmos-force-network-secured"] == "true" || strings.ToLower(service.Labels["cosmos-network-name"]) == "auto" {
|
|
||||||
utils.Log(fmt.Sprintf("Forcing secure %s...", serviceName))
|
|
||||||
OnLog(fmt.Sprintf("Forcing secure %s...\n", serviceName))
|
|
||||||
|
|
||||||
newNetwork, errNC := CreateCosmosNetwork()
|
|
||||||
if errNC != nil {
|
|
||||||
utils.Error("CreateService: Network", err)
|
|
||||||
OnLog(fmt.Sprintf("[ERROR] Network %s cant be created\n", newNetwork))
|
|
||||||
Rollback(rollbackActions, OnLog)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
service.Labels["cosmos-network-name"] = newNetwork
|
|
||||||
|
|
||||||
AttachNetworkToCosmos(newNetwork)
|
|
||||||
|
|
||||||
if service.Networks == nil {
|
|
||||||
service.Networks = make(map[string]ContainerCreateRequestServiceNetwork)
|
|
||||||
}
|
|
||||||
|
|
||||||
service.Networks[newNetwork] = ContainerCreateRequestServiceNetwork{}
|
|
||||||
|
|
||||||
rollbackActions = append(rollbackActions, DockerServiceCreateRollback{
|
|
||||||
Action: "remove",
|
|
||||||
Type: "network",
|
|
||||||
Name: newNetwork,
|
|
||||||
})
|
|
||||||
|
|
||||||
utils.Log(fmt.Sprintf("Created secure network %s", newNetwork))
|
|
||||||
OnLog(fmt.Sprintf("Created secure network %s\n", newNetwork))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create networks
|
// Create networks
|
||||||
for networkToCreateName, networkToCreate := range serviceRequest.Networks {
|
for networkToCreateName, networkToCreate := range serviceRequest.Networks {
|
||||||
utils.Log(fmt.Sprintf("Creating network %s...", networkToCreateName))
|
utils.Log(fmt.Sprintf("Creating network %s...", networkToCreateName))
|
||||||
|
@ -366,7 +327,42 @@ func CreateService(serviceRequest DockerServiceCreateRequest, OnLog func(string)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create containers
|
// Create containers
|
||||||
for _, container := range serviceRequest.Services {
|
for serviceName, container := range serviceRequest.Services {
|
||||||
|
utils.Log(fmt.Sprintf("Checking service %s...", serviceName))
|
||||||
|
OnLog(fmt.Sprintf("Checking service %s...\n", serviceName))
|
||||||
|
|
||||||
|
if container.Labels["cosmos-force-network-secured"] == "true" || strings.ToLower(container.Labels["cosmos-network-name"]) == "auto" {
|
||||||
|
utils.Log(fmt.Sprintf("Forcing secure %s...", serviceName))
|
||||||
|
OnLog(fmt.Sprintf("Forcing secure %s...\n", serviceName))
|
||||||
|
|
||||||
|
newNetwork, errNC := CreateCosmosNetwork()
|
||||||
|
if errNC != nil {
|
||||||
|
utils.Error("CreateService: Network", err)
|
||||||
|
OnLog(fmt.Sprintf("[ERROR] Network %s cant be created\n", newNetwork))
|
||||||
|
Rollback(rollbackActions, OnLog)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
container.Labels["cosmos-network-name"] = newNetwork
|
||||||
|
|
||||||
|
AttachNetworkToCosmos(newNetwork)
|
||||||
|
|
||||||
|
if container.Networks == nil {
|
||||||
|
container.Networks = make(map[string]ContainerCreateRequestServiceNetwork)
|
||||||
|
}
|
||||||
|
|
||||||
|
container.Networks[newNetwork] = ContainerCreateRequestServiceNetwork{}
|
||||||
|
|
||||||
|
rollbackActions = append(rollbackActions, DockerServiceCreateRollback{
|
||||||
|
Action: "remove",
|
||||||
|
Type: "network",
|
||||||
|
Name: newNetwork,
|
||||||
|
})
|
||||||
|
|
||||||
|
utils.Log(fmt.Sprintf("Created secure network %s", newNetwork))
|
||||||
|
OnLog(fmt.Sprintf("Created secure network %s\n", newNetwork))
|
||||||
|
}
|
||||||
|
|
||||||
utils.Log(fmt.Sprintf("Creating container %s...", container.Name))
|
utils.Log(fmt.Sprintf("Creating container %s...", container.Name))
|
||||||
OnLog(fmt.Sprintf("Creating container %s...\n", container.Name))
|
OnLog(fmt.Sprintf("Creating container %s...\n", container.Name))
|
||||||
|
|
||||||
|
@ -540,7 +536,6 @@ func CreateService(serviceRequest DockerServiceCreateRequest, OnLog func(string)
|
||||||
|
|
||||||
hostConfig.Devices = devices
|
hostConfig.Devices = devices
|
||||||
|
|
||||||
|
|
||||||
networkingConfig := &network.NetworkingConfig{
|
networkingConfig := &network.NetworkingConfig{
|
||||||
EndpointsConfig: make(map[string]*network.EndpointSettings),
|
EndpointsConfig: make(map[string]*network.EndpointSettings),
|
||||||
}
|
}
|
||||||
|
@ -559,9 +554,12 @@ func CreateService(serviceRequest DockerServiceCreateRequest, OnLog func(string)
|
||||||
Type: "container",
|
Type: "container",
|
||||||
Name: container.Name,
|
Name: container.Name,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
utils.Debug(fmt.Sprintf("CACABOUDIN %v", container.Networks))
|
||||||
|
|
||||||
// connect to networks
|
// connect to networks
|
||||||
for netName, netConfig := range container.Networks {
|
for netName, netConfig := range container.Networks {
|
||||||
|
utils.Log("CreateService: Connecting to network: " + netName)
|
||||||
err = DockerClient.NetworkConnect(DockerContext, netName, container.Name, &network.EndpointSettings{
|
err = DockerClient.NetworkConnect(DockerContext, netName, container.Name, &network.EndpointSettings{
|
||||||
Aliases: netConfig.Aliases,
|
Aliases: netConfig.Aliases,
|
||||||
IPAddress: netConfig.IPV4Address,
|
IPAddress: netConfig.IPV4Address,
|
||||||
|
|
|
@ -94,6 +94,7 @@ func BootstrapContainerFromTags(containerID string) error {
|
||||||
needsRestart := false
|
needsRestart := false
|
||||||
var errCT error
|
var errCT error
|
||||||
if !isCosmosCon {
|
if !isCosmosCon {
|
||||||
|
utils.Debug(container.Name+": Not connected to a cosmos network")
|
||||||
needsRestart, errCT = ConnectToSecureNetwork(container)
|
needsRestart, errCT = ConnectToSecureNetwork(container)
|
||||||
if errCT != nil {
|
if errCT != nil {
|
||||||
utils.Warn("DockerContainerBootstrapConnectToSecureNetwork -- Cannot connect to network, removing force secure")
|
utils.Warn("DockerContainerBootstrapConnectToSecureNetwork -- Cannot connect to network, removing force secure")
|
||||||
|
|
|
@ -169,13 +169,13 @@ func ConnectToSecureNetwork(containerConfig types.ContainerJSON) (bool, error) {
|
||||||
RemoveLabels(containerConfig, []string{"cosmos-network-name"})
|
RemoveLabels(containerConfig, []string{"cosmos-network-name"})
|
||||||
return ConnectToSecureNetwork(containerConfig)
|
return ConnectToSecureNetwork(containerConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
// else check if already connected
|
// else check if already connected
|
||||||
if(IsConnectedToNetwork(containerConfig, netName)) {
|
if(IsConnectedToNetwork(containerConfig, netName)) {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// at this point network is created and container is not connected to it
|
// at this point network is created and container is not connected to it
|
||||||
|
|
||||||
errCo := ConnectToNetworkSync(netName, containerConfig.ID)
|
errCo := ConnectToNetworkSync(netName, containerConfig.ID)
|
||||||
|
@ -211,14 +211,17 @@ func GetAllPorts(container types.ContainerJSON) []string {
|
||||||
func IsConnectedToNetwork(containerConfig types.ContainerJSON, networkName string) bool {
|
func IsConnectedToNetwork(containerConfig types.ContainerJSON, networkName string) bool {
|
||||||
if(containerConfig.NetworkSettings == nil) {
|
if(containerConfig.NetworkSettings == nil) {
|
||||||
return false
|
return false
|
||||||
|
utils.Debug("IsConnectedToNetwork - " + containerConfig.Name + ": has no settings")
|
||||||
}
|
}
|
||||||
|
|
||||||
for name, _ := range containerConfig.NetworkSettings.Networks {
|
for name, _ := range containerConfig.NetworkSettings.Networks {
|
||||||
if name == networkName {
|
if name == networkName {
|
||||||
return true
|
return true
|
||||||
|
utils.Debug("IsConnectedToNetwork - " + containerConfig.Name + ": is connected to " + networkName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
utils.Debug("IsConnectedToNetwork - " + containerConfig.Name + ": is NOT connected to " + networkName)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,8 +266,8 @@ func IsConnectedToASecureCosmosNetwork(self types.ContainerJSON, containerConfig
|
||||||
utils.Warn("Container wasn't connected to the network it claimed, connecting it.")
|
utils.Warn("Container wasn't connected to the network it claimed, connecting it.")
|
||||||
err := ConnectToNetworkSync(GetLabel(containerConfig, "cosmos-network-name"), containerConfig.ID)
|
err := ConnectToNetworkSync(GetLabel(containerConfig, "cosmos-network-name"), containerConfig.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Error("ConnectToSecureNetworkConnect", err)
|
utils.Error("ReConnectToSecureNetworkConnectFromLabel", err)
|
||||||
return true, err, false
|
return false, err, false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue