3 | First, you'll need to get a GitHub Client ID. Follow these steps:
4 |
5 |
6 |
7 | Visit your enterprise GitHub site and go to Settings -> Developer settings -> OAuth Apps -> New OAuth App
8 |
9 |
10 | Set Homepage URL to: {{siteUrl}}
11 |
12 |
13 | Set Authorization callback URL to: {{siteUrl}}_oauth/ghe
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true,
6 | "jquery": true
7 | },
8 | "extends": "eslint:recommended",
9 | "parserOptions": {
10 | "sourceType": "module",
11 | "ecmaVersion": 2018
12 | },
13 | "rules": {
14 | "indent": [
15 | "error",
16 | 4
17 | ],
18 | "linebreak-style": [
19 | "error",
20 | "unix"
21 | ],
22 | "quotes": [
23 | "error",
24 | "single"
25 | ],
26 | "semi": [
27 | "error",
28 | "always"
29 | ]
30 | }
31 | }
--------------------------------------------------------------------------------
/.meteor/.finished-upgraders:
--------------------------------------------------------------------------------
1 | # This file contains information which helps Meteor properly upgrade your
2 | # app when you run 'meteor update'. You should check it into version control
3 | # with your project.
4 |
5 | notices-for-0.9.0
6 | notices-for-0.9.1
7 | 0.9.4-platform-file
8 | notices-for-facebook-graph-api-2
9 | 1.2.0-standard-minifiers-package
10 | 1.2.0-meteor-platform-split
11 | 1.2.0-cordova-changes
12 | 1.2.0-breaking-changes
13 | 1.3.0-split-minifiers-package
14 | 1.4.0-remove-old-dev-bundle-link
15 | 1.4.1-add-shell-server-package
16 | 1.4.3-split-account-service-packages
17 | 1.5-add-dynamic-import-package
18 | 1.7-split-underscore-from-meteor-base
19 | 1.8.3-split-jquery-from-blaze
20 |
--------------------------------------------------------------------------------
/client/main.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | @import "{}/imports/ui/style/main.scss";
17 |
--------------------------------------------------------------------------------
/imports/ui/components/loading/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './component.html';
18 |
--------------------------------------------------------------------------------
/imports/ui/components/noClusters/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './component.html';
18 |
--------------------------------------------------------------------------------
/imports/ui/components/portlet/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './component.html';
18 |
--------------------------------------------------------------------------------
/imports/ui/pages/not-found/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './page.scss';
18 | import './page.html';
19 |
--------------------------------------------------------------------------------
/imports/ui/pages/not-found/page.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .not-found-image > img {
18 | width:200px;
19 | }
20 |
--------------------------------------------------------------------------------
/imports/startup/client/popper.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import Popper from 'popper.js';
18 | window.Popper = Popper;
19 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 30
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - bug
8 | - enhancement
9 | # Label to use when marking an issue as stale
10 | staleLabel: wontfix
11 | # Comment to post when marking an issue as stale. Set to `false` to disable
12 | markComment: >
13 | This issue has been automatically marked as stale because it has not had
14 | recent activity. It will be closed if no further activity occurs. Thank you
15 | for your contributions.
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: false
18 |
--------------------------------------------------------------------------------
/packages/ghe/ghe.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 |
3 | Accounts.oauth.registerService('ghe');
4 |
5 | if (Meteor.isClient) {
6 | Meteor.loginWithGhe = function(options, callback) {
7 | // support a callback without options
8 | if (!callback && typeof options === 'function') {
9 | callback = options;
10 | options = null;
11 | }
12 |
13 | const credentialRequestCompleteCallback = Accounts.oauth.credentialRequestCompleteHandler(callback);
14 | Ghe.requestCredential(options, credentialRequestCompleteCallback);
15 | };
16 | } else {
17 | Accounts.addAutopublishFields({
18 | forLoggedInUser: ['services.ghe'],
19 | forOtherUsers: ['services.ghe.username']
20 | });
21 | }
22 |
--------------------------------------------------------------------------------
/imports/ui/components/cluster/updaterMessages/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './component.scss';
18 | import './component.html';
19 |
--------------------------------------------------------------------------------
/imports/startup/client/main.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
{{formatData data}}
19 |
20 |
--------------------------------------------------------------------------------
/private/scripts/build_app.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ###
4 | # Copyright 2019 IBM Corp. All Rights Reserved.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | ##
18 |
19 | set -e
20 |
21 | cd /app
22 | cd /app/programs/server/
23 | npm install
24 | cd /app
--------------------------------------------------------------------------------
/packages/bitbucket/bitbucket_login_button.css:
--------------------------------------------------------------------------------
1 | #login-buttons-image-bitbucket {
2 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAtFBMVEUAAAABLVoAKVABL14AKlQCLFoBMWIAKGkAECkBMWIBLl0AGjQAI0MAAAABL14ALV0AIUQCMWQBMWIALVsAK1cBMGIAJkoAH0AALFgAKVEAAAAALFcAAAABMGEBL2AALV0AMGICM2UBMWICLlwAJk8AJEoAIkYAKVQCKVMBMWICLFoAKFACK1cAJFIBMWMBMWIAEhoCMGABMmMAJk8BNGgBN28BMWIBMmUBOXIBNWsBM2YBM2bFbbQdAAAANHRSTlMAhkLDY5P3AQP8sTMjCbadK57Qf2jkOxRIWAVwFd/XdWuc3JdSRj5favGLM4Ec8OwdrOE9iVbAlQAAAMxJREFUGNMdjFe2gzAMRAXYwKH3vJDe83qTLdv7X1jkjL7uPZqBBGDq6/ZwaNsgnD0Wla6C3X6/C7I4egeAD0PDegZI18vY1CxW1pEbt9tNTA7fWLwQolXGKIuIgkWjrUMK+i90qEMWiyN3xDU8a8TXgkVaWTv+aGoihV0JHKmQLrfh+m1VxpjwqlXxcBuNoiUj30V2pLXuTueZMYWFXOX5NOW5qD+fIonUXybl79FuSl9IoDfqGXPyk/xSZJqcczpqPHs5/4v7XYSl5wdfIBodShj2/wAAAABJRU5ErkJggg==);
3 | }
--------------------------------------------------------------------------------
/public/img/container-service-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/imports/ui/components/historyDropdown/component.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .dropdown-header i {
18 | position:absolute;
19 | left:9px;
20 | display:inline-block;
21 | }
22 |
--------------------------------------------------------------------------------
/client/main.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // Client entry point, imports all client code
18 |
19 | import '/imports/startup/client';
20 | import '/imports/startup/both';
21 | import 'bootstrap';
22 |
--------------------------------------------------------------------------------
/imports/ui/pages/org/page.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #editor {
18 | height: 500px;
19 | }
20 |
21 | .varNamesCard{
22 | tr:first-child td{
23 | border:none;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/imports/ui/pages/userprofile/page.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .refresh-btn{
18 | cursor:pointer;
19 | }
20 |
21 | .org-image {
22 | width: 25px;
23 | height: 25px;
24 | }
25 |
--------------------------------------------------------------------------------
/imports/ui/components/addCluster/component.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #add-cluster-modal {
18 | .copy-button {
19 | position: absolute;
20 | bottom: 0;
21 | right: 10px;
22 | }
23 | }
--------------------------------------------------------------------------------
/imports/ui/components/cluster/updaterMessages/component.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | td > pre {
18 | white-space: pre-wrap;
19 | word-wrap: break-word;
20 | }
21 |
22 | .message_cell {
23 | width: 90%;
24 | }
25 |
--------------------------------------------------------------------------------
/imports/ui/style/toastr.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #toast-container{
18 | pointer-events:none;
19 | }
20 | .toast{
21 | opacity:0.985 !important;
22 | margin:6px auto !important;
23 | pointer-events: all;
24 | }
25 |
--------------------------------------------------------------------------------
/imports/ui/components/kindIcon/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/imports/startup/both/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // Import modules used by both client and server through a single index entry point
18 | // e.g. useraccounts configuration file.
19 |
20 | require('moment-duration-format')(require('moment'));
21 |
--------------------------------------------------------------------------------
/imports/ui/layouts/body/footer.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/imports/ui/components/loading/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 | {{text}}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public/img/bitbucket.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/imports/ui/components/breadcrumbs/breadcrumbs.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | ol{
18 | background: transparent;
19 |
20 | li{
21 | display: inline-block;
22 |
23 | &:not(:first-of-type):before{
24 | content: ">";
25 | padding:0 5px;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/imports/api/org/orgs.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Orgs = new Mongo.Collection('orgs');
20 |
21 | Orgs.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/packages/ghe/ghe_login_button.css:
--------------------------------------------------------------------------------
1 | #login-buttons-image-ghe {
2 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wJGBYxHYxl31wAAAHpSURBVDjLpZI/aFNRFMZ/973bJqGRPopV4qNq/+SpTYnWRhCKilShg9BGcHOM+GfQoZuLk4iLgw4qZNBaHLuIdBNHl7Ta1qdNFI3SihnaNG1MpH3vuiQYQnwZvHCG893zffc751z4z6PX5T5gA1DAKnAaOAQEgAfAVeCpl+CeCrlRuEC6maO4h0A1wl4tPAHMqNUthvrDdHYY7A3t4rDVjeO6rBU2FaABM1WCrBNoi48Mi+nH9yj+KtPibAKwJXfQ5vcRG7soUnYmWEuQgAEIYBv4cGpoILI0Z4tyYYPegS6UguyijZQ6J45GSNmZHzUcJYD2ii2Ajv7efZ8WZ6ZwXFj79hXpayW4O0SL1Nl/8jzZlZ9dQLFS70pgvZKIyGD0yvu5eRmMnrk1PjI81ir1qBACTdPevXj95mVuNX8XKDQc/+T334bZZ104cvzYw2s3J3qAL5WXSsDbf61NNMBu+wOBs+VSyQ84Nfhg028ZGx3/qyy0lC7lgi7lghBitoon03lvB8l0/k7Wnk+8mny0cyXzEcfZxgwfZPTyRMHsOzAFXE9YhtNQIJnOx4FpJXT1eSkn2g0frqMoFrfoCXcqlCOAGwnLuO/l4JymcWl5uRxzXUKghBAiZ5r+WaV4lrCM555zqO+x2d0ftGmpiA/0k70AAAAASUVORK5CYII=);
3 | }
4 |
--------------------------------------------------------------------------------
/imports/ui/pages/clusters/page.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .clusterInfoDetails{
18 | font-size:70%;
19 | }
20 | .sortable-header {
21 | cursor: pointer;
22 | }
23 |
24 | .cluster_icon_row .fa {
25 | font-size: 1.5em;
26 | line-height: 1em;
27 | vertical-align: middle;
28 | }
29 |
--------------------------------------------------------------------------------
/imports/api/stat/stats.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Stats = new Mongo.Collection('resourceStats');
20 |
21 | Stats.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/resource/resources.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Resources = new Mongo.Collection('resources');
20 |
21 | Resources.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
--------------------------------------------------------------------------------
/imports/ui/pages/deployables/subscriptions/groupSelect.html:
--------------------------------------------------------------------------------
1 |
2 | {{#if groups}}
3 |
8 |
Please choose a cluster group
9 | {{else}}
10 |
11 |
17 |
18 | {{/if}}
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/private/scripts/clean-final.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ###
4 | # Copyright 2019 IBM Corp. All Rights Reserved.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | ##
18 |
19 | set -e
20 |
21 | npm cache clear --force
22 |
23 | rm -rf $METEORD_DIR/bin /usr/share/doc /usr/share/man /tmp/* /var/cache/apk/* \
24 | /usr/share/man /tmp/* /var/cache/apk/* /root/.npm /root/.node-gyp #/usr/lib/node_modules/npm
25 |
--------------------------------------------------------------------------------
/imports/api/cluster/clusters/clusters.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Clusters = new Mongo.Collection('clusters');
20 |
21 | Clusters.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/webhook/webhookLogs.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const WebhookLogs = new Mongo.Collection('webhookLogs');
20 |
21 | WebhookLogs.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/deployables/channels/channels.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Channels = new Mongo.Collection('channels');
20 |
21 | Channels.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | **Describe the bug**
8 | A clear and concise description of what the bug is.
9 |
10 | **To Reproduce**
11 | Steps to reproduce the behavior:
12 | 1. Go to '...'
13 | 2. Click on '....'
14 | 3. Scroll down to '....'
15 | 4. See error
16 |
17 | **Expected behavior**
18 | A clear and concise description of what you expected to happen.
19 |
20 | **Screenshots**
21 | If applicable, add screenshots to help explain your problem.
22 |
23 | **Desktop (please complete the following information):**
24 | - OS: [e.g. iOS]
25 | - Browser [e.g. chrome, safari]
26 | - Version [e.g. 22]
27 |
28 | **Smartphone (please complete the following information):**
29 | - Device: [e.g. iPhone6]
30 | - OS: [e.g. iOS8.1]
31 | - Browser [e.g. stock browser, safari]
32 | - Version [e.g. 22]
33 |
34 | **Additional context**
35 | Add any other context about the problem here.
36 |
--------------------------------------------------------------------------------
/imports/api/deployables/subscriptions/subscriptions.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const Subscriptions = new Mongo.Collection('subscriptions');
20 |
21 | Subscriptions.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/server/main.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // Server entry point, imports all server code
18 | import { Accounts } from 'meteor/accounts-base';
19 |
20 | if ( process.env.OAUTH_SECRET_KEY ) {
21 | Accounts.config({ oauthSecretKey: process.env.OAUTH_SECRET_KEY });
22 | }
23 |
24 | import '/imports/startup/server';
25 | import '/imports/startup/both';
26 |
--------------------------------------------------------------------------------
/imports/api/deployables/groups/groups.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 | // import { Meteor } from 'meteor/meteor';
19 |
20 | export const Groups = new Mongo.Collection('groups');
21 |
22 | Groups.deny({
23 | insert() { return true; },
24 | update() { return true; },
25 | remove() { return true; },
26 | });
27 |
--------------------------------------------------------------------------------
/imports/api/deployables/channels/deployableVersions.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const DeployableVersions = new Mongo.Collection('deployableVersions');
20 |
21 | DeployableVersions.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/resourceYamlHist/resourceYamlHist.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const ResourceYamlHist = new Mongo.Collection('resourceYamlHist');
20 |
21 | ResourceYamlHist.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/stat/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Meteor } from 'meteor/meteor';
18 | import { Stats } from '../stats.js';
19 | import { requireOrgAccess } from '/imports/api/org/utils.js';
20 |
21 | Meteor.publish('resourceStats', function(orgId){
22 | requireOrgAccess(orgId);
23 | return Stats.find({org_id: orgId});
24 | });
25 |
--------------------------------------------------------------------------------
/imports/api/externalApplications/externalApplications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Mongo } from 'meteor/mongo';
18 |
19 | export const ExternalApplications = new Mongo.Collection('externalApplications');
20 |
21 | ExternalApplications.deny({
22 | insert() { return true; },
23 | update() { return true; },
24 | remove() { return true; },
25 | });
26 |
--------------------------------------------------------------------------------
/imports/ui/components/commitLink/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | {{#if gitData}}
19 | {{gitData.text}}
20 | {{#unless hideIcon}}
21 |
22 | {{/unless}}
23 |
24 | {{/if}}
25 |
26 |
--------------------------------------------------------------------------------
/imports/ui/components/breadcrumbs/breadcrumbs.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | {{#if hasBreadcrumbs}}
19 |
20 | {{#each crumb in getBreadcrumbs}}
21 |
22 | {{/each}}
23 |
24 | {{/if}}
25 |
26 |
--------------------------------------------------------------------------------
/imports/api/lib/log.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | const winston = require('winston');
18 |
19 | const log = winston.createLogger({
20 | level: (process.env.LOG_LEVEL || 'info'),
21 | format: winston.format.json(),
22 | defaultMeta: { service: 'razeedash' },
23 | transports: [
24 | new winston.transports.Console(),
25 | ],
26 | });
27 |
28 | export default log;
29 |
--------------------------------------------------------------------------------
/private/scripts/run_app.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ###
4 | # Copyright 2019 IBM Corp. All Rights Reserved.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # http://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | ##
18 |
19 | set -e
20 |
21 | # Set a delay to wait to start meteor container
22 | if [[ $DELAY ]]; then
23 | echo "Delaying startup for $DELAY seconds"
24 | sleep $DELAY
25 | fi
26 |
27 | # Honour already existing PORT setup
28 | export PORT=${PORT:-3000}
29 | export NODE_ENV=production
30 | cd /app
31 |
32 | echo "=> Starting meteor app on port:$PORT"
33 | node main.js
34 |
--------------------------------------------------------------------------------
/packages/bitbucket/accounts-bitbucket.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 | // based off of https://github.com/meteor/meteor/blob/devel/packages/accounts-github/github.js
3 |
4 | Accounts.oauth.registerService('bitbucket');
5 |
6 | if (Meteor.isClient) {
7 | const loginWithBitbucket = (options, callback) => {
8 | // support a callback without options
9 | if (! callback && typeof options === 'function') {
10 | callback = options;
11 | options = null;
12 | }
13 |
14 | const credentialRequestCompleteCallback = Accounts.oauth.credentialRequestCompleteHandler(callback);
15 | Bitbucket.requestCredential(options, credentialRequestCompleteCallback);
16 | };
17 | Accounts.registerClientLoginFunction('bitbucket', loginWithBitbucket);
18 | Meteor.loginWithBitbucket = (...args) => Accounts.applyLoginFunction('bitbucket', args);
19 | } else {
20 | Accounts.addAutopublishFields({
21 | forLoggedInUser: ['services.bitbucket'],
22 | forOtherUsers: ['services.bitbucket.username']
23 | });
24 | }
25 |
--------------------------------------------------------------------------------
/imports/ui/components/kindIcon/component.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .kube-kind-icon {
18 | width: 2em;
19 | font-family: ibm-mono;
20 | }
21 |
22 | .kube-kind-icon::after {
23 | content: attr(shortTitle);
24 | }
25 |
26 | .kube-kind-icon:hover, .kube-kind-icon:active {
27 | width: 8.5em;
28 | transition: width 0.3s ease;
29 | }
30 |
31 | .kube-kind-icon:hover::after,.kube-kind-icon:active::after{
32 | content: attr(title);
33 | }
34 |
--------------------------------------------------------------------------------
/imports/api/deployables/groups/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { check } from 'meteor/check';
18 | import { Meteor } from 'meteor/meteor';
19 | import { Groups } from '../groups';
20 | import { requireOrgAccess } from '/imports/api/org/utils.js';
21 |
22 | Meteor.publish('groups', function(org_id) {
23 | check( org_id, String );
24 | requireOrgAccess(org_id);
25 | return Groups.find({ org_id: org_id }, {pollingIntervalMs: 1000});
26 | });
27 |
--------------------------------------------------------------------------------
/imports/ui/pages/not-found/page.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
29 |
30 |
--------------------------------------------------------------------------------
/imports/api/externalApplications/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { check } from 'meteor/check';
18 | import { Meteor } from 'meteor/meteor';
19 | import { ExternalApplications } from '../externalApplications.js';
20 | import { requireOrgAccess } from '/imports/api/org/utils.js';
21 |
22 | Meteor.publish('externalApplications', function(orgId) {
23 | check( orgId, String );
24 | requireOrgAccess(orgId);
25 | return ExternalApplications.find({ org_id: orgId });
26 | });
27 |
--------------------------------------------------------------------------------
/imports/api/message/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Meteor } from 'meteor/meteor';
18 | import { Messages } from '../messages.js';
19 | import { check } from 'meteor/check';
20 | import moment from 'moment';
21 |
22 | Meteor.publish('messages.byCluster', function(clusterId) {
23 | check( clusterId, String );
24 | return Messages.find({ cluster_id: clusterId, updated: { $gte: new moment().subtract(1, 'hour').toDate() } }, { limit: 100, sort: { updated: -1 } });
25 | });
26 |
--------------------------------------------------------------------------------
/imports/api/webhook/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { check } from 'meteor/check';
18 | import { Meteor } from 'meteor/meteor';
19 | import { WebhookLogs } from '../webhookLogs.js';
20 |
21 | Meteor.publish('webhook_log.mostRecentByClusterIdWebhookUrl', (clusterId, webhookId)=>{
22 | check( clusterId, String );
23 | check( webhookId, String );
24 | return WebhookLogs.find({ cluster_id: clusterId, webhook_id: webhookId }, { limit: 10, sort: { created: -1 } } );
25 | });
26 |
--------------------------------------------------------------------------------
/imports/ui/pages/razeeWelcome/page.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | .action-button {
18 | width: 65px;
19 | }
20 |
21 | .git-img {
22 | font-size: 1.2rem;
23 | }
24 |
25 | .refresh-btn{
26 | cursor:pointer;
27 | }
28 |
29 | .org-image {
30 | width: 25px;
31 | height: 25px;
32 | }
33 | .org-link:hover{
34 | text-decoration: none;
35 | }
36 | .img-thumbnail org-image my-1
37 |
38 | .grayscale{
39 | filter:grayscale(100%);
40 | }
41 |
42 | .modal-dialog, .modal-content {
43 | border-radius: 0%;
44 | }
45 |
--------------------------------------------------------------------------------
/imports/ui/components/noClusters/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
No data
21 |
22 |
23 |
No clusters were found in Razee. Go to the settings menu to add a cluster.
24 |
28 | );
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/imports/startup/client/toastr.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import toastr from 'toastr';
18 |
19 | toastr.options = {
20 | 'closeButton': true,
21 | 'debug': false,
22 | 'newestOnTop': true,
23 | 'progressBar': false,
24 | 'positionClass': 'toast-bottom-right',
25 | 'preventDuplicates': false,
26 | 'onclick': null,
27 | 'showDuration': '300',
28 | 'hideDuration': '1000',
29 | 'timeOut': '15000',
30 | 'extendedTimeOut': '1000',
31 | 'showEasing': 'swing',
32 | 'hideEasing': 'linear',
33 | 'showMethod': 'fadeIn',
34 | 'hideMethod': 'fadeOut'
35 | };
36 |
--------------------------------------------------------------------------------
/imports/ui/components/clustersByKubeVersion/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
53 |
54 |
--------------------------------------------------------------------------------
/packages/bitbucket/bitbucket_client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 | // based off of https://github.com/meteor/meteor/blob/devel/packages/github-oauth/github_client.js
3 |
4 | Bitbucket = {};
5 |
6 | // Request Bitbucket credentials for the user
7 | // @param options {optional} XXX support options.requestPermissions
8 | // @param credentialRequestCompleteCallback {Function} Callback function to call on
9 | // completion. Takes one argument, credentialToken on success, or Error on
10 | // error.
11 | Bitbucket.requestCredential = function (options, credentialRequestCompleteCallback) {
12 | // support both (options, callback) and (callback).
13 | if (!credentialRequestCompleteCallback && typeof options === 'function') {
14 | credentialRequestCompleteCallback = options;
15 | options = {};
16 | }
17 |
18 | var config = ServiceConfiguration.configurations.findOne({service: 'bitbucket'});
19 | if (!config) {
20 | credentialRequestCompleteCallback && credentialRequestCompleteCallback(new ServiceConfiguration.ConfigError('Service not configured'));
21 | return;
22 | }
23 |
24 | const credentialToken = Random.secret();
25 | const loginStyle = OAuth._loginStyle('bitbucket', config, options);
26 | const redirectUrl = Meteor.absoluteUrl('_oauth/bitbucket?close&state=' + credentialToken);
27 | const state = OAuth._stateParam(loginStyle, credentialToken, redirectUrl);
28 | const loginUrl = 'https://bitbucket.org/site/oauth2/authorize' +
29 | `?client_id=${config.consumerKey}` +
30 | '&response_type=code' +
31 | `&state=${state}`;
32 |
33 | OAuth.launchLogin({
34 | loginService: 'bitbucket',
35 | loginStyle,
36 | loginUrl,
37 | credentialRequestCompleteCallback,
38 | credentialToken,
39 | popupOptions: {width: 900, height: 450}
40 | });
41 |
42 | };
43 |
--------------------------------------------------------------------------------
/imports/api/deployables/subscriptions/server/publications.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { check } from 'meteor/check';
18 | import { Meteor } from 'meteor/meteor';
19 | import { Subscriptions } from '../subscriptions';
20 | import { requireOrgAccess } from '/imports/api/org/utils.js';
21 |
22 | Meteor.publish('subscriptions', function(orgId) {
23 | check( orgId, String );
24 | requireOrgAccess(orgId);
25 | return Subscriptions.find({ org_id: orgId }, {pollingIntervalMs: 1000});
26 | });
27 |
28 | Meteor.publish('subscriptions.byChannel', function(orgId, channelId) {
29 | check( orgId, String );
30 | check( channelId, String );
31 | requireOrgAccess(orgId);
32 | return Subscriptions.find({ org_id: orgId, channel_uuid: channelId }, {pollingIntervalMs: 1000});
33 | });
34 |
35 | Meteor.publish('subscriptions.byClusterGroup', function(orgId, name) {
36 | check( orgId, String );
37 | check( name, String );
38 | requireOrgAccess(orgId);
39 | return Subscriptions.find({ org_id: orgId, groups: {$in: [name]}}, {pollingIntervalMs: 1000});
40 | });
41 |
42 | Meteor.publish('users.byIds', function(userIds) {
43 | check( userIds, Array);
44 | return Meteor.users.find({ _id: {$in: userIds} }, { fields: { 'profile.name': true } }, {pollingIntervalMs: 1000});
45 | });
46 |
--------------------------------------------------------------------------------
/imports/startup/server/register-api.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import '../../api/resource/methods.js';
18 | import '../../api/resource/server/publications.js';
19 |
20 | import '../../api/cluster/clusters/methods.js';
21 | import '../../api/cluster/clusters/server/publications.js';
22 |
23 | import '../../api/webhook/server/publications.js';
24 |
25 | import '../../api/message/server/publications.js';
26 |
27 | import '../../api/org/server/publications.js';
28 | import '../../api/org/methods.js';
29 |
30 | import '../../api/stat/server/publications.js';
31 | import '../../api/stat/methods.js';
32 |
33 | import '../../api/user/server/publications.js';
34 | import '../../api/user/methods.js';
35 |
36 | import '../../api/resourceYamlHist/server/publications.js';
37 | import '../../api/resourceYamlHist/methods.js';
38 |
39 | import '../../api/externalApplications/server/publications.js';
40 | import '../../api/externalApplications/methods.js';
41 |
42 | import '../../api/deployables/channels/server/publications.js';
43 | import '../../api/deployables/channels/methods.js';
44 |
45 | import '../../api/deployables/subscriptions/server/publications.js';
46 | import '../../api/deployables/subscriptions/methods.js';
47 |
48 | import '../../api/deployables/groups/server/publications.js';
49 | import '../../api/deployables/groups/methods.js';
50 |
--------------------------------------------------------------------------------
/imports/ui/pages/deployables/subscriptions/helpModal.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Subscriptions help
7 |
10 |
11 |
12 |
Add a subscription
13 |
14 |
Name(required)
15 |
Add a name for the subscription.
16 |
17 |
Cluster groups(required)
18 |
Add one or more groups.
19 | Any cluster that has
20 | ClusterSubscription installed will get the
21 | resource applied to that cluster. If you registered a cluster using Razee then ClusterSubscription should already be on that cluster.
22 |
23 |
24 |
Version(required)
25 |
Select a version to associate with the subscription.
26 |
27 |
28 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/.meteor/packages:
--------------------------------------------------------------------------------
1 | # Meteor packages used by this project, one per line.
2 | # Check this file (and the other files in this directory) into your repository.
3 | #
4 | # 'meteor add' and 'meteor remove' will edit this file for you,
5 | # but you can also edit it by hand.
6 |
7 | razeeio:mongo-config
8 |
9 | meteor-base@1.4.0 # Packages every Meteor app needs to have
10 | mobile-experience@1.1.0 # Packages for a great mobile UX
11 | mongo@1.10.0 # The database Meteor supports right now
12 | blaze-html-templates # Compile .html files into Meteor Blaze views
13 | reactive-var@1.0.11 # Reactive variable for tracker
14 | tracker@1.2.0 # Meteor's client-side reactive programming library
15 |
16 | standard-minifier-js@2.6.0 # JS minifier run for production mode
17 | es5-shim@4.8.0 # ECMAScript 5 compatibility for older browsers
18 | ecmascript@0.14.3 # Enable ECMAScript2015+ syntax in app code
19 |
20 | kadira:flow-router # FlowRouter is a very simple router for Meteor
21 | kadira:blaze-layout # Layout manager for blaze (works well with FlowRouter)
22 |
23 | johanbrook:publication-collector # Test a Meteor publication by collecting its output
24 | nimble:restivus
25 | accounts-ui@1.3.1
26 | aldeed:collection2-core
27 | aldeed:schema-index
28 | fourseven:scss
29 | seba:minifiers-autoprefixer
30 | http@1.4.2
31 | ahref:flow-router-breadcrumb
32 | arillo:flow-router-helpers
33 | session@1.2.0
34 | underscore@1.0.10
35 | check@1.3.1
36 | oauth-encryption@1.3.1
37 | reactive-dict@1.3.0
38 | react-template-helper
39 | react-meteor-data
40 | dburles:factory
41 | xolvio:cleaner
42 | practicalmeteor:chai
43 | lmieulet:meteor-coverage@3.1.1
44 | meteortesting:mocha@1.1.1
45 | meteortesting:mocha-core@5.2.0_3
46 | gadicc:blaze-react-component
47 | accounts-github@1.4.3
48 | github-config-ui@1.0.1
49 | ibmcloud:accounts-ghe@3.0.0
50 | useraccounts:core
51 | useraccounts:unstyled
52 | service-configuration@1.0.11
53 | aldeed:template-extension
54 | email@1.2.3
55 | bitbucket
56 | jquery
57 |
--------------------------------------------------------------------------------
/imports/ui/components/historyDropdown/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import './component.html';
18 | import './component.scss';
19 | import { Template } from 'meteor/templating';
20 |
21 | Template.history_dropdown.onRendered(function() {
22 | $(function() {
23 | $('[data-toggle="tooltip"]').tooltip();
24 | });
25 | });
26 |
27 | Template.history_dropdown.helpers({
28 | getColoredIcon(s) {
29 | let total = s.hash.s.total;
30 |
31 | if (typeof total === 'number') {
32 | if (total <= 25) {
33 | return 'fa fa-thermometer-0 fa-lg';
34 | } else if (total > 25 && total <= 75) {
35 | return 'fa fa-thermometer-2 fa-lg';
36 | } else {
37 | return 'fa fa-thermometer-4 fa-lg';
38 | }
39 | }
40 | },
41 | getColorIndicator(s) {
42 | let total = s.hash.s.total;
43 |
44 | if (typeof total === 'number') {
45 | if (total <= 25) {
46 | return 'color:green;';
47 | } else if (total > 25 && total <= 75) {
48 | return 'color:orange;';
49 | } else {
50 | return 'color:red;';
51 | }
52 | }
53 | },
54 | resourcePathQueryObj(){
55 | return { selfLink: this.resource.selfLink };
56 | },
57 | timestampToDateObj(timestamp){
58 | return new Date(timestamp);
59 | },
60 | });
61 |
--------------------------------------------------------------------------------
/imports/ui/pages/deployables/versions/page.html:
--------------------------------------------------------------------------------
1 |
2 | {{#if Template.subscriptionsReady}}
3 |
4 |
All versions
5 |
6 |
38 |
39 |
40 | {{/if}}
41 |
42 |
--------------------------------------------------------------------------------
/packages/ghe/ghe_client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 |
3 | Ghe = {};
4 |
5 | // Request Github credentials for the user
6 | // @param options {optional}
7 | // @param credentialRequestCompleteCallback {Function} Callback function to call on
8 | // completion. Takes one argument, credentialToken on success, or Error on
9 | // error.
10 | Ghe.requestCredential = function(options, credentialRequestCompleteCallback) {
11 | // support both (options, callback) and (callback).
12 | if (!credentialRequestCompleteCallback && typeof options === 'function') {
13 | credentialRequestCompleteCallback = options;
14 | options = {};
15 | }
16 |
17 | const config = ServiceConfiguration.configurations.findOne({ service: 'ghe' });
18 | if (!config) {
19 | credentialRequestCompleteCallback && credentialRequestCompleteCallback(new ServiceConfiguration.ConfigError());
20 | return;
21 | }
22 | const credentialToken = Random.secret();
23 |
24 | const scope = (options && options.requestPermissions) || ['user:email'];
25 | const flatScope = _.map(scope, encodeURIComponent).join('+');
26 |
27 | const loginStyle = OAuth._loginStyle('ghe', config, options);
28 |
29 | let url = config.gheURL;
30 | const httpCheck = /^((http|https):\/\/)/;
31 | if(!httpCheck.test(config.gheURL)) {
32 | url = `https://${config.gheURL}`;
33 | }
34 |
35 | const trailingSlash = /\/*$/gi;
36 | const gheUrl = url.replace(trailingSlash, '');
37 |
38 | const loginUrl =
39 | gheUrl + '/login/oauth/authorize' +
40 | '?client_id=' + config.clientId +
41 | '&scope=' + flatScope +
42 | '&redirect_uri=' + OAuth._redirectUri('ghe', config) +
43 | '&state=' + OAuth._stateParam(loginStyle, credentialToken, options && options.redirectUrl);
44 |
45 | OAuth.launchLogin({
46 | loginService: 'ghe',
47 | loginStyle,
48 | loginUrl,
49 | credentialRequestCompleteCallback,
50 | credentialToken,
51 | popupOptions: {
52 | width: 900,
53 | height: 450
54 | }
55 | });
56 |
57 | };
58 |
--------------------------------------------------------------------------------
/imports/api/lib/login.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | import { Meteor } from 'meteor/meteor';
18 | import _ from 'lodash';
19 | import { AccountsTemplates } from 'meteor/useraccounts:core';
20 | import { ServiceConfiguration } from 'meteor/service-configuration';
21 |
22 | AccountsTemplates.configure({
23 | texts: {
24 | socialIcons: {
25 | 'ghe': 'fa fa-github'
26 | }
27 | },
28 | });
29 |
30 | const sanitizeUrl = (url) => {
31 |
32 | const httpCheck = /^((http|https):\/\/)/;
33 | if(!httpCheck.test(url)) {
34 | url = `https://${url}`;
35 | }
36 |
37 | const trailingSlash = /\/*$/gi;
38 | const newUrl = url.replace(trailingSlash, '');
39 |
40 | return newUrl;
41 | };
42 |
43 | // A user can logon via github, github enterprise, bitbucket or they can create a local id/password stored in mongo
44 | // `localUser` is used throughout our code so that we can skip calls to the github api for local users
45 | function localUser() {
46 | if( _.has(Meteor.user(), 'services.github') || _.has(Meteor.user(), 'services.ghe') || _.has(Meteor.user(), 'services.bitbucket') ) {
47 | return false;
48 | } else {
49 | return true;
50 | }
51 | }
52 |
53 | function loginType() {
54 | const service = getServiceConfiguration();
55 | return service;
56 | }
57 |
58 | function getServiceConfiguration() {
59 | const config = ServiceConfiguration.configurations.findOne({});
60 | return config ? config.service : undefined;
61 | }
62 |
63 | export { localUser, loginType, getServiceConfiguration, sanitizeUrl };
64 |
--------------------------------------------------------------------------------
/public/img/container-cluster.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
34 |
--------------------------------------------------------------------------------
/imports/ui/style/_fonts.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 IBM Corp. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | $font-path: '/fonts';
18 |
19 | @font-face {
20 | font-family: 'ibm-font';
21 | font-style: normal;
22 | font-weight: 300;
23 | src: url('#{$font-path}/IBMPlexSans-Light-V01.1.woff') format('woff');
24 | }
25 |
26 | @font-face {
27 | font-family: 'ibm-font';
28 | font-style: normal;
29 | font-weight: 400;
30 | src: url('#{$font-path}/IBMPlexSans-Regular-V01.1.woff') format('woff');
31 | }
32 |
33 | @font-face {
34 | font-family: 'ibm-font';
35 | font-style: normal;
36 | font-weight: 700;
37 | src: url('#{$font-path}/IBMPlexSans-Bold-V01.1.woff') format('woff');
38 | }
39 |
40 | @font-face {
41 | font-family: 'ibm-mono';
42 | font-style: normal;
43 | font-weight: 300;
44 | src: url('#{$font-path}/IBMPlexMono-Light-V01.woff') format('woff');
45 | }
46 |
47 | @font-face {
48 | font-family: 'ibm-mono';
49 | font-style: italic;
50 | font-weight: 300;
51 | src: url('#{$font-path}/IBMPlexMono-LightItalic-V01.woff') format('woff');
52 | }
53 |
54 | @font-face {
55 | font-family: 'ibm-mono';
56 | font-style: normal;
57 | font-weight: 400;
58 | src: url('https://1.www.s81c.com/common/fonts/plex/v1/ibmplexmono-regular.woff') format('woff');
59 | }
60 |
61 | @font-face {
62 | font-family: 'ibm-mono';
63 | font-style: italic;
64 | font-weight: 400;
65 | src: url('#{$font-path}/IBMPlexMono-ItalicV01.woff') format('woff');
66 | }
67 |
68 | @font-face {
69 | font-family: 'ibm-mono';
70 | font-style: normal;
71 | font-weight: 700;
72 | src: url('#{$font-path}/IBMPlexSans-Bold-V01.1.woff') format('woff');
73 | }
74 |
--------------------------------------------------------------------------------
/imports/ui/components/recentDeployments/component.html:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |