Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating users/amkawade/kubeapp with master #169

Merged
merged 31 commits into from
Jun 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
eb0a1b5
Bump lodash from 4.17.15 to 4.17.20 (#72)
dependabot[bot] Oct 12, 2020
0bba27e
Update README.md (#69)
raahmed Oct 20, 2020
c0e50ee
Update README.md (#80)
Nov 3, 2020
2b6ed4a
Update README.md (#82)
aksm-ms Nov 10, 2020
cfa84e3
Fixed a small syntax error in the markdown 😊 (#84)
tevoinea Nov 17, 2020
fbf2c52
Update README.md (#87)
N-Usha Nov 18, 2020
4ac2c00
Make app-name and slot-name as lower case
asranja Dec 7, 2020
a2eeeef
Temp add node_modules
asranja Dec 7, 2020
f430327
audit fix
asranja Dec 7, 2020
f1454e6
update node version
asranja Dec 7, 2020
8d6aaf1
temp commit for test
asranja Dec 7, 2020
1695a77
revert temp commit
asranja Dec 7, 2020
224f145
remove node_modules
asranja Dec 7, 2020
2cfcb58
remove unnecessary file
asranja Dec 7, 2020
2e48ce3
Addressing comment
20shivangi Dec 8, 2020
8b0d752
Merge pull request #91 from Azure/users/asranja/sanitizeinputs
20shivangi Dec 8, 2020
1a466c4
Update issue templates
AmrutaKawade Dec 28, 2020
7e75a53
Updated Readme for webapps-deploy actions (#97)
zainuvk Dec 28, 2020
b062dd0
added logs for multicontainer support (#104)
aksm-ms Jan 13, 2021
db1eced
fix for duplicate duployment issue (#111)
AmrutaKawade Mar 9, 2021
89bdb91
Fix typo in error message (#116)
martincostello Mar 11, 2021
1ae8b44
Bump y18n from 4.0.0 to 4.0.1
dependabot[bot] Apr 1, 2021
71882b8
Creating a workflow to label stale issues and PRs
kaverma Apr 6, 2021
c31d74c
Update stale.yml
kaverma Apr 6, 2021
e809551
Update stale.yml
kaverma Apr 6, 2021
628b803
Updating trigger to run on a schedule only.
kaverma Apr 6, 2021
d557380
Merge pull request #123 from Azure/users/kaverma/stale
kaverma Apr 7, 2021
a98be40
Merge pull request #121 from Azure/dependabot/npm_and_yarn/y18n-4.0.1
kaverma Apr 7, 2021
f427bd4
Update and rename stale.yml to defaultLabels.yml (#153)
BALAGA-GAYATRI Jun 2, 2021
999b35c
Users/balaga gayatri/defaultlabels (#158)
BALAGA-GAYATRI Jun 3, 2021
d98547d
Merge branch 'users/amkawade/kubeapp' into master
BALAGA-GAYATRI Jun 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report---feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Bug Report / Feature Request
about: Create a report to help us improve
title: ''
labels: need-to-triage
assignees: ''

---


35 changes: 35 additions & 0 deletions .github/workflows/defaultLabels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: setting-default-labels

# Controls when the action will run.
on:
schedule:
- cron: "0 0/3 * * *"

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/stale@v3
name: Setting issue as idle
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is idle because it has been open for 14 days with no activity.'
stale-issue-label: 'idle'
days-before-stale: 14
days-before-close: -1
operations-per-run: 100
exempt-issue-labels: 'backlog'

- uses: actions/stale@v3
name: Setting PR as idle
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR is idle because it has been open for 14 days with no activity.'
stale-pr-label: 'idle'
days-before-stale: 14
days-before-close: -1
operations-per-run: 100
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ NOTE: you must have write permissions to the repository in question. If you're u
* Authenticate using [Azure Web App Publish Profile](https://github.com/projectkudu/kudu/wiki/Deployment-credentials#site-credentials-aka-publish-profile-credentials) or using the [Azure Login Action](https://github.com/Azure/login). Examples of both are given later in this article.

The action supports using publish profile for [Azure Web Apps](https://azure.microsoft.com/services/app-service/web/) (both Windows and Linux) and [Azure Web Apps for Containers](https://azure.microsoft.com/services/app-service/containers/) (Linux only).

**Note: As of October 2020, Linux web apps will need the app setting `WEBSITE_WEBDEPLOY_USE_SCM` set to `true` before downloading the publish profile from the portal. This requirement will be removed in the future.**

The action does not support multi-container scenario with publish profile.

Expand All @@ -41,6 +43,7 @@ Note: Workflow samples with sample application code and deployment procedure for

For example, if You want to deploy a Java WAR based app, You can follow the link https://github.com/Azure-Samples/Java-application-petstore-ee7 in the sample workflow templates.

0. Review the pre-requisites outlined in the ["Dependencies on Other Github Actions"](https://github.com/Azure/webapps-deploy#dependencies-on-other-github-actions) section above.
1. Create a web app in Azure using app service. Follow the tutorial [Azure Web Apps Quickstart](https://docs.microsoft.com/azure/app-service/overview#next-steps).
2. Pick a template from the following table depends on your Azure web app **runtime** and place the template to `.github/workflows/` in your project repository.
3. Change `app-name` to your Web app name created in the first step.
Expand All @@ -53,6 +56,7 @@ For example, if You want to deploy a Java WAR based app, You can follow the link
| Java | [java_jar.yml](https://github.com/Azure/actions-workflow-samples/tree/master/AppService/java-jar-webapp-on-azure.yml) |
| Java | [java_war.yml](https://github.com/Azure/actions-workflow-samples/tree/master/AppService/java-war-webapp-on-azure.yml) |
| Python | [python.yml](https://github.com/Azure/actions-workflow-samples/tree/master/AppService/python-webapp-on-azure.yml) |
| PHP | [php.yml](https://github.com/Azure/actions-workflow-samples/blob/master/AppService/php-webapp-on-azure.yml)
| DOCKER | [docker.yml](https://github.com/Azure/actions-workflow-samples/blob/master/AppService/docker-webapp-container-on-azure.yml) |

### Sample workflow to build and deploy a Node.js Web app to Azure using publish profile
Expand Down Expand Up @@ -119,6 +123,7 @@ jobs:
publish-profile: ${{ secrets.azureWebAppPublishProfile }}
images: 'contoso.azurecr.io/nodejssampleapp:${{ github.sha }}'
```
Webapps deploy Actions is supported for the Azure public cloud as well as Azure government clouds ('AzureUSGovernment' or 'AzureChinaCloud') and Azure Stack ('AzureStack') Hub. Before running this action, login to the respective Azure Cloud using [Azure Login](https://github.com/Azure/login) by setting appropriate value for the `environment` parameter.

#### Configure deployment credentials:

Expand All @@ -128,6 +133,7 @@ The above example uses app-level credentials i.e., publish profile file for depl

Follow the steps to configure the secret:

* **Note: As of October 2020, Linux web apps will need the app setting `WEBSITE_WEBDEPLOY_USE_SCM` set to `true` before continuing with next step of downloading the publish profile. This requirement will be removed in the future.**
* Download the publish profile for the WebApp from the portal (Get Publish profile option)
* While deploying to slot, download the publish profile for slot. Also specify the `slot-name` field with the name of the slot.
* Define a new secret under your repository settings, Add secret menu
Expand Down
4 changes: 2 additions & 2 deletions lib/ActionInputValidator/ActionValidators/IValidator.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class PublishProfileWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile, true);
Validations_1.validateAppDetails();
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
yield Validations_1.validatePackageInput();
});
}
}
exports.PublishProfileWebAppValidator = PublishProfileWebAppValidator;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class PublishProfileWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile, true);
Validations_1.validateAppDetails();
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
yield Validations_1.validatePackageInput();
});
}
}
exports.PublishProfileWebAppValidator = PublishProfileWebAppValidator;
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnLinuxContainerWebAppValidator {
validate() {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.packageNotAllowed(actionParams.packageInput);
Validations_1.validateContainerInputs();
}
}
exports.SpnLinuxContainerWebAppValidator = SpnLinuxContainerWebAppValidator;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnLinuxContainerWebAppValidator {
validate() {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.packageNotAllowed(actionParams.packageInput);
Validations_1.validateContainerInputs();
}
}
exports.SpnLinuxContainerWebAppValidator = SpnLinuxContainerWebAppValidator;
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnLinuxWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile);
yield Validations_1.validatePackageInput();
});
}
}
exports.SpnLinuxWebAppValidator = SpnLinuxWebAppValidator;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnLinuxWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile);
yield Validations_1.validatePackageInput();
});
}
}
exports.SpnLinuxWebAppValidator = SpnLinuxWebAppValidator;
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnWindowsContainerWebAppValidator {
validate() {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.packageNotAllowed(actionParams.packageInput);
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
Validations_1.multiContainerNotAllowed(actionParams.multiContainerConfigFile);
Validations_1.validateContainerInputs();
}
}
exports.SpnWindowsContainerWebAppValidator = SpnWindowsContainerWebAppValidator;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnWindowsContainerWebAppValidator {
validate() {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.packageNotAllowed(actionParams.packageInput);
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
Validations_1.multiContainerNotAllowed(actionParams.multiContainerConfigFile);
Validations_1.validateContainerInputs();
}
}
exports.SpnWindowsContainerWebAppValidator = SpnWindowsContainerWebAppValidator;
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnWindowsWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile);
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
yield Validations_1.validatePackageInput();
});
}
}
exports.SpnWindowsWebAppValidator = SpnWindowsWebAppValidator;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const Validations_1 = require("../Validations");
const actionparameters_1 = require("../../actionparameters");
class SpnWindowsWebAppValidator {
validate() {
return __awaiter(this, void 0, void 0, function* () {
let actionParams = actionparameters_1.ActionParameters.getActionParams();
Validations_1.containerInputsNotAllowed(actionParams.images, actionParams.multiContainerConfigFile);
Validations_1.startupCommandNotAllowed(actionParams.startupCommand);
yield Validations_1.validatePackageInput();
});
}
}
exports.SpnWindowsWebAppValidator = SpnWindowsWebAppValidator;
Loading