diff --git a/app/applications-tab/index/route.js b/app/applications-tab/index/route.js
index 57b871e4d..7cbb9f2a2 100644
--- a/app/applications-tab/index/route.js
+++ b/app/applications-tab/index/route.js
@@ -1,7 +1,15 @@
import Ember from 'ember';
+import C from 'ui/utils/constants';
export default Ember.Route.extend({
redirect: function() {
- this.transitionTo('environments');
+ if ( window.lc('authenticated').get('hasKubernetes') )
+ {
+ this.transitionTo('environments', {queryParams: {which: C.EXTERNALID.KIND_NOT_KUBERNETES}});
+ }
+ else
+ {
+ this.transitionTo('environments');
+ }
}
});
diff --git a/app/components/k8s/pod-section/template.hbs b/app/components/k8s/pod-section/template.hbs
index 82b497d52..262782cc9 100644
--- a/app/components/k8s/pod-section/template.hbs
+++ b/app/components/k8s/pod-section/template.hbs
@@ -3,10 +3,10 @@
| Pod Name |
- Status |
- Containers |
- Host IP |
- Pod IP |
+ Status |
+ Containers |
+ Host IP |
+ Pod IP |
|
diff --git a/app/components/modal-shell/component.js b/app/components/modal-shell/component.js
index 802b2d92f..9775999ea 100644
--- a/app/components/modal-shell/component.js
+++ b/app/components/modal-shell/component.js
@@ -53,8 +53,8 @@ export default Ember.Component.extend({
this.set('status','Initializing...');
var term = new Terminal({
- cols: 80,
- rows: 24,
+ cols: 120,
+ rows: 30,
useStyle: true,
screenKeys: true,
cursorBlink: false
diff --git a/app/components/page-header/template.hbs b/app/components/page-header/template.hbs
index be627fdf6..ef5eed1ec 100644
--- a/app/components/page-header/template.hbs
+++ b/app/components/page-header/template.hbs
@@ -5,7 +5,7 @@
{{#if (or isKubernetesTab hasKubernetes)}}
{{#link-to "k8s-tab" projectId id="k8s-tab"}}Kubernetes{{/link-to}}
{{/if}}
- {{#link-to "applications-tab" projectId id="applications-tab"}}Applications{{/link-to}}
+ {{#link-to "applications-tab" projectId id="applications-tab"}}{{if hasKubernetes 'System' 'Applications'}}{{/link-to}}
{{#link-to "infrastructure-tab" projectId id="infrastructure-tab"}}Infrastructure{{/link-to}}
{{#if isAdmin}}
@@ -130,13 +130,27 @@
{{#if k8s.namespaces.length}}
{{#each k8s.namespaces as |ns|}}
-
-
-
-
- {{ns.displayName}}
-
-
+ {{#unless ns.isSystem}}
+
+
+
+
+ {{ns.displayName}}
+
+
+ {{/unless}}
+ {{/each}}
+
+ {{#each k8s.namespaces as |ns|}}
+ {{#if ns.isSystem}}
+
+
+
+
+ {{ns.displayName}}
+
+
+ {{/if}}
{{/each}}
{{/if}}
diff --git a/app/components/project-row/template.hbs b/app/components/project-row/template.hbs
index 27b980099..3b65223a7 100644
--- a/app/components/project-row/template.hbs
+++ b/app/components/project-row/template.hbs
@@ -8,7 +8,7 @@
{{#if model.description}}{{model.description}}{{else}}No description{{/if}}
- {{model.displayOrchestration}}
+ {{model.displayClustering}}
|
{{#if model.isDefault}}{{else}}–{{/if}}
diff --git a/app/components/view-edit-project/template.hbs b/app/components/view-edit-project/template.hbs
index b3b6c879d..3ba4e8166 100644
--- a/app/components/view-edit-project/template.hbs
+++ b/app/components/view-edit-project/template.hbs
@@ -22,6 +22,7 @@
{{#if showEdit}}
+
{{#each orchestrationChoices as |driver|}}
diff --git a/app/environments/index/controller.js b/app/environments/index/controller.js
index 9c3ac3048..a9bf37c55 100644
--- a/app/environments/index/controller.js
+++ b/app/environments/index/controller.js
@@ -28,6 +28,9 @@ export default Ember.Controller.extend(Sortable, {
},
setup: function() {
+ // Need this to setup the observer for filteredStacks
+ this.get('which');
+
var sort = this.get(`prefs.${C.PREFS.SORT_STACKS_BY}`);
if (sort && sort !== this.get('sortBy')) {
this.set('sortBy', sort);
@@ -42,11 +45,17 @@ export default Ember.Controller.extend(Sortable, {
{
return all;
}
+ else if ( which === C.EXTERNALID.KIND_NOT_KUBERNETES )
+ {
+ return all.filter((obj) => {
+ return obj.get('grouping') !== C.EXTERNALID.KIND_KUBERNETES;
+ });
+ }
else
{
return all.filterBy('grouping', which);
}
- }.property('model.[]','which'),
+ }.property('model.[]','model.@each.grouping','which'),
sortBy: 'state',
diff --git a/app/k8s-tab/namespaces/index/template.hbs b/app/k8s-tab/namespaces/index/template.hbs
index ebc00b0c1..799848fa2 100644
--- a/app/k8s-tab/namespaces/index/template.hbs
+++ b/app/k8s-tab/namespaces/index/template.hbs
@@ -14,7 +14,9 @@
{{#each arranged as |ns|}}
- {{k8s/ns-row model=ns}}
+ {{#unless ns.isSystem}}
+ {{k8s/ns-row model=ns}}
+ {{/unless}}
{{else}}
| You do not have any Namespaces yet. |
{{/each}}
diff --git a/app/models/k8s-namespace.js b/app/models/k8s-namespace.js
index 8e3d68dbe..4a092d43e 100644
--- a/app/models/k8s-namespace.js
+++ b/app/models/k8s-namespace.js
@@ -1,5 +1,18 @@
import K8sResource from 'ui/models/k8s-resource';
-var Namespace = K8sResource.extend();
+var Namespace = K8sResource.extend({
+ isSystem: Ember.computed.equal('id','kube-system'),
+
+ icon: function() {
+ if ( this.get('isSystem') )
+ {
+ return 'icon icon-gear';
+ }
+ else
+ {
+ return 'icon icon-folder';
+ }
+ }.property('isSystem'),
+});
export default Namespace;
diff --git a/app/models/project.js b/app/models/project.js
index c7cbb2f48..18616f8eb 100644
--- a/app/models/project.js
+++ b/app/models/project.js
@@ -118,7 +118,7 @@ var Project = Resource.extend(PolledResource, {
return this.get('state') === 'active' && !this.get('isDefault');
}.property('state','isDefault'),
- displayOrchestration: function() {
+ displayClustering: function() {
if ( this.get('kubernetes') )
{
return 'Kubernetes';
@@ -129,7 +129,7 @@ var Project = Resource.extend(PolledResource, {
}
else
{
- return 'Corral';
+ return 'Cattle';
}
}.property('kubernetes','swarm'),
});
diff --git a/app/services/k8s.js b/app/services/k8s.js
index 63774c9ca..84130aca3 100644
--- a/app/services/k8s.js
+++ b/app/services/k8s.js
@@ -459,7 +459,32 @@ export default Ember.Service.extend({
});
},
- allNamespaces() { return this._allCollection('namespace','namespaces'); },
+ allNamespaces() {
+ var store = this.get('store');
+ var type = `${C.K8S.TYPE_PREFIX}namespace`;
+ var name = 'kube-system';
+
+ return this._allCollection('namespace','namespaces').then((namespaces) => {
+ // kube-system is special and doesn't feel like it needs to come back in a list...
+ if ( !store.getById(type,name) )
+ {
+ store._add(type, store.createRecord({
+ apiVersion: 'v1',
+ type: type,
+ id: name,
+ metadata: {
+ name: name,
+ },
+ kind: 'Namespace',
+ spec: {},
+ }));
+
+ }
+
+ return namespaces;
+ });
+ },
+
getNamespaces() { return this._getCollection('namespace','namespaces'); },
getNamespace(name) {
return this._find(`${C.K8S.TYPE_PREFIX}namespace`, name , {
diff --git a/app/settings/projects/index/controller.js b/app/settings/projects/index/controller.js
index 71b1c82b5..1c0a459c8 100644
--- a/app/settings/projects/index/controller.js
+++ b/app/settings/projects/index/controller.js
@@ -7,7 +7,7 @@ export default Ember.Controller.extend(Sortable, {
state: ['stateSort','name','id'],
name: ['name','id'],
description: ['description','name','id'],
- orchestration:['displayOrchestration','name','id'],
+ clustering: ['displayClustering','name','id'],
},
access: Ember.inject.service(),
diff --git a/app/settings/projects/index/template.hbs b/app/settings/projects/index/template.hbs
index 90529a013..d89b17f1c 100644
--- a/app/settings/projects/index/template.hbs
+++ b/app/settings/projects/index/template.hbs
@@ -21,7 +21,7 @@
{{sortable-th sortable=this action="changeSort" name="state" width="125"}}
{{sortable-th sortable=this action="changeSort" name="name"}}
{{sortable-th sortable=this action="changeSort" name="description"}}
- {{sortable-th sortable=this action="changeSort" name="orchestration"}}
+ {{sortable-th sortable=this action="changeSort" name="clustering"}}
Default |
|
diff --git a/app/templates/tabs/applications-tab.hbs b/app/templates/tabs/applications-tab.hbs
index f78b00df8..05ebec83a 100644
--- a/app/templates/tabs/applications-tab.hbs
+++ b/app/templates/tabs/applications-tab.hbs
@@ -1,5 +1,9 @@
-{{#link-to "environments" (query-params which="user")}} Stacks{{/link-to}}
-{{#if hasSystem}}
- {{#link-to "environments" (query-params which="system")}}System{{/link-to}}
+{{#if hasKubernetes}}
+ {{#link-to "environments" (query-params which="not-kubernetes")}}Stacks{{/link-to}}
+{{else}}
+ {{#link-to "environments" (query-params which="user")}} Stacks{{/link-to}}
+ {{#if hasSystem}}
+ {{#link-to "environments" (query-params which="system")}}System{{/link-to}}
+ {{/if}}
{{/if}}
{{#link-to "applications-tab.catalog"}} Catalog{{/link-to}}
diff --git a/app/utils/constants.js b/app/utils/constants.js
index 40a7e5259..2fa661330 100644
--- a/app/utils/constants.js
+++ b/app/utils/constants.js
@@ -3,6 +3,7 @@ const KIND_CATALOG = 'catalog';
const KIND_SYSTEM = 'system';
const KIND_SYSTEM_CATALOG = 'system-catalog';
const KIND_KUBERNETES = 'kubernetes';
+const KIND_NOT_KUBERNETES = 'not-kubernetes';
var C = {
COOKIE: {
diff --git a/public/assets/images/logos/provider-orchestration.svg b/public/assets/images/logos/provider-orchestration.svg
index 2bbb36505..0d6add64b 100644
--- a/public/assets/images/logos/provider-orchestration.svg
+++ b/public/assets/images/logos/provider-orchestration.svg
@@ -1,104 +1,109 @@
-
|