Skip to content

Commit

Permalink
Change licensing
Browse files Browse the repository at this point in the history
  • Loading branch information
franklupo committed Oct 23, 2019
1 parent f096973 commit 614908d
Show file tree
Hide file tree
Showing 15 changed files with 129 additions and 97 deletions.
File renamed without changes.
10 changes: 5 additions & 5 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
Expand Down
19 changes: 19 additions & 0 deletions 3rd-party-licenses.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# License overview of included 3rd party libraries

The project is licensed under the terms of the [LICENSE.md](LICENSE.md)

However, includes several third-party Open-Source libraries, which are licensed under their own respective Open-Source licenses.

## Libraries directly included

[Corsinvest ProxmoxVE Api](https://github.com/Corsinvest/cv4pve-api-dotnet)
License: GPLv3

[Corsinvest ProxmoxVE Api Extension](https://github.com/Corsinvest/cv4pve-api-dotnet)
License: GPLv3

[Dotnet Core](https://github.com/dotnet/core)
License: MIT

[ReadLine](https://github.com/tonerdo/readline)
License: MIT
15 changes: 9 additions & 6 deletions Corsinvest.ProxmoxVE.AutoSnap.sln
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
# Visual Studio Version 16
VisualStudioVersion = 16.0.29403.142
MinimumVisualStudioVersion = 15.0.26124.0
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C6B0694C-362C-4BEE-8EBA-28ECF5780D57}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Corsinvest.ProxmoxVE.AutoSnap", "src\Corsinvest.ProxmoxVE.AutoSnap\Corsinvest.ProxmoxVE.AutoSnap.csproj", "{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Corsinvest.ProxmoxVE.AutoSnap", "src\Corsinvest.ProxmoxVE.AutoSnap\Corsinvest.ProxmoxVE.AutoSnap.csproj", "{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -16,9 +16,6 @@ Global
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}.Debug|Any CPU.Build.0 = Debug|Any CPU
Expand All @@ -33,7 +30,13 @@ Global
{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}.Release|x86.ActiveCfg = Release|Any CPU
{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{6D4D450B-25C7-4CC8-AFB5-3EFCBD32EC37} = {C6B0694C-362C-4BEE-8EBA-28ECF5780D57}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FF0CE8AE-82AF-4E55-B4CF-21752D47280F}
EndGlobalSection
EndGlobal
25 changes: 25 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# License

Copyright (C) Corsinvest Srl

This software is available under two different licenses:

* GNU General Public License version 3 (GPLv3)
* Corsinvest Enterprise License (CEL)

The default license, without a valid Corsinvest Enterprise License (CEL) agreement, is the Open-Source GPLv3 license.

## GNU General Public License version 3 (GPLv3)

If you decide to choose the GPLv3 license, you must comply with the following terms:
[GPLv3](gpl-3.0.txt)

## Corsinvest Enterprise License (CEL)

Alternatively, commercial and supported versions of the program - also known as Enterprise Distributions - must be used in accordance with the terms and conditions contained in a separate written agreement between you and Corsinvest Srl. For more information about the Corsinvest Enterprise License (CEL) please visit [site](https://www.corsinvest.it/open-source#license)

Please see also (files in this directory):

[GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - gpl-3.0.txt](gpl-3.0.txt)

[Libraries used including their own licenses - 3rd-party-licenses.md](3rd-party-licenses.md)
35 changes: 17 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
# cv4pve-autosnap

[![License](https://img.shields.io/github/license/Corsinvest/cv4pve-autosnap.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![Gitter](https://badges.gitter.im/Corsinvest/cv4pve-autosnap.svg)](https://gitter.im/Corsinvest/cv4pve-autosnap)
[![Release](https://img.shields.io/github/release/Corsinvest/cv4pve-autosnap.svg)](https://github.com/Corsinvest/cv4pve-autosnap/releases/latest)
![GitHub All Releases](https://img.shields.io/github/downloads/Corsinvest/cv4pve-autosnap/total.svg) [![Donate to this project using Paypal](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=PPM9JHLQLRV2S&item_name=Open+Source+Project&currency_code=EUR&source=url)
[![License](https://img.shields.io/github/license/Corsinvest/cv4pve-autosnap.svg)](LICENSE.md) [![Release](https://img.shields.io/github/release/Corsinvest/cv4pve-autosnap.svg)](https://github.com/Corsinvest/cv4pve-autosnap/releases/latest) ![GitHub All Releases](https://img.shields.io/github/downloads/Corsinvest/cv4pve-autosnap/total.svg)

Proxmox VE automatic snapshot tool

Expand All @@ -13,12 +10,6 @@ Proxmox VE automatic snapshot tool

## The old bash version inside Proxmox VE is no longer supported because the Proxmox VE developers continue to change output. The risk of incompatibility is high. With the new version that uses native APIs, the problem no longer exists

# **Donations**

If you like my work and want to support it, then please consider to deposit a donation through **Paypal** by clicking on the next button:

[![paypal](https://www.paypalobjects.com/en_US/IT/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=PPM9JHLQLRV2S&item_name=Open+Source+Project&currency_code=EUR&source=url)

```text
______ _ __
/ ____/___ __________(_)___ _ _____ _____/ /_
Expand All @@ -28,15 +19,14 @@ If you like my work and want to support it, then please consider to deposit a do
Corsinvest for Proxmox VE Auto Snapshot (Made in Italy)
Automatic snapshot with retention
Usage: cv4pve-autosnap [options] [command]
Options:
-?|-h|--help Show help information
--host The host name host[:port]
--username User name <username>@<realm>
--password The password. Specify 'file:path_file' to store password in file.
--version Show version information
--vmid The id or name VM/CT comma separated (eg. 100,101,102,TestDebian)
-vmid or -name exclude (e.g. -200, -TestUbuntu),
'all-???' for all VM/CT in specific host (e.g. all-pve1, all-\$(hostname)),
Expand All @@ -48,10 +38,17 @@ Commands:
status Get list of all auto snapshots
Run 'cv4pve-autosnap [command] --help' for more information about a command.
Report bugs to <[email protected]>
```

## Copyright and License

Copyright: Corsinvest Srl
For licensing details please visit [LICENSE.md](LICENSE.md)

## Commercial Support

This software is part of a suite of tools called cv4pve-tools. If you want commercial support, visit the [site](https://www.corsinvest.it/cv4pve-tools)

## Introduction

Automatic snapshot for Proxmox VE with retention.
Expand All @@ -71,10 +68,10 @@ For the planning process using an external machine:

## Main features

* Completely rewritten in C#
* Use native api REST Proxmox VE (library C#)
* Completely written in C#
* Use native Api REST Proxmox VE (library C#)
* Independent os (Windows, Linux, Macosx)
* Installation unzip file extract binary
* Installation rapid, unzip file extract binary
* Not require installation in Proxmox VE
* Execute out side Proxmox VE
* For KVM and LXC
Expand All @@ -84,11 +81,12 @@ For the planning process using an external machine:
* Clean all snapshots
* Multiple schedule VM/CT using --label (es. daily,monthly)
* Hook script
* Multiple VM/CT (100,102,ubuvm,debvm,pipperovm,fagianovm or all) in a single execution
* Multiple VM/CT (100,102,ubuVm,debVm,pipperoVm,fagianoVm or all) in a single execution
* Exclusion specific VM/CT using minus e.g --vmid=all,-100
* Exclusion template from snapshot
* Waiting for the snapshot process to finish
* Alerting in QEMU, agent not enabled.
* Save memory VM Qemu in snap using parameter --state.

## Configuration and use

Expand Down Expand Up @@ -117,6 +115,7 @@ root@debian:~# cv4pve-autosnap --host=192.168.0.100 --username=root@pam --passwo
This command snap all VMs except 111.

The --keep tells that it should be kept 2 snapshots, if there are more than 2 snapshots, the 3 one will be erased (sorted by creation time).
The --state save memory VM.

## Clean a VM/CT one time

Expand Down
File renamed without changes.
9 changes: 9 additions & 0 deletions script-hook.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
@ECHO OFF
REM This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
REm
REM This source file is available under two different licenses:
REM - GNU General Public License version 3 (GPLv3)
REM - Corsinvest Enterprise License (CEL)
REM Full copyright and license information is available in
REM LICENSE.md which is distributed with this source code.
REM
REM Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL

REM Corsinvest automatic snapshot for Proxmox VE cv4pve-autosnap hook script.
REM Process environment variables as received from and set by cv4pve-autosnap.
Expand Down
9 changes: 9 additions & 0 deletions script-hook.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
#!/bin/bash
# This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
#
# This source file is available under two different licenses:
# - GNU General Public License version 3 (GPLv3)
# - Corsinvest Enterprise License (CEL)
# Full copyright and license information is available in
# LICENSE.md which is distributed with this source code.
#
# Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL

# Corsinvest automatic snapshot for Proxmox VE cv4pve-autosnap hook script.
# Process environment variables as received from and set by cv4pve-autosnap.
Expand Down
18 changes: 6 additions & 12 deletions src/Corsinvest.ProxmoxVE.AutoSnap/Commands.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
/*
* This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
* Copyright (C) 2016 Corsinvest Srl
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Corsinvest Enterprise License (CEL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL
*/

using System;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<Version>1.3.0</Version>
<Version>1.4.0</Version>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AssemblyName>cv4pve-autosnap</AssemblyName>
<Company>Corsinvest Srl</Company>
Expand All @@ -16,9 +16,7 @@
<!-- Fix RedHat, Centos,Fedora -->
<RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />

<!--
<ProjectReference Include="..\..\..\..\cv4pve-api-dotnet\src\Corsinvest.ProxmoxVE.Api.Extension\Corsinvest.ProxmoxVE.Api.Extension.csproj" />
-->
<!-- <ProjectReference Include="..\..\..\cv4pve-api-dotnet\src\Corsinvest.ProxmoxVE.Api.Extension\Corsinvest.ProxmoxVE.Api.Extension.csproj" /> -->
<PackageReference Include="Corsinvest.ProxmoxVE.Api.Extension" Version="2.0.0" />
</ItemGroup>
</Project>
20 changes: 7 additions & 13 deletions src/Corsinvest.ProxmoxVE.AutoSnap/OutputType.cs
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
/*
* This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
* Copyright (C) 2016 Corsinvest Srl
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Corsinvest Enterprise License (CEL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL
*/

namespace Corsinvest.ProxmoxVE.AutoSnap
{
/// <summary>
Expand Down
20 changes: 7 additions & 13 deletions src/Corsinvest.ProxmoxVE.AutoSnap/Program.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
/*
* This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
* Copyright (C) 2016 Corsinvest Srl
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Corsinvest Enterprise License (CEL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL
*/

using System;
Expand All @@ -23,7 +17,7 @@ namespace Corsinvest.ProxmoxVE.AutoSnap
{
class Program
{
public static int Main(string[] args)
static int Main(string[] args)
{
var app = ShellHelper.CreateConsoleApp(Commands.APPLICATION_NAME, "Automatic snapshot VM/CT with retention");
new ShellCommands(app);
Expand Down
22 changes: 8 additions & 14 deletions src/Corsinvest.ProxmoxVE.AutoSnap/ShellCommands.cs
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
/*
* This file is part of the cv4pve-autosnap https://github.com/Corsinvest/cv4pve-autosnap,
* Copyright (C) 2016 Corsinvest Srl
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Corsinvest Enterprise License (CEL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* Copyright (C) 2016 Corsinvest Srl GPLv3 and CEL
*/

using System;
Expand Down Expand Up @@ -70,7 +64,7 @@ private void App_PhaseEvent(object sender,

var ret = ShellHelper.Execute(_scriptHook,
true,
new Dictionary<string, string>()
new Dictionary<string, string>
{
{"CV4PVE_AUTOSNAP_PHASE", e.phase},
{"CV4PVE_AUTOSNAP_VMID", e.vm?.Id + ""},
Expand All @@ -88,7 +82,7 @@ private void App_PhaseEvent(object sender,

if (ret.ExitCode != 0)
{
e.stdOut.WriteLine($"Script resturn code: {ret.ExitCode}");
e.stdOut.WriteLine($"Script return code: {ret.ExitCode}");
}

if (!string.IsNullOrWhiteSpace(ret.StandardOutput))
Expand Down
Loading

0 comments on commit 614908d

Please sign in to comment.