mirror of https://github.com/portainer/portainer
commit
86addbdc9a
|
@ -1,2 +1,3 @@
|
||||||
*
|
*
|
||||||
!dist
|
!dist
|
||||||
|
!build
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
[](https://hub.docker.com/r/portainer/portainer/)
|
[](https://hub.docker.com/r/portainer/portainer/)
|
||||||
[](http://microbadger.com/images/portainer/portainer "Image size")
|
[](http://microbadger.com/images/portainer/portainer "Image size")
|
||||||
[](http://portainer.readthedocs.io/en/latest/?badge=stable)
|
[](http://portainer.readthedocs.io/en/latest/?badge=stable)
|
||||||
|
[]( https://g.codefresh.io/repositories/portainer/portainer/builds?filter=trigger:build;branch:develop;service:5922a08a3a1aab000116fcc6~portainer-ci)
|
||||||
[](https://gitter.im/portainer/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
[](https://gitter.im/portainer/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHXZJQNJQ36H6)
|
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHXZJQNJQ36H6)
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ type (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// APIVersion is the version number of the Portainer API.
|
// APIVersion is the version number of the Portainer API.
|
||||||
APIVersion = "1.13.0"
|
APIVersion = "1.13.1"
|
||||||
// DBVersion is the version number of the Portainer database.
|
// DBVersion is the version number of the Portainer database.
|
||||||
DBVersion = 2
|
DBVersion = 2
|
||||||
)
|
)
|
||||||
|
|
|
@ -631,4 +631,4 @@ angular.module('portainer', [
|
||||||
.constant('ENDPOINTS_ENDPOINT', 'api/endpoints')
|
.constant('ENDPOINTS_ENDPOINT', 'api/endpoints')
|
||||||
.constant('TEMPLATES_ENDPOINT', 'api/templates')
|
.constant('TEMPLATES_ENDPOINT', 'api/templates')
|
||||||
.constant('PAGINATION_MAX_ITEMS', 10)
|
.constant('PAGINATION_MAX_ITEMS', 10)
|
||||||
.constant('UI_VERSION', 'v1.13.0');
|
.constant('UI_VERSION', 'v1.13.1');
|
||||||
|
|
|
@ -176,12 +176,7 @@ function ($scope, $state, Service, ServiceHelper, Volume, Network, ImageHelper,
|
||||||
function prepareVolumes(config, input) {
|
function prepareVolumes(config, input) {
|
||||||
input.Volumes.forEach(function (volume) {
|
input.Volumes.forEach(function (volume) {
|
||||||
if (volume.Source && volume.Target) {
|
if (volume.Source && volume.Target) {
|
||||||
var mount = {};
|
config.TaskTemplate.ContainerSpec.Mounts.push(volume);
|
||||||
mount.Type = volume.Bind ? 'bind' : 'volume';
|
|
||||||
mount.ReadOnly = volume.ReadOnly ? true : false;
|
|
||||||
mount.Source = volume.Source;
|
|
||||||
mount.Target = volume.Target;
|
|
||||||
config.TaskTemplate.ContainerSpec.Mounts.push(mount);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
<td>State</td>
|
<td>State</td>
|
||||||
<td><span class="label label-{{ task.Status.State|taskstatusbadge }}">{{ task.Status.State }}</span></td>
|
<td><span class="label label-{{ task.Status.State|taskstatusbadge }}">{{ task.Status.State }}</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>State Message</td>
|
||||||
|
<td>{{ task.Status.Message }}</td>
|
||||||
|
</tr>
|
||||||
<tr ng-if="task.Status.Err">
|
<tr ng-if="task.Status.Err">
|
||||||
<td>Error message</td>
|
<td>Error message</td>
|
||||||
<td><code>{{ task.Status.Err }}</code></td>
|
<td><code>{{ task.Status.Err }}</code></td>
|
||||||
|
|
|
@ -250,7 +250,7 @@
|
||||||
<rd-widget-body classes="padding template-widget-body">
|
<rd-widget-body classes="padding template-widget-body">
|
||||||
<div class="template-list">
|
<div class="template-list">
|
||||||
<!-- template -->
|
<!-- template -->
|
||||||
<div dir-paginate="tpl in templates | filter:state.filters:true | itemsPerPage: state.pagination_count" class="template-container" id="template_{{ tpl.index }}" ng-click="selectTemplate(tpl.index, $index)">
|
<div ng-repeat="tpl in templates | filter:state.filters:true" class="template-container" id="template_{{ tpl.index }}" ng-click="selectTemplate(tpl.index, $index)">
|
||||||
<div class="template-main">
|
<div class="template-main">
|
||||||
<!-- template-image -->
|
<!-- template-image -->
|
||||||
<span class="">
|
<span class="">
|
||||||
|
@ -289,7 +289,7 @@
|
||||||
<div ng-if="!templates" class="text-center text-muted">
|
<div ng-if="!templates" class="text-center text-muted">
|
||||||
Loading...
|
Loading...
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="(templates | filter:state.filters:true | itemsPerPage: state.pagination_count).length == 0" class="text-center text-muted">
|
<div ng-if="(templates | filter:state.filters:true).length == 0" class="text-center text-muted">
|
||||||
No templates available.
|
No templates available.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,6 @@ function ($scope, $q, $state, $stateParams, $anchorScroll, $filter, Config, Cont
|
||||||
selectedTemplate: null,
|
selectedTemplate: null,
|
||||||
showAdvancedOptions: false,
|
showAdvancedOptions: false,
|
||||||
hideDescriptions: $stateParams.hide_descriptions,
|
hideDescriptions: $stateParams.hide_descriptions,
|
||||||
pagination_count: Pagination.getPaginationCount('templates'),
|
|
||||||
formValidationError: '',
|
formValidationError: '',
|
||||||
filters: {
|
filters: {
|
||||||
Categories: '!',
|
Categories: '!',
|
||||||
|
@ -18,10 +17,6 @@ function ($scope, $q, $state, $stateParams, $anchorScroll, $filter, Config, Cont
|
||||||
name: ''
|
name: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.changePaginationCount = function() {
|
|
||||||
Pagination.setPaginationCount('templates', $scope.state.pagination_count);
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.addVolume = function () {
|
$scope.addVolume = function () {
|
||||||
$scope.state.selectedTemplate.Volumes.push({ containerPath: '', name: '', readOnly: false, type: 'auto' });
|
$scope.state.selectedTemplate.Volumes.push({ containerPath: '', name: '', readOnly: false, type: 'auto' });
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "portainer",
|
"name": "portainer",
|
||||||
"version": "1.13.0",
|
"version": "1.13.1",
|
||||||
"homepage": "https://github.com/portainer/portainer",
|
"homepage": "https://github.com/portainer/portainer",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Anthony Lapenna <anthony.lapenna at gmail dot com>"
|
"Anthony Lapenna <anthony.lapenna at gmail dot com>"
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
version: '1.0'
|
||||||
|
steps:
|
||||||
|
|
||||||
|
build_backend:
|
||||||
|
image: portainer/golang-builder:ci
|
||||||
|
working_directory: ${{main_clone}}
|
||||||
|
commands:
|
||||||
|
- mkdir -p /go/src/github.com/${{CF_REPO_OWNER}}
|
||||||
|
- ln -s /codefresh/volume/${{CF_REPO_NAME}}/api /go/src/github.com/${{CF_REPO_OWNER}}/${{CF_REPO_NAME}}
|
||||||
|
- /build.sh api/cmd/portainer
|
||||||
|
|
||||||
|
build_frontend:
|
||||||
|
image: portainer/angular-builder:latest
|
||||||
|
working_directory: ${{build_backend}}
|
||||||
|
commands:
|
||||||
|
- npm install -g bower grunt grunt-cli && npm install
|
||||||
|
- bower install --allow-root
|
||||||
|
- grunt build-webapp
|
||||||
|
- mv api/cmd/portainer/portainer dist/
|
||||||
|
|
||||||
|
build_image:
|
||||||
|
type: build
|
||||||
|
working_directory: ${{build_frontend}}
|
||||||
|
dockerfile: ./build/linux/Dockerfile
|
||||||
|
image_name: portainer/portainer
|
||||||
|
tag: ${{CF_BRANCH}}
|
||||||
|
|
||||||
|
push_image:
|
||||||
|
type: push
|
||||||
|
candidate: '${{build_image}}'
|
||||||
|
tag: '${{CF_BRANCH}}'
|
||||||
|
registry: dockerhub
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
only:
|
||||||
|
- develop
|
|
@ -2,7 +2,7 @@
|
||||||
"author": "Portainer.io",
|
"author": "Portainer.io",
|
||||||
"name": "portainer",
|
"name": "portainer",
|
||||||
"homepage": "http://portainer.io",
|
"homepage": "http://portainer.io",
|
||||||
"version": "1.13.0",
|
"version": "1.13.1",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git@github.com:portainer/portainer.git"
|
"url": "git@github.com:portainer/portainer.git"
|
||||||
|
|
Loading…
Reference in New Issue